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). 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.
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:
Dealing with security
Dealing with reliability
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 ...