We've been working hard on M2 release. It can be downloaded from here. These are the main features about this App Factory release.
- Using App Factory M2, it is possible to develop an application with a data-source and move it across different life-cycle stages seamlessly
- We have defined a set of interfaces that would enable us to plug different SDLC tooling and it has a better modular architecture that leverage the power of OSGi
- Our VM packs a dehydrated version of WSO2 carbon servers with a P2 repo. And the setup script hydrates the servers using the P2 repo during the startup
- M2 has a generic BPEL process that would deploy to different stages. This would enable us to have the power of configurable set of stages
The modular architecture introduced into App Factory M2 can be shown as below.
The interfaces defined for SDLC tools are as follows.
- BuildDriver Interface - Enables to plugin different build mechanism. Talks to the build farm
- BuildDriverListener Interface - Listens to the events of the BuildDriver. This enables asynchronous architecture
- RevisionControlDriver Interface - Implementations of this interface are responsible to talk to different source code management systems.
- RevisionControlListener Interface - Listens to the events of the RevisionControlDriver
- ArtifactStorage Interface - This is where the built artifacts are stored. M2 ships with FileArtifactStorage
- ContinuousIntegrationSystemDriver - Implementations of these will talk to Jenkins and Bamboo
- ArtifactCreator - This service is responsible for taking the source code check out and creating the artifact and once done it will call the BPEL back
- ApplicationDeployer - This service will deploy the artifact to the configured servers