Posted by Tahir Laliwala | 0 comments

Mule - Easy to Understand and Powerful Enterprise Service Bus

What is Mule ESB?
Mule ESB is a Java-based enterprise service bus (ESB) and integration platform, developer can connect their application with ESB. Mule use service oriented architecture. Apart from of the different technologies the applications use, including JMS, Web Services, SMTP, HTTP. The advantage of ESB, it’s allow communicate different application. Messages can be any format SOAP to JSON. Mule ESB Development provide messaging framework that enable exchange of data among application.

Why Mule ESB?
Mule ESB is lightweight open source framework but highly scalable, allowing you to start small application and connect multiple applications. Mule manages all the interactions between applications and components transparently, ESB will take care of the multiple application, we can easily integrate third party application using Mule.

Features of Mule ESB
An ESB is a used for integration using a service-oriented approach. Its main features are:

  • *  Set of Service Container
  • *  Message Transformation Service
  • *  Message Routing Service
  • *  Web Service Security   

Through Mule ESB we can integrate third party application like LinkedIn, Twitter, Facebook. To create a Flow we can use Mule Studio, Mule Studio is eclipsed based tool. Mule Studio has three main components: A package tree, a palette, and a canvas. Mule Studio easily creates flows as well as edit and test them in a few minutes. . It is based on drag-and-drop elements and supports two-way editing.  

Mule Configuration

Spring Beans: You can construct service components from spring beans that you define in a separate spring context file or right in the Mule ESB configuration file.

Agents: An agent is a service that is associated with or used by Mule ESB but is not a Mule-managed component. Agents have the same life cycle as the Mule instance they are registered with, so you can initialize and destroy resources when the Mule instance starts or is disposed.
Connectors: The connector is a non-default configuration of any transports used.
Global Configuration: The mule global configuration is used to Global settings, such as the default transaction time-out, that apply to the entire Mule configuration.
Global Endpoint: Global endpoints can be used as they are defined globally, or they can be extended by adding more configuration attributes or elements. To reference a global endpoint, use the usual and elements, and specify the global endpoint name using the ref attribute.
Transformers: The transformer is Convert data from one format to another. You can define them globally and use them in multiple flows.
Filter: Filters decide which Mule messages are processed. Filters specify conditions that must be met for a message to be routed to a service or continue progressing through a flow. There are several standard filters that come with Mule ESB that you can use, or you can create your own filters.
Global Message Processors: A global message processor observes a message, or modifies either a message or the message flow. Examples include transformers and filters.

Models: You can define one or more models that logically group together your services.

Services: You can define One or more services that wrap your components (business logic) and configure routers, endpoints, transformers, and filters specifically for that service. Services are connected using endpoint.

Endpoints: Services are connected using endpoint. It is an object on which services will receive (inbound) and send (outbound) message.
Flow: Flow is a use message processor to define message flow between a source and a target. 

Dr. Zakir Laliwala