1.4 Conventional Integration Approaches
An ESB applies web services and other complementary standards by combining them with technology concepts and best practices learned from EAI
. However, an ESB is more than simply a
veneer on top of the same old EAI hub.
approaches to integration have their pros and cons. Chapter 1 shows some of the high-level traits of integration approaches, which range from the least desirable on the lower left point of origin, to the most desirable on the upper right quadrant.
Figure 1-1. Characteristics of traditional EAI brokers, application servers,
MOM, and ESB
Traditional EAI brokers, which include those that are built upon application servers, use a hub-and-spoke architecture. A hub-and-spoke architecture has the benefit of centralized functions, such as management of routing logic and business rules, but does not scale well across departmental or business unit boundaries. Chapter 2 will examine the huge price of early attempts at integration using EAI hubs, as well as their moderate success.
Application servers can
through standard protocols, yet they link things together in a tightly
fashion, and intertwine the integration logic and application logic together.
EAI brokers provide increased value by separating the application logic from the integration and process routing logic, yet still suffer from the hub-and-spoke architecture.
Message Oriented Middleware (MOM) provides the ability to connect applications in a loosely coupled, asynchronous fashion. However, MOM by itself requires low-level coding in an application. Using a traditional MOM, along with custom coding techniques, can get you a long way toward a distributed integration solution. However, without a higher level of abstraction of the routing logic, this approach also suffers from having integration logic hard-wired and intertwined with the application logic. Depending on the MOM being used, even the distributed characteristic might be limited because some traditional MOM infrastructure is not capable of spanning physical network boundaries very well.
Finally, in an ESB, services can be
rather than coded. Process flow and service invocations can
span the entire distributed bus. An ESB provides a highly distributed integration environment that
well beyond the reach of hub-and-spoke architectures, and a clear separation of business logic and integration logic such as routing and data transformation. An ESB architecture forms an
grid of messaging hubs and integration services, with the intelligence and functionality of the integration network distributed throughout.
Chapter 6 further describes the contrast between integration using an application server architecture and integration using an ESB. MOM concepts are discussed in Chapter 5. "The Accidental Architecture" in Chapter 2 continues to discuss the separation of business process routing and business logic.