An enterprise service bus (ESB) is software for integrating applications. It facilitates service supply and demand by creating and managing data flows in a way that is transparent for application developers. The ESB's configuration details the logic that orchestrates the architecture, which, put simply, is activated based on automated events or events launched by the applications. The configuration can be interpreted as an abstraction layer.
An ESB has the following main characteristics:
- It is an integration platform based on open communication standards: The ESB has become the way to integrate the many applications used in corporations. It is regarded as the next generation of EAI tools available on the market. To provide a simple and efficient integration, the ESB supports the most-common protocols (e.g., HTTP, FTP, JMS and SMTP). This is its main advantage over similar technologies.
- It combines the SOA and EDA paradigms: The ESB combines the performance of a service-oriented architecture with the versatility of an event-driven architecture. This combination can be described as a service-integration architecture driven by an event layer.
- It is based on the synchronous nature of the services and the asynchronous nature of the events: The ESB provides an abstraction layer that gives the applications and services the asynchrony they lack. This adds great versatility to the services: the ESB waits for the requests, starts the data flow and sends the response to the specified end-point when the process concludes.
- It contains tools for configuring the message flow, which makes it possible to transform (using standard format-transformation technologies such as XSLT or XPath), duplicate, filter, and add security and access control (e.g., with Spring Security) to all transactions. This increases the potential for complimenting the data flows, which enriches and automates the business processes.
- It supports incorporating customized modules: Each organization has totally different services, and each of these services has its own procedures. The ESB supports customizing these procedures by adding modules with new processes and protocols. In some cases, there is even a plug-in system available that further facilitates the integration of the applications.
ESB technology is ideal for integrating the security and trust services provided by TrustedX .