What is Enterprise Service Bus?
The concept of Enterprise Service Bus was first introduced in 2002. Since then, it has been widely adapted in the software industry. Enterprise Service Bus provides an integration platform that combines Message Oriented Middleware (MOM) integration strategy, Web Services, Message Transformation, and Intelligence Message Routing into an event-driven Service Oriented Architecture (SOA).
Message Oriented Middleware allows applications running on different servers to connect in a loosely coupled, asynchronous fashion through messages communication. It is a flexible approach to architect distributed systems.
It is widely acknowledged that Web Services is the cornerstone of Service Oriented Architecture. Web Services provides an architecture and standard for the industry to implement applications as reusable services. These reusable services are accessible by any potential service requester.
The ability of data mapping and data transformation is essential in any application integration strategy. An Enterprise Service Bus must be able to transform the message sent from a service requester into a format receivable by the service provider, and vice versa.
Message Routing, an essential ability in Enterprise Service Bus, allows service requesters truly decoupled from the service providers. Messages sent from a service requester may be routed to one or more service providers based on the routing logic.
Enterprise Service Bus is an SOA application integration architecture; however, how does it differ from conventional integration approaches? The following diagram illustrates how conventional integration approaches compare to Enterprise Service Bus:
Figure 2. Conventional integration approaches vs. ESB
Conventionally, applications can be integrated in certain ways: Peer-to-peer integration, Hub and Adaptor integration and Message-based integration. Peer-to-peer integration resulted from an ad hoc approach. It is infamous for non-scaling and difficult to maintain. The Hub and Adaptor integration approach connects applications to hubs using various adaptors. It is more maintainable than Peer-to-peer, but is not a good solution for distributed systems. In Message-based integration, applications are loosely coupled through message exchange. This approach makes a system more distributable; however, existing applications that do not support messaging require massive modification to be integrated.
Enterprise Service Bus combines the benefit of Hub and Adaptor integration and Message-based integration to provide maximum maintainability and distributing ability.