A transformation allows messages to be altered as they pass through the pipe. They are able to affect the message body, message properties and the target topic or queue name, but they can not affect the target destination (for example, the queue manager or broker pipe is connected to). For more information on how a message can be read and altered, see the Javadoc for the BridgeMessage interface.

Transformations can be set on at a flow or pipe level. If they are set on a pipe level, they are the defaults that will be used if the flows defined on that pipe do not have their own transformations specified. If a flow does have its own set of transformations, they will be used and the defaults ignored.

Transformations are also either inbound or outbound. These are optional and if specified they are the default transformations that will be applied to messages coming from flows that are also defined as either inbound or outbound. If the default inbound transformations are set and there are two inbound flows defined and one of those flows has its own set of transformations then it will not use the default transformations. The other inbound flow that does not have of its own transformations defined will use the defaults.

Some core transformations are supplied with the micro broker. Multiple transformations can be applied to messages on a particular flow within a pipe. Transformations also have the ability to pass parameters between transformations. These must not be confused with the message properties. If a message has come from a destination that supports message properties, these are accessible in the transformation. Any properties that are added or removed become part of the message. Transformation properties on the other hand simply exist for the lifetime of the message while it is in the transformation. These allow properties to be set that affect how the transformation should work without altering the message.

The order in which transformations will be applied to the message is defined by the order in which they are added to a TransformationDefintionList, as part of the Administration API.