Composite Materials

Ron Ten-Hove's Weblog
Tuesday Apr 25, 2006

Java EE 5 integrated into JBI (or is that the other way around?)

Manisha Umbarje has recently blogged on Java.net about using SOAP over JMS. The really interesting part (to me) was how she did this: by using the built-in JBI service engine in the GlassFish app server.

What's so cool about this? The Java EE technologies involved (from the web container in this case, but others can be used similarly) weren't altered at all (down to the binary level!) to make this happen. That's right: no changes!

Manisha's article has a nice detailed picture of all the moving parts involved in this end-to-end demo (she implements both the consumer and provider sides), but the key takeaway is this: the servlet developer didn't have to do anything different to get SOAP over JMS to work properly. She uses standard web service technologies (JAX-WS et alia) in the normal fashion, without doing anything special to get JBI support. The real work of associating a logical service with a different binding type (in this case, the JMS binding) is accomplished at two levels, beneath the covers:

  • The GlassFish service engine. This bit of internal magic the GlassFish team came up with turns GlassFish web service I/O into JBI normalized messages and message exchanges.
  • The composite application (service assembly in JBI-speak). This is the package that "wires" the services together. In this case, it wires the servlets to the JMS binding components.
The GlassFish service engine works so well because of the pioneering work of Harold Carr, creating the PEPt communications architecture that sits inside GlassFish. Combined with the strong alignment of JBI (and Open ESB) to web services, and you get cool things like the GF SE.

Comments:

Post a Comment:
Comments are closed for this entry.

Archives
Links
Referrers