We are living in an era of internet where everyone is connected to internet by some means, like phone, tabs, laptops, desktops, tablets, servers and so on. These devices are generating data in different formats over different protocols. One successful application must have capability to interact with all available source on data over different protocols. But yes, it not that easy for any application to do that.
Let’s assume, you have an application and it is interacting with 2 or 3 data sources. You can manage easily these sources but what if it increases and what in in future you want integrate your application with many more services. You can afford to re-design your application every time you need new service to integrate. Application must be designed in such a manner that it can be scaled easily with bare minimum changes to the existing application.
To achieve this integration, ESB comes into the picture. ESB stands for Enterprise Bus Service. It works like a bridge between your application and everything in outside world. Now with ESB you don’t have to worry about to the data format or the protocol on which data is coming. ESB will handle all this.
I suppose now you know why we need ESB, I don’t want to go into details about ESB because it’s not ESB article. If you want more details on ESB, check it here. Let’s focus on Mule ESB specifically.
According to the description provided on Mule Soft website “Mule ESB, runtime engine of Anypoint Platform, is a light weight enterprise bus service (ESB) and integration framework that allows developers to connect applications together quickly and easily, enabling them to exchange data”.
Mule ESB provide you many ready to use connectors that can be used for integrating multiple application in a graphical manner. We will discuss most of the connectors available in this series of articles.
You can easily understand it by this image.
Key Advantages: The key advantages or features of ESB is that is provides developers a single point configuration to connect multiple application that uses different data format and protocols.
Mule ESB have following powerful features:
1. Service Creation and hosting: ESB provides facility to create reusable services and hosting them itself.
2. Service Mediation: Shields service from data format and protocols, messaging is decoupled from business logic.
3. Message Routing: You can route, filter, aggregate or re-sequence your messages as per your need
4. Data Transformation: Makes you free from worry about data format, or transfer protocols for data exchange.
Why Mule ESB:ESB is open source and Mule provides it Community(CE) and Enterprise editions(EE). Community edition is free to use. It comes with lots for feature that may fulfill your requirement. Enterprise edition is paid variant. It’s paid so obviously it has many more features as compared to CE.
There are few more options available in market, but Mule can be compared with other options before using. Let me try to bring some major points into consideration before you use Mule ESB.
· Mule components can be any type you want. You can easily integrate anything from a "plain old Java object" (POJO) to a component from another framework.
· Mule and the ESB model enable significant component reuse. Unlike other frameworks, Mule allows you to use your existing components without any changes. Components do not require any Mule-specific code to run in Mule, and there is no programmatic API required. The business logic is kept separate from the messaging logic.
· Messages can be in any format from SOAP to binary image files. Mule does not force any design constraints on the architect, such as XML messaging or WSDL service contracts.
· You can deploy Mule in a variety of topologies, not just ESB. Because it is lightweight and embeddable, Mule can dramatically decrease time to market and increases productivity for projects to provide secure, scalable applications that are adaptive to change and can scale up or down as needed.
· Mule's stage event-driven architecture (SEDA) makes it highly scalable. Major financial services company processes billions of transactions per day with Mule across thousands of Mule servers in a highly distributed environment.
I hope its sufficient information before we start learning development stuffs. If you are interested in exploring further information about Mule ESB you can visit https://docs.mulesoft.com
Happy learning, let’s see you in my next article, where we will setup development environment and will create our first Mule ESB work flow.
No comments:
Post a Comment