There has been a lot of talk lately about agencies wanting to move towards the development of enterprise applications under a Service Oriented Architecture (SOA). However, moving forward with this initiative poses a fairly large problem: How do we integrate all of our different applications under the umbrella of a large SOA? In order to do this, there needs to be some type of communications framework to provide your old and new components with the ability to interoperate as an enterprise system. This is where Mule comes into play.
Mule is a message passing framework based on the Enterprise Service Bus (ESB) architecture. It is based upon the concept of UMO’s (Universal Message Objects). UMO components are your business objects. You may think that the UMO appears to be a Mule-specific component; instead, they are simply POJO’s that sit between application that receive and process messages. In order for a UMO to process these messages, we must have a means of communication that will connect an application to a specific UMO component. In Mule, this communication is facilitated through message endpoints. Similar to your stubs and skeletons in CORBA, these endpoints contain all information necessary to interface technologies such as JMS, SOAP, Xmpp and many others.
An application written using mule consists of many containers (instances) distributed across a network. These containers, typically called the Mule Model, hold one or many UMO’s along with one or many endpoints that they can communicate through. Each of these containers is serviced by a parent container called the Mule Manager. The Mule Manager controls the message flow to and from your services and components.
As of now, I am very new to this framework, but I can tell you that Mule has some useful functionality to offer. It was very easy to install and I was up and running with the provided samples in no time. As for the documentation, I am currently digesting it, so hopefully I will have some of my own code examples for next time. If anyone is interested in more information check out the Mule home page: http://mule.codehaus.org/
Comments
Ryan, You may also want to take a look at ServiceMix which has recently become an Apache project; it too, is an open-source ESB. The ServiceMix architecture is based on the JBI specification and it has been incorporated into products such as JBoss and Geronimo to provide those products a JBI capability.
Post new comment