This documentation is for WSO2 ESB version 4.5.0. View documentation for the latest release.

ESB Architecture

Application infrastructure on the enterprises may be inherently complex, comprising of hundreds of applications with completely different semantics. Some of these applications are custom built, some are acquired from third parties and some can be a combination of both and they can be operating in different system environments.

Integration among these heterogeneous applications is vital to the enterprise. Different services may be using different data formats and communication protocols. Physical locations of services can change arbitrarily. All these constraints mean your applications are still tightly coupled together.

An ESB can be used for loosen up these couplings between different services and service consumers.

WSO2 ESB is a full fledged enterprise ready ESB. WSO2 ESB is built around Apache Synapse project. Apache Synapse is built using the Apache Axis2 Project.

A diagram below describes WSO2 ESB architecture from a messaging perspective. There are lot of other areas like Tasks, Events which are not described in this diagram. It shows how messaging is handled in the ESB.

WSO2 ESB Architecture

Note

Various components of the pipes does not imply any order in this diagram.

1. An application sends a message to the ESB.

2. The message is picked up by the ESB transport.

3. Transport sends the message through a message pipe. Quality of service aspects like Security and Reliable Messaging of the message is taken care in this pipe. Internally this pipe is the in-flow and out-flow of Axis2. ESB can operate in two modes:

4. Both message transformation and routing can be seen as a single unit. As the diagram specifies, there is no clear separation between message transformation components and routing components. WSO2 ESB call this the mediation framework. Some transformations happens before routing decision has taken. Some transformations happens after the the routing decision has taken. This part is the Synapse implementation.

5. After this message is injected to the separate pipes depending on the destinations. Here again quality of service aspects of the messages is determined.

6. The transport layer takes care of the transport protocol transformations required by the ESB.

The diagram shows how a request propagates to its actual endpoint through the ESB using its architecture. Response handling is the reverse of this operation.

All these components can be managed and monitored through WSO2 ESB management console.