Skip to main content

JBI in GlassFish

Posted by binod on December 28, 2006 at 4:29 AM PST

A JBI runtime has been integrated with glassfish V2. This is the same JBI runtime that was available as part of open-esb project. Currently this is also available as an addon in Java Application Platform SDK. However with this integration, it is by default available with GlassFish V2 installation.

A lot of work happened in GlassFish V2 for integrating JBI. Mainly these are in the areas of administration, clustering and runtime. Two JBI components (Java EE Service Engine and HTTP/SOAP Binding component) also will be available in GlassFish as system components.

Administration Experience

Apart from all the tools that was available in earlier JBI runtime, now it can be administered using Glassfish's own asadmin command line interface. See below Jane's CLI command finder suggesting a number JBI commands.


A complete list of commands and more details are available in JBI wiki page. GlassFish GUI has the capability to manage the JBI artifacts also. The picture shows a snapshot I took some time back.


Apart from these, composite applications (service assemblies) can be dropped in to autodeploy folder of the GlassFish application server and they will be deployed into the JBI runtime in appserver.


JBI runtime has been enhanced to adhere to the appserver clustering architecture. Each instance in the appserver cluster will also have a JBI runtime in it. That means a JBI component or service assembly can be deployed to the GlassFish appserver cluster. It will be activated dynamically in each server instance. The components (similar to java ee containers) should implement their own load balancing and high availability mechanism. There are a number of components that are being developed as part of this open source project.


JBI is integrated with appserver as a pre-configured lifecycle module. That means whenever an appserver instance starts up, the JBI runtime will be available. There is no user interaction required to configure or start the JBI runtime. It is just like any other service of appserver.

Java EE Service Engine act as the bridge between Java EE applications and JBI. A number of enhancements and performance improvements has been implemented in the Java EE Service Engine.

A Java EE application archive (ear/war/jar) can be packaged in a JBI composite application and deployed as one single entity.

Service units belonging to other JBI components and Java EE applications can share the same transaction and security contexts.


From user's point of view, glassfish now supports JBI. It means that glassfish now supports composite applications (Service assemblies) and a Java EE application can be part of one such composite application. A host of netbeans based tools and other JBI components will be available. So, application integration is made simpler (I know, still it is a big challenge).

For more information take a look at user-experience presentation slides and one pager. Also JBIWiki has a host of JBI related information.

Enjoy GlassFish!

Related Topics >>