With Java application servers rapidly becoming a commodity item, it's no surprise that we're now beginning to see open source implementations of other elements of the enterprise middleware stack. In particular, a number of surprisingly mature ESB (enterprise service bus) implementations have been announced in recent months.
Iona Technologies has kick-started the ObjectWeb community's ESB efforts with the donation of Celtix , a Java ESB under the GNU LGPL (Lesser General Public License). No files were available as of this writing, but Iona representatives have said that Celtix will support the recently introduced JBI (Java Business Integration) specification, which specifies a standardized object container for cross-application integration. The project will also support WSDL, JMS (Java Messaging Service), SOAP, and XML and will provide application hooks for Java and POJOs (plain old Java objects). Its administration and configuration tools will be based on Eclipse.
Not to be outdone, Sun Microsystems announced its own freely available ESB at this year's JavaOne conference in San Francisco. Dubbed the Java Open Enterprise Service Bus, the project will be hosted on Java.net, with the first release expected to ship in late summer. Sun plans to package code from the community-driven project as a commercial offering, as well. As is Celtix, Open ESB will be based on the JBI 1.0 specification, via the JBI Reference Implementation. Unlike Iona, however, Sun will be releasing the code under its own Common Development and Distribution License rather than a GNU license. Further details are still scarce.
Whereas the previously mentioned projects are still in their nascent stages, there is at least one open source ESB implementation with some history behind it. Mule , sponsored by SymphonySoft, has been in development since 2003. Currently at Version 1.1, the project supports pluggable connectivity options for a variety of network transports, including JMS, POP3, TCP, UDP, servlets, and multicast. More cutting-edge features are on the road map. For example, JBI implementation isn't due until Version 2.0. Also, the project is released under SymphonySoft's own license rather than one approved by the Free Software Foundation or Open Source Initiative, which will be a minus for some.
As the code becomes available, any of the above is likely to be a good starting point for department-level ESB deployments. For larger-scale deployments, however, none is likely to gain much traction. With so many ESB deployments standardizing on JMS as their message transport of choice, companies with existing investments in enterprise-class JMS servers from vendors such as Cape Clear Software, Fiorano Software, or Sonic Software see more wisdom in going with those vendors' ESB products or sticking with more conventional middleware solutions than do in dabbling with open source.