At some point in your investigation of SOA, you will come across the Enterprise Service Bus (ESB). Fascinatingly, whilst the term ESB is in common use in the SOA community, there is little agreement about a definition. The reason for this lack of clarity can (at least in part) be laid at the feet of middleware vendors who have re-badged their products as being Enterprise Service Bus. To avoid the politics of what an ESB is (or might be), let's start with a simple definition of an ESB.
At it’s simplest an ESB is the mechanism by which messages are transported between a client and a service. In addition to this basic capability, an ESB should offer the following facilities: