Another important development in the SOA environment is an enterprise service bus (ESB). An ESB is a message-based capability that facilitates interaction between distributed resources. An ESB is not required for SOA, but it does increase the power and flexibility of SOA usage.The objective of an ESB is to route messages between resources in a reliable manner; that is, it guarantees message delivery. Message routing may be done synchronously or asynchronously between source and target systems. Messages may be also be transformed from a source format into a target format as they pass through the bus. Other facilities offered by an ESB include load balancing and failover. More..