Open ESB for JBoss
Back in the summer of 2005, before the Open ESB project was open source, a good bit of work was done by Ramesh Parthasarathy (Sun Microsystems) to get Open ESB running under JBoss. It was all working at that point, but then the project became open source and as the work to integrate with GlassFish V2 progressed, the JBoss support fell by the wayside and was never updated. The most significant change was the work that was done to isolate all of the GlassFish dependencies in the JBI runtime to a single class, the PlatformContext. Mark White blogged about the details of this here
In September 2007, Annies Abduljaffar revisited the project and updated the PlatformContext implementation for JBoss and also got some of the packaging issues sorted out. At that point, the Open ESB runtime would start under JBoss, but there were still some issues.
Recently, Chad Gallemore (Gestalt LLC) volunteered to help us get the JBoss support completed. With his work, along with assistance from Travis Chase (Gestalt LLC), Mark White (Sun Microsystems), and Keith Babo (Sun Microsystems), Open ESB once again runs under JBoss. This work was done as an enhancement tracked by Open ESB issue #87
The current implementation runs as a JBoss service, encapsulated in a standard JBoss MBean. The JBoss-specific JBI runtime is packaged as service archive (.sar file) that is deployed into the JBoss system. The supporting files used by the JBI runtime are all kept in a separate directory structure in the JBoss installation. Note that this directory structure is the same regardless of which application server platform is hosting the JBI runtime; it looks the same under GlassFish, JBoss, WebSphere, or any other platform.
Administration of Open ESB under JBoss is done through the standard JBI ant commands. These are available in the client jars that are included in the distribution, available as a download from the open-esb project.
There were two major parts to the work on this implementation:
- Completing the framework code changes to provide a PlatformContext implementation for JBoss, along with updates to the JBossJBIFramework implementation and the addition of a bootstrapping mechanism that works with the JBoss classloading hierarchy.
- Updating the packaging scripts to produce the proper artifacts for installing Open ESB into a JBoss environment.
The code changes to the existing framework support for JBoss were in these files:
The new bootstrapping mechanism is implemented in these new files:
You can browse these files here
If you'd like to try out Open ESB on JBoss, check out these two pages:
Getting Started Tutorial