Thursday, May 25, 2017

How WSO2 Enterprise Service Bus Works (ESB Story - 1)

WSO2 ESB is an open source integration solution which is built from the WSO2 CARBON platform. ESB is capable of supporting various transport types and do various kinds of message mediation according to the use case.
WSO2 ESB consist of set of major components which are allocated to specialized operation. Those are,
  • Transports layer

  • Message Builder/Formatter Layer

  • QOS Layer

  •  Mediation Engine

When a message sent to the ESB, ESB always uses SOAP message inside the ESB. Because of that, whatever the message come to the ESB, It will transport to the SOAP message. Below are the high-level way which message going through the ESB.
  • First, It is going through the transport layer which is handle the incoming transport.
  • Then It will move to the message builder engine to build the message.
  • There after, It will move to the QOS layer to do the QOS tasks to the message.
  • Then message will arrive to the mediation engine to do the specified inflow (in-sequence) mediation.
  • Finally, Message will sent out to the specified endpoint from the mediation engine.
Above message path we called as a "Request Path" and "Response Path" will be as follow.

  • Once response received from the endpoint, It will arrive to the mediation engine again and it will again do the mediation task which are configured in ESB out sequence.
  • After the mediation task done, Message will move to the QOS later again to the message to do the QOS again. 
  • There after, It will move to the message formatter to format the message again which are equal to the incoming message.
  • Finally it will move to the transport layer again and convert SOAP to specified transport which message was had in in-comming message.


This will give you a very basic idea how message go inside the ESB. But I will provide another post about detail explanation how above each layer works and what happen to the message which it is going though the each and every layer.

No comments: