2014/09/02
2 Sep, 2014

Why Enterprise Should Use WSO2 App Factory - An Overview of Key Advantages

  • Ashansa Perera
  • Senior Software Engineer - WSO2
Archived Content
This article is provided for historical perspective only, and may not reflect current conditions. Please refer to relevant product page for more up-to-date product information and resources.

Table of contents

  • Introduction
  • Key characteristics of App Factory
    • Extensibility
    • Adaptability
    • Usability
    • Cloud Based
  • An overview of the WSO2 App Factory architecture
  • Why you should consider WSO2 App Factory for your app management requirements
    • Creating an application
    • Managing the team
    • Managing application
    • Managing resources for the application
    • Running the application in production environment
  • Enterprise level benefits with WSO2 App Factory
    • Accelerates development iterations
    • Capability of adapting to a cloud platform and offer PaaS
    • Provides an integrated DevOps experience
    • Customize to follow your best practices and standards
    • Integrate with your existing infrastructure
  • Summary

Introduction

WSO2 App Factory is a platform that is capable of managing your application lifecycle from cradle to grave. It is a multi-tenanted, shared and self service enterprise platform that facilitates multiple teams to collaboratively create and manage applications. WSO2 App Factory comes with a smart set of tools and infrastructure services that could ensure efficient management for your applications.

WSO2 App Factory - Key characteristics

Extensibility

WSO2 App Factory has a handy set of third-party tools that help to manage your application. It is an extensible product by nature itself. In addition to its default set of tools, WSO2 App Factory also enables extensibility via BPELs and interfaces. WSO2 App Factory simply has a good set of interfaces for all the third-party tools to be integrated, so you could bring any similar tools into play by simply extending the interfaces. Moreover, all important actions in WSO2 App Factory go through a BPEL, which provides yet another extension point for actions followed through WSO2 App Factory. As a result, you could seamlessly integrate any human task to your process.

Adaptability

With WSO2 App Factory you can virtually connect to any tool of preference that help with application management, such as issue trackers, build systems, etc., given that the preferred tools are equipped with standard API operations. You can integrate these tools with the extension points provided in WSO2 App Factory and it can simply adapt to your new tools.

Usability

WSO2 App Factory is capable of eliminating all pain-points in managing applications in your enterprise as it facilitates fully automated devop capabilities. It will enable a smooth process - from application creation through to production. WSO2 App Factory’s automated devop capabilities is able to handle a number of tasks, such as creating source repositories for your applications, creating infrastructure for building the applications, and creating run-time infrastructure for your applications. The team management feature bundled with App Factory is yet another advantage, enabling you to focus on your task.

Cloud based

WSO2 App Factory has a cloud-based deployment for the applications developed. Its deployment infrastructure is based on Apache Stratos. By having Apache Stratos as the runtime environment, WSO2 App Factory inherits the capability of maintaining elasticity by providing on-demand resource allocations.

An overview of the WSO2 App Factory architecture

WSO2 App Factory has a well-designed architecture and unique features, which are among its key advantages. The development time architecture of WSO2 App Factory has considered the requirements for managing the application development lifecycle. It has integrations for most useful tools for application management, such as source repositories, build farms, issue trackers, etc.

Figure 1 below illustrates the main functionalities of WSO2 App Factory and the plugins written for third-party tool integrations provided with WSO2 App Factory. All these third-party tool integrations have been carried out with the extensibility feature in mind, so that an enterprise may not need to be confined to the default options. An enterprise that has tools for specific functionalities or an enterprise that needs to look beyond the default options can use the extension points and plug similar tools that are in sync with the enterprise’s preference.

Figure 1

WSO2 App Factory uses Apache Stratos in its runtime architecture. Apache Stratos has a scalable architecture of its own; therefore, WSO2 App Factory’s deployment environment is inherently steady. WSO2 App Factory’s architecture has been designed while maintaining the key features discussed above; extensibility, adaptability, usability, and cloud based. This is WSO2 App Factory’s recipe for success.

Why you should consider WSO2 App Factory for your app management requirements

WSO2 App Factory is capable of managing your applications from cradle to grave. Starting from creating an application, it provides all the basic requirements for managing your enterprise applications at your fingertips.

Your application simply needs a code repository to maintain the code, a team to build the application and build the system, and a runtime for the application. WSO2 App Factory goes beyond all of the above to provide these and more. It automates most of the devop work for your enterprise and consists of a couple of third-party tools too to make your job easier. Moreover, WSO2 App Factory also enables the integration of these third-party tools in such a way that an enterprise can easily plug their used similar tool with the extension points provided. With all of these, WSO2 App Factory is capable of accelerating your application development process.

Creating an application

A single click made for application creation through WSO2 App Factory will create all the infrastructure required to manage your enterprise application. You will get a

  • Source repository to manage your application code
  • Job in a build farm to build your source code on the cloud
  • A project in issue tracker to track issues for the application
  • A space in Apache Sratos to deploy and run your applications on the cloud

WSO2 App Factory automates all these for your enterprise, thereby eliminating a significant amount of devop work. After this single click for application creation, you can utilize all the infrastructure and services created for your application.

Managing the team

Without limiting at helping with source code management of your application, WSO2 App Factory also allows you to manage your project team. By default, WSO2 App Factory has an admin role, CXO role, app owner role, developer role, QA role, and devop role. With a few simple clicks, an app owner can add members in the organization to the application. When developers and QA personnel are added to an application, WSO2 App Factory will take care of providing the required permissions and visibility for them to the application. They can simply play the relevant role of the application through App Factory.

Managing application

You can manage your enterprise application with the infrastructure and services created at the time creation of the application. Developing, building, and running and testing the application can be considered as the main actions to the path of running the application in production. WSO2 App Factory can manage all of these steps. The source repository created is for managing the source code and the build farm will allow you to build your application in the cloud. Through WSO2 App Factory, you can view the status of build and you have the option to view all the details of your builds as well. With a single click your application can be pushed to the runtime environment in the cloud and run the application in cloud. With all these provided automated facilities, the task of managing your enterprise application in the cloud will be significantly easier.

Managing resources for the application

Your enterprise application will mostly require some external resources to be consumed, such as database connections, APIs, etc., and WSO2 App Factory can meet all of these requirements. Other than consuming APIs and databases, WSO2 App Factory has generalized the resources and will provide you the capability of using key value pairs.

Running the application in production environment

With a single click, a user can push an application to the WSO2 App Factory runtime, which is Apache Stratos. WSO2 App Factory maintains different runtimes for different environments, such as the development environment, testing environment, and production environment. An enterprise can simply get rid of the burden of managing all these environments, carry out the required operations for the application to be deployed in these, and launch applications in the cloud, etc. by offloading all those to the App Factory.

Enterprise-level benefits with WSO2 App Factory

Accelerates development iterations

By creating all the infrastructure and services, they are required to maintain the application, providing the required functionalities for managing the enterprise applications to your fingertips, automating most of the devp work for you WSO2 App Factory are highly capable of accelerating the application process iterations of your enterprise.

Capability of adapting to a cloud platform and offer PaaS

WSO2 App Factory is capable of integrating with any cloud platform that has standard APIs. It uses Apache Stratos as its runtime environment by default, but with its extension points, it can adapt to any of the cloud platforms.

Provides an integrated devops experience

As mentioned earlier, WSO2 App Factory is capable of providing an automated devops experience for your enterprise. In a normal scenario, when you create an application, you would need to request a devops person to create a source code repository for your application; you need them to create an account for your application issue tracking, and if you need to build your application remotely in a central location without developers just build the code and commit (this is again a must requirement in the current enterprise model); you need to request for required resources to be created, get those resources allocated for your application, find a mechanism to sync the code in your source repository to the code in your build farm, etc. With WSO2 App Factory, you do not need to worry about any of the above as it has automated all of these functions, thereby minimizing human errors further enhancing your enterprise’s processes.

Customize to follow your best practices and standards

Since all the important actions are going through BPELs, an enterprise can easily bring their own standards and best practices into play inside WSO2 App Factory itself. This is a very unique and useful feature brought about by its well-designed architecture. And with the capability of plugging new cloud environments, you can customize your runtime environments according to your enterprise’s standards.

Integrate with your existing infrastructure

Even though WSO2 App Factory comes with default options, for some infrastructure and services, such as Jenkins for build farm and an inbuilt issue tracker, WSO2 App Factory is capable of integrating with your existing replacement options for those through its extension points. You don't need to abandon your used tools in your enterprise due to this capability.

Summary

WSO2 App Factory provides the capability of managing the enterprise applications effectively by enabling automated devOp capabilities, facilitating on extension points, adapting to the enterprise used similar third party tools, providing user-friendly UIs to work with, etc. And with it’s cloud nature your application which is managed through App Factory will be able to play in your connected business.

 

About Author

  • Ashansa Perera
  • Senior Software Engineer
  • WSO2