Network Deployment (Distributed operating systems), v8.0 > Applications > Service integration
Mediations
A mediation is a Java program that extends the messaging capabilities of WAS. 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.
- Route messages to one or more additional target destinations.
- Add data to a message from a data source.
- Controlling message delivery based on some conditional logic in the mediation.
We 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) v1 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:
We 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:
WAS 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.
We 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 WAS 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.
Service integration technologies
Messaging engines
Bus destinations
Mediations security
WebSphere MQ queue points and mediation points
WebSphere MQ server and mediated exchange scenarios
Service integration security
Configure mediations
Set tuning properties for a mediation
Delete a mediation
Mediating a destination
Unmediating a destination
Configure exception destination processing for a bus destination
Create a queue-type destination and assigning it to a WebSphere MQ queue
Mediating a destination by using a WebSphere MQ queue as the mediation point
Related
createSIBDestination command
createSIBDestinations command
mediateSIBDestination command
unmediateSIBDestination command
http://www.ibm.com/developerworks/websphere/techjournal/0504_murphy/0504_murphy.html
http://www.ibm.com/developerworks/websphere/techjournal/0506_murphy/0506_murphy.html
http://www.ibm.com/developerworks/websphere/techjournal/0510_vines/0510_vines.html
http://www.ibm.com/developerworks/websphere/techjournal/0602_nottingham/0602_nottingham.html