Not logged in | Login
Open ESB Java SE
The team responsible for the core JBI runtime in Project Open ESB recently embarked on a quest to purge all platform-specific dependencies from the runtime. Most of these dependencies had already been hidden behind an abstraction that could be ported across platforms, but dependencies can be sneaky and they have a habit of creeping in through unexpected channels. One of the most common scenarios involving platform-specific dependencies is when an application server or framework provides a set of libraries as part of its platform classloader. Application and container code can evolve to take advantage of features provided in these libraries that may not be portable to other platforms. This obviously creates trouble when you want to switch from one platform to another (e.g. switching application servers). Hoping to avoid this type of pitfall, our runtime team defined a set of platform-independent interfaces to represent our dependencies, and got back to a point where none of the core runtime code had a direct dependency on the underlying platform.
In order to test the implementation, we decided to provide an implementation of the platform interfaces for a Java SE environment. As we played around with Open ESB in this "stand-alone" mode, we began to realize that it was quite useful in a number of situations. The install footprint is small and the installation itself can be built up and torn down quite easily. You can perform a series of tests, delete the instance directory, and run again with a fresh JBI runtime. It's great for testing components, particularly if you want to determine if you have platform dependencies in your component implementation. ;-)
So we think it's cool and now we want to know if our user and developer communities think it's cool too. The current implementation of Open ESB for Java SE should be viewed as a proof of concept. The core runtime itself is still robust (it's the same JBI runtime that you get with Glassfish), but the platform wrapper implementation for Java SE is still a work in progress. The intent here is to bring this work out early to get feedback from users and solicit help from our developer community. We want to hear what you think: good, bad, or indifferent. So please give Open ESB for Java SE a try and help us make it better.
Getting Started Tutorial