Enterprise service bus (ESB) refers to a software architecture construct. This construct is typically implemented by technologies found in a category of middleware infrastructure products, usually based on recognized standards, which provide fundamental services for more complex architectures via an event-driven and standards-based messaging engine.
According to Sonic Software (who first coined the term ESB for their product) "ESB is a standards-based integration backbone, combining messaging, Web services, transformation, and intelligent routing"
Some of the common characteristics of ESB include:
Brokered communication: The basic function of an ESB is to send data between processes on the same or different computers. Like message-oriented middleware, the ESB uses a software intermediary between the sender and the receiver, providing a brokered communication between them.
Address indirection and intelligent routing: ESBs typically include some type of repository used to resolve service addresses at run time. They also typically are capable of routing messages based on a predefined set of criteria.
Basic Web services support: A growing number of ESBs support basic Web services standards including SOAP and WSDL as well as foundational standards such as TCP/IP and XML.
Endpoint metadata: ESBs typically maintain metadata that documents service interfaces and message schemas.
Some ESB vendors offer additional features including message transformation, validation, logging, and auditing.
Microsoft offers an ESB solution by two of its products (Biztalk Server 2006 and WCF)
The combination of these technologies provides the broadest spectrum of connected systems scenarios—both brokered and unbrokered using open standard protocols. BizTalk Server provides business process orchestration, message transformation, and business activity monitoring through designers and visual tools while WCF provides a unified framework for building secure, reliable, transacted Web services.