Mediations

A mediation is a Java™ program that extends the messaging capabilities of WebSphere® Application Server. Mediations can be used to simplify connecting systems, services, applications, or components that use messaging.

Mediations are used to process in flight messages. The type of processing a mediation can undertake includes:
  • Transforming a message from one format into another.
  • Routing messages to one or more additional target destinations.
  • Adding data to a message from a data source.
  • Controlling message delivery based on some conditional logic in the mediation.
You can use a mediation to process messages as an alternative to using a message-driven bean (MDB). A mediation has two advantages:
  • It preserves the message identity. If an MDB re-sends a message after processing its body, it sends a new message with a new message ID and message properties. By preserving the message identity, using a mediation makes it easier to track messages.
  • It is independent of the messaging technology. The mediation programming model provides a Service Data Objects (SDO) Version 1 interface to all messages and a common API for accessing properties and metadata.

When a message arrives at the mediation point, the mediation consumes the message and either transforms, subsets, aggregates or disaggregates the message. The message is then either forwarded to another destination or returned to the same destination, in which case, the message goes to the queue point where it can be consumed by the messaging application. This is shown in the following figure:

This figure is described in the surrounding text.

You can configure a destination so the mediation point or the queue point, or both are WebSphere MQ queues. If both are WebSphere MQ queues then a WebSphereMQ application can act as an external mediation as shown in the following figure:

This figure is described in the surrounding text.

WebSphere Application Server provides a mediation framework runtime that enables you to mediate messages. IBM® Rational® Application Developer and the assembly tools provide the tools needed to develop, assemble, test and deploy mediations.

You can mediate any type of destination in the service integration bus: inbound or outbound services, queues, and topic spaces. When you mediate a destination it is split into two parts called pre-mediated and post-mediated. The mediation receives messages from the pre-mediated part. Providing the messages are not redirected to another destination or discarded by the mediation, the mediation places messages on the post-mediated part. Messages on the post-mediated part are delivered to a message consumer. Splitting a destination into two parts allows asynchronous mediation of messages.

At deployment, the administrator can choose to have your mediation operate within a global unit of work to ensure transactional integrity, or to support concurrency if throughput of messages at a destination is important.

After deployment, the administrator configures your mediation for use at runtime using the WebSphere Application Server administrative console. The mediation is configured for use at a specific destination. The physical location is called a mediation point. The message processing provided by your mediation is started when the mediation point receives a message from the messaging runtime environment. The mediation operates on the message, for example transforming it, or forwarding it to other destinations.