IBM Integration Bus version 10 provides different techniques to transform a message. This use case is focused on message transformation by using ESQL.
This use case is based on a sales processing scenario. At the time of a sale, the customer’s name, the code for the product, a description of the product, its category, the unit price, and quantity purchased are recorded. Each customer might purchase several items. A list with all the customer orders is created. The sample application transforms the incoming message and produces an invoice statement for each customer included in the list.
The messages used for input and output are self-defining XML messages. Each message consists of three parts:
- A header, which contains a count of the number of repetitions of the repeating SaleList structure that follows.
- The body, which contains the repetitions of the repeating SaleList structure.
- The trailer, which contains the time the message was processed.
The transformation and production of the statement for each customer within a SaleList is achieved with a single message flow.
Results per platform
Results for the message transformation use case can be found for each platform here:
Transformation with ESQL Message Flow
The message flow performs the following processing:
- Reads a WebSphere MQ message containing an XML payload.
- Parses the input message and produces an invoice for each customer. This is achieved with a single Compute node containing ESQL.
- Produces a WebSphere MQ output message containing an XML payload.