Currently IT organizations are facing the challenge of integrating various applications, and other technologies into a single umbrella. In multibillion dollar company, its the responsibility of the company to satisfy their customers to keep their reputation up.At the same time, to do this it needs to handle various modules and sections to accomplish a goal. To keep lucid structure of development, the preferred way is to have SOA . Enterprise Service Bus (ESB) works on the principle of SOA.
Lets look at the root of enterprise service bus. The concept of enterprise service bus came from the concept of 'BUS' in hardware architecture.If we look at the Computer Hardware Bus
, it is a subsystem
which transfers data from one working module to other working module which is loosely coupled
. Now, lets try to apply same concept of computing bus here in ESB architecture.
It tries to connect various independent loosely coupled modules. It helps to share data generated by one module with other. Here it comes the concept of SOA discussed before.
So for the time lets say, ESB is a black box which helps to integrate the system modules which are loosely coupled but are used by other systems.
The content we had seen till now it just overview. We will discuss in-depth about ESB & Mule ESB in few moments.
Point To Point Connection
S1, S2, S3 & S4 are say 4 services (module) of the system which are interacting with each other by direct contact as shown in the fig.
This is the most basic communication architecture with simple design.
But it has major disadvantages
-If system is complex with 'n' number of modules interacting with each other, in that case it fails. It makes more hardware connectivity.
-This (primary model) will not support asynchronous communication.
-To handle asynchronous communication, service implementation have to have the logic build for asynchronous support. (Queuing, synchronizing etc)
-If all systems are on different platform and support different protocol, in that case P2P won't be an efficient way of communication.
So basically, ESB is used to overcome drawbacks of various communication architecture, none the less, it depends upon the complexity of the system.
So, to focus on ESB , ESB acts as middleware.
Lets look at the detailed diagram of ESB architecture.
In organization, the ESB architecture will look like as shown in figure.
There are various modules, handling different functionality like mail, database etc. These individual modules are working as service. Each service or client can ask for other service and asked service will act as service provider
Now, one could say, one service is working on some protocol, and other service is unknown about such protocol.
Such kind of scenarios are considered in ESB architecture.
Capabilities of ESB :