ESB Development Best Practices – Life-cycle Management

Scenario:
Multiple developers are working on their own instance of the ESB.
Developers want to deploy what they develop to a central QA server or staging server. Merging the individually developed artifacts with those developed by others is challenging. Sometimes this is done using copy/paste, and then hand it over to other developers. This seems to be error prone. What are the best practice for this scenario?

Solution:
1. Use WSO2 ESB 3.0.0
2. It has support for having individual configuration file for each artifact. For example, proxy services, endpoints, sequences and tasks all have separate configuration files
3. Use a configuration management system, like Subversion (svn), and ask all developers to commit their artifacts into svn
4. From QA/staging server, get an svn up of all the artifacts
5. If there are settings that are not portable like absolute paths etc, you can script those to be changed, using a
shell script (e.g. sed) or a simple scripting language (e.g. Perl, PHP, Python)
5. Boot up (or reboot) the WSO2 ESB on QA/staging server with the updated configuration checked out from svn

Comments