Chapter 5. The Enterprise Service Bus
PART OF SOA IS THE INFRASTRUCTURE THAT ALLOWS YOU TO USE SERVICES IN A PRODUCTIVE SYSTEM landscape. This is usually called the enterprise service bus (ESB).[4] As you’ll see in this chapter, there are different opinions about the exact role and responsibilities of an ESB. Part of the reason for the different understandings of ESBs is that there are very different technical approaches to realizing an ESB. This chapter will also explore the consequences of some of these approaches.
ESB Responsibilities
To run SOA in practice, you need a way of calling services. This infrastructure is the technical backbone of the SOA landscape (sometimes also called the “backplane”).
It is the responsibility of the ESB to enable consumers to call the services providers supply. This sounds simpler than it is. Depending on the technical and organizational approaches taken to implementing the ESB, this responsibility may involve (but is not limited to) the following tasks:
Providing connectivity
Data transformation
(Intelligent) routing
Dealing with security
Dealing with reliability
Service management
Monitoring and logging
These tasks may need to be carried out for different hardware and software platforms, and even for different middleware and protocols.
The ESB’s main role is to provide interoperability. Because it integrates different platforms and programming languages, a fundamental part of this role is data transformation. As [Chappell04] states:
Data transformation ...
Get SOA in Practice now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.