Integrating Mule into Your Environment
Mule is based on ideas from the ESB architecture. The messaging backbone of the ESB is usually implemented using JMS, but any other message server implementation could be used, such as MSMQ, IBM WebSphere MQ (and earlier versions know as MQSeries), or TIBCO Rendezvous. Additionally, there are no strict rules on how your integration service layer should behave when using Mule. You can connect EJB, mainframe applications, messaging, web services, sockets, and file systems and interact with them all in simple consistent way.
Mule also supports other topologies beyond ESB, including pipeline, peer network, client/server, hub-and-spoke, and more. These topologies can be mixed and matched in an enterprise service network to model complex enterprise messaging and service requirements, as shown in the following illustration.
When integrating with Mule, you can start with just a few applications and connect more applications to Mule over time. For example, one Mule customer started by integrating six systems. Three years later, they had a total of 71 systems connected using Mule. Mule allows you to start as small as needed and easily scale over time.
You can have multiple instances of Mule distributed across your network, as shown in the following illustration. This approach is useful for failover (if one Mule instance becomes unavailable because the server stops, another Mule instance can take over its messages) as well as for load-balancing (you can send some messages to one instance and other messages to another instance to balance the load).
You can deploy each instance of Mule as a stand-alone application, in a web container (such as Apache Tomcat), or in an application server. You can use proprietary J2EE application servers such as BEA WebLogic, IBM WebSphere, Oracle Application Server, and SunOne, as well as in open source products like Geronimo or JBoss.
Designing your system is both an art and a science. It must be done correctly to ensure scalability. MuleSource Professional Services can help you by reviewing your architecture, designing components, or doing the full implementation for you. For more information, contact your MuleSource Professional Services representative.