What is ESB ?

The day I entered into SOA world, I started hearing about ESB. We get different definition with different examples every time. Also there are tons of books on ESB , its patterns, how to use it etc etc.


Here I am explaining what ESB is , why it came into picture & what it can do.


I guess you all might have heard about EAI (Enterprise Application Integration)
EAI is nothing but a integration pattern through which different applications can be interconnected to provide reusability of apps, easy to maintain, extends etc etc.


EAI uses two patterns of integration :
  • P2P : Point to Point.
  • Hub & Spoke.
Now when we talk about SOA, we actually integrate services not the applications. So, To integrate services we again need a specification, a middleware, or a pattern; So ESB is a flexible connectivity infrastructure for integrating applications and services. An ESB can power your SOA by reducing the number, size, and complexity of interfaces between those applications and services. ESB is that integration pattern.There are several vendors who provides this pattern or specification. 

Different ESBs are:
  • WESB (Websphere ESB) : Written in Java
  • WMB (Websphere Message Broker) :C, C++ based
  • DataPower X150
  • Oracle ESB 
  • JBoss ESB
  • Open ESB
  • Mule ESB : Lightweight ESB, Written in Java


An ESB provides :
  • Protocol Bridging.
  • Transformation.
  • Content based routing.
  • Service Virtualization.


Why it is required ?
An ESB should allow our organization to focus on our core business needs rather that the IT Infrastructure required connecting the programs together. An ESB should allow us to add new services, or make changes to existing services, with little or no impact to the use of existing services.


Let me correlate these two crucial terms SOA & ESB :
SOA uses ESB Integration pattern to achieve SOI (Service Oriented Integration) , interoperability between services.

1 comment: