Editor: Mule ESB is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to Connect applications together quickly and easily, enabling them to exchange data. Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.
The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data Between applications within your enterprise or across the Internet. Mule ESB includes powerful capabilities that include:
Service creation and hosting — expose and host reusable services, using Mule ESB as a lightweight service container
Service mediation — shield services from message formats and protocols, separate business Logic from messaging, and enable location-Independent service calls
Message routing — route, filter, aggregate, and re-sequence messages based on content and rules
Data transformation — exchange data across varying formats and transport protocols
Do I need an ESB?
Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate. They are also well suited to scenarios where loose coupling, scalability and robustness are required.
Below is a quick ESB selection Checklist. To read a much more comprehensive take on when to select an ESB, read this article written by MuleSoft founder and CTO Ross Mason: To ESB or not to ESB.
1. Are you integrating 3 or more applications/services?
2. Will you need to plug in more applications in the future?
3. Do you need to use more than one type of communication protocol?
4. Do you need message routing capabilities such as forking and aggregating message flows, or content-based routing?
5. Do you need to publish services for consumption by other applications?