Message mediation is a fundamental part of any ESB. WSO2 ESB achieves message mediation through it's mediators.
Built-in mediator capabilities of ESB provide functionality to match incompatible protocols, data formats and interaction patterns across different resources. Data can be split, cloned, aggregated and enriched, allowing ESB to match the different capabilities of services. XQuery and XSLT allows rich transformations on the messages. Rule based message mediation allows user to cope with the uncertainty of business logic. Content based routing using XPath filtering is supported in different flavors, allowing users to get the most convenient configuration experience. Built in capability to handle transactions allows message mediation to be done transactionally inside the ESB. With the eventing capabilities of ESB, EDA based components can be easily interconnected. With features like throttling and caching integrated in to the message mediation, powerful interconnections can be made, allowing ESB to be used in the front end of organizations SOA infrastructure.
A mediator is a full powered processing unit in ESB. In run-time it has access to all the parts of ESB along with the current message. Usually a mediator is configured using XML. Different mediators have their own XML configurations.
At the run-time a message is injected in to the mediator with the ESB run-time information. Then this mediator can do virtually anything with the message. A user can write a mediator and put it into ESB. This custom mediator and any other built in mediator will be exactly the same as the API and the privileges (see more information in Writing a WSO2 ESB Mediator).
A mediation sequence, commonly called a "sequence", is a list of mediators. That means it can hold other mediators and execute them. It is a part of the core of ESB and message mediation cannot live without this mediator. When a message is delivered to a sequence, it sends the message through all it's child mediators.
Read more in Mediation Sequences.
The Process of Message Mediation
In case an error occurs while processing in the main sequence, the message goes to the fault sequence.