Monday, November 21, 2011

Lifecycle Management of SOA Artifacts for WSO2 Products

This is about another webinar we(Sadeep and My Self) did recently. Here we demonstrated how WSO2 products interact with each other and how to use WOS2 Governance Registry's lifecycle management feature to manage SOA artifacts in different environments. We addressed the following use case (problem) in this webinar.

To give you a more detailed description about the exact problem we addressed in this webinar: Say that we have 3 ESB environments, namely "Dev","QA" and "Prod". In these environments, development work is done on the "Dev" and for testing purposes the artifacts under "Dev" environment should be moved(copied) to the "QA" environment. Once the QA work has been done, the artifacts in the "QA"environment should be moved(copied) to the "Prod" environment. We need a way to automate this to some extent so that we have minimum user interactions in this process. 

The solution we proposed was to introduce the WSO2 Governance Registry as a control mechanism to this process. In that solution all the 3 ESB environments are taking to a WSO2 Governance Registry and each of these ESB environments will look there SOA artifacts from the registry. We used the concept call "registry mounting" in such a scenario and each of the 3 ESB instances are mounted to 3 different collections in the registry.




Then the Governance Registry uses its lifecycle management feature to move the SOA artifacts from one environment to another. We use a simple lifecycle with 3 states (Development, QA and Production) and in each state transition, we copy the contents to the next environment.


For demonstration purposes we use an environment where we have 3 ESB instances and each of these instances were mounted to a Governance Registry. We created a proxy service in the "Dev" environment and used the deployment synchronizer feature of WSO2 products to persist it to the Governance Registry. During the demo session we demonstrated how to apply the lifecycle to the collection where the resources are stored in and when we do a "Promote" action how the resources are moved to the next environment. Using the deployment synchronizer, the ESB instance in the QA environment was able to find the new proxy service(that was copied to the "QA" location in Governance Registry) and deploy it in that instance. 

Here I have given an overview of the webinar and you can find more details about this including the webinar slides and the complete recording using [1]. I would also like to thanks Chanaka and Sadeep for their efforts on making the slides.