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.