There are a number of open source ESBs available now, including OpenESB from Sun, Mule ESB from MuleSource, and Apache ServiceMix. These have some key differences, which we’ll explore in the following sections.
Mule is one of the most popular open source ESBs, in use at organizations such as Wal-Mart and MLB, and with more than 2,000 users in production. It was started as a project in 2001 by Ross Mason, and is now available from http://www.mulesource.org. The ESB is free and open source, but the company MuleSource, started in 2006, also offers a commercial version called Mule Enterprise. In a business model similar to that of JBoss, the company offers subscriptions, educational services, and consulting around its product.
The implementation of Mule is based on the book Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf. The patterns in that book form the basis for the Mule framework and capabilities. As such, the bus provides the standard set of features that one would expect from an ESB, including routing, transformation, and message management.
In the Mule documentation, you may see reference to the term UMO, which stands for Universal Message Object. This term is deprecated in favor of the more recent Service Object (though you will still see UMO classes in the code base). A Service Object manages component events as well as pooled resources. It is carried between components over a transport, which is one of the available mechanisms ...