WSO2 App Factory is a shared, multi-tenanted, elastic, and self-service enterprise DevOps platform. It is designed for multiple project teams to collaboratively write applications and manage their life cycle stages in a shared, regulated, and controlled manner.
Why you need a controlled development infrastructure
An organization exposing its applications as APIs to external parties ideally want to control what kind of applications are developed using their APIs, and how. API providers want to control and monitor API usage for various reasons such as business, security, and monetization. Organizations also want their in-house development teams to follow a common set of standards and best practices when developing applications.
A collaborative development platform is the easiest way to impose rules and governance policies and to maintain control over all aspects of the software development life cycle. You can enforce developers to follow a uniform practice with defined coding guidelines, a standard set of libraries, and best practices, and ensure that a checklist of prerequisites is met before an application goes into production.
There are numerous drawbacks in not providing such a controlled infrastructure. For example, developers and QA might end up building and testing applications in environments that do not simulate a real production setting, resulting in issues that appear only when the application runs in production. Issues appearing in later stages of the lifecycle impose a greater cost of recovery. A controlled and managed software development infrastructure ensures early issue detection, cost savings, and faster go-to-market.
A controlled platform with WSO2 App Factory
WSO2 App Factory is equipped with a complete software development life cycle (SDLC) tool chain and Platform-as-a-Service (PaaS) capabilities that aim to address many aspects of the application management process such as project tracking, source code management, issue tracking, test tools, build and release management, and team management. WSO2 App Factory facilitates this complex set of tasks so that teams have a unified, controlled platform to easily create and administer projects, automatically build applications, provision quality assurance environments, run continuous integration tests, and continuously promote and deploy software assets across development life-cycle environments (i.e., development, test, and production). It also provides an easy way to discover and consume APIs through a user-friendly storefront.
Figure 1: Life-cycle management activities integrated in App Factory
WSO2 App Factory encourages software delivery best practices and is highly extensible and customizable. Because all the third-party tools used in App Factory are integrated through extension points, you can easily configure new life-cycle stages, workflows, and tools of your choice.
Keys characteristics of WSO2 App Factory
The main characteristics of the App Factory product are:
- Adaptability: You can virtually connect to any system/tool of your choice, provided it has an API. You are also given default options for out of the box deployments, such as GIT for a code repository or Redmine for issues management.
- Extensibility: AppFactory executes business processes for build, application governance or application creation logic. You can extend these processes involving human tasks, if required. Similarly, the list of application types supported by App Factory can be extended as new Stratos cartridges are added. This can be done by you or by our team of experts.
- Scalability: App Factory leverages WSO2’s PaaS, Stratos, to achieve maximum scalability and auto-scaling.
For more App Factory features, see Features.
The benefits WSO2 App Factory brings to your business
In summary, WSO2 App Factory provides the following advantages:
- Reduces the cost of development and time-to-market by early detection of issues.
Simplifies the developer experience. Developers simply select a project type, and the platform creates a skeleton project automatically.
- Extensible and customizable. Allows you to add tools and workflows you are already familiar with.
- The platform automatically manages dependencies for you. For example, when moving an application from development to staging, you usually have to connect to different APIs and databases. But now, the developer can simply move the application through its life-cycle stages while the platform automatically connects it to the correct resources.
Can impose policies and standards between life-cycle stages so that an application won't progress from one stage to the next before meeting regulatory and quality standards.
Helps build a digital business ecosystem. Fosters cross-organizational development collaboration by making your applications public in a storefront and encouraging reuse. Because developers understand what capabilities are already available before starting a new development project, cost of rework is reduced.
- Manage and monitor projects through App Factory's numerous dashboards.
Next, see Default Application Life Cycle.