WSO2 App Factory(AF) is an enterprise-grade Platform as a Service (PaaS), providing flexibility, completeness, reliability, scalability, security and application life-cycle management (ALM) options that an enterprise needs to encourage business innovation.
Following Diagram illustrate different stages pass by the application in it's life cycle and interested working group of each stage.
I have list down the key steps in a Application Development Life Cycle Management(LCM) in the AF.
Important :-
Developers cannot do any kind of code level changes after promoting the application, Only QA people can access the code.
Following Diagram illustrate different stages pass by the application in it's life cycle and interested working group of each stage.
- Create a application in the trunk(1.0.0)- done by application owner
- Start development in the trunk- developers start developments
- Create the branch (1.0.0) - create the branch by developer or app owner
- Do the developer testing.
- Promote to QA - by developers
- Start the QA - by QA engineers
- report issues (bugs, improvements..etc ) - by QA
- demote the Application
- Developers fix the issues and do the developer testing - by developer
- Again promote to QA - by developers
- verify the reported issues and do other testing as well
- Promote the application into production (most of the time via staging)
Creating the Application
first create a App in the AF.Once you done this, trunk will be created for that App, then the developers can start working on the application.Person who created Application has the app owner role. Basically app owner has all the permission related to this application in any stage of the application.
Develop the Application
WSO2 Developer Studio provide a unique support for developers to develop, deploy and build application in a single environment. please refer the Working with App Factory Applications to learn how to use developer studio with AF
Basically Developers checkout the trunk and start working in the application. once they finish a task, developer will commit the changes into trunk then deploy and build the trunk. After stable the current trunk, branch will be created. If this is the first branch usually it will be named as 1.0.0 branch. Once branch created developers start working on branch do the developer testing and fix the issues. After completing following three key points application can be promote into the QA stage from Development-Stage.
Basically Developers checkout the trunk and start working in the application. once they finish a task, developer will commit the changes into trunk then deploy and build the trunk. After stable the current trunk, branch will be created. If this is the first branch usually it will be named as 1.0.0 branch. Once branch created developers start working on branch do the developer testing and fix the issues. After completing following three key points application can be promote into the QA stage from Development-Stage.
- Code complete
- Design review done
- Code review done
Important :-
Developers cannot do any kind of code level changes after promoting the application, Only QA people can access the code.
QA the Application
Now application is running in the QA environment. Then QA people start working on the application, test case will be executed against the code ,if they find bugs they will create issues using the AF issue tracker. QA person only can test the application he or she cannot do any code level changes when the application in the QA stage.