A mediator is the basic message processing unit in the ESB. A mediator can take a message, carry out some predefined actions on it, and output the modified message. For example, the Clone mediator splits a message into several clones, the Send mediator sends the messages, and the Aggregate mediator collects and merges the responses before sending them back to the client. Message mediation is a fundamental part of any ESB.
WSO2 ESB ships with a range of mediators capable of carrying out various tasks on input messages, including functionality to match incompatible protocols, data formats and interaction patterns across different resources. Data can be split, cloned, aggregated, and enriched, allowing the ESB to match the different capabilities of services. XQuery and XSLT allow rich transformations on the messages. Rule-based message mediation allows users 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 allows message mediation to be done transactionally inside the ESB. With the eventing capabilities of ESB, EDA based components can be easily interconnected, allowing the ESB to be used in the front-end of an organisation's SOA infrastructure.
A mediator is a full-powered processing unit in the ESB. In run-time it has access to all parts of the 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 the ESB. This custom mediator and any other built-in mediator will be exactly the same as the API and the privileges (Refer to more information in Writing a WSO2 ESB Mediator).
Refer to Mediators.
A mediation sequence, commonly called a "sequence", is a list of mediators. That means, it can hold other mediators and execute them. It is part of the ESB's core and message mediation cannot live without this mediator. When a message is delivered to a sequence, it sends the message through all its child mediators.
Read more in Mediation Sequences.
The Process of Message Mediation
In case an error occurs in the main sequence while processing, the message goes to the fault sequence.
For detailed information about mediators, refer to the following pages:
- Best Practices for Mediation
- Mediation Sequences
- Adding a Mediator to a Sequence
- Editing a Mediator
- Adding a Child Mediator
- Deleting a Mediator
- Creating Custom Mediators
- Working with Message Stores and Message Processors
- Working with Message Builders and Formatters
- Prioritizing Messages