Implementation
The ESB architecture has some key principles that allow for business agility and scale. The key focus is to decouple systems from each other while allowing them to communicate in a consistent and manageable way.
The "bus" concept decouples applications from each other. This is usually acheived using a messaging server like JMS or AMQP.
The data that travels on the bus is a canonical format and is almost always XML.
There is an "adapter" between the application and the bus that marshals data between the two parties.