Enterprise Service Bus is a software architecture construct, which is generally implemented using middleware infrastructure technologies, based on recognized standards. These technologies provide necessary services for complex architectures using standards-based, event-driven messaging engine (the bus).
There are conflicts on fact whether if an ESB is conceptually an architectural style, or standalone or group of software products.
The important features ESB are outlined below -
§ An ESB provides abstraction layer on top
§ An ESB is developed from base functions which broken up into their constituent parts. Different constituents can be deployed differently.
§ ESB itself does not implements SOA. It provides features for implementing it.
§ ESB may not be web-services based always.
§ ESB must be standards-based and flexible, in the sense that it should support different transport mediums.
§ Nowadays, many ESB providers build ESB based on SOA principles, to increase marketability of their products.
ESB Architecture
In ESB, different applications communicate via bus, which acts like a message broker.
A bus is a physical connection carrying data bits between various computer devices. At higher abstraction level, enterprise service bus works as an analogous function. This reduces the number of P2P connections and allows applications to communicate and thereby makes impact analysis for major software changes simpler.
ESB as Software
§ ESB works as a software between various business applications, enabling them to communicate with each other.
§ ESB replace all direct contacts with application, by using BUS. For this the bus has to encapsulate the application functionality using Enterprise Message model.
§ The Enterprise Message Model defines standard set of messages that the ESB has to transmit and receive.
§ On receiving message, ESB routes the message to appropriate application, after transforming message into format that is understandable by the application, using special applications called adapters.

| Next > |
|---|