This documentation is for WSO2 App Factory 1.0.0. View documentation for the latest release.
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 51 Next »

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. Given below are some of its use cases:

  • Create applications and view details of all applications in a unified, controlled platform. See Creating and Viewing Applications.
  • Build a team around applications by inviting users, assigning them single or multiple roles and managing them. See Building your Team.
  • Check in your source code to repository, version and branch your source repository, view life-cycle stages of branches and configuration management of the source code. See Managing Code Repository.
  • Manual or automatic builds and deployments of the branches, check build status, change build settings, browse the build server, launch and test your applications, run continuous integration tests. See Managing Builds and Deployments.
  • Continuously promote and deploy software assets. Easily discover and consume APIs through a user-friendly storefront. Configure registry, endpoints, databases to store your application's data and leverage published APIs in your application. See Configuring Resources.
  • Create and manage issues in a default issue tracking system or your own bug tracking tool. See details like types, severity and status of all issues reported against a given version of an application in a single view. See Tracking Issues.
  • Manage the application across its life cycles, configure your own life-cycle stages and preconditions for state transition, view life-cycle history, specify estimated deadlines for an application to be in a given life-cycle stage. See Managing Life Cycles.
  • Leverage inbuilt App Factory tooling support in WSO2 Developer Studio, which gives you a simpler and better integrated development experience.

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.

Key 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.

  • No labels