Chapter 4. Application development 127
contain. For more information about Publish/Subscribe, see the WebSphere
Business Integration Message Broker help system.
You can also define your own output node if none of the built-in output nodes is
suitable for the protocol or transport type that your business application uses.
Figure 4-30 The built-in output nodes
Most of the samples in the Samples Gallery demonstrate the MQOutput node.
The XML_BuildReplyMessage subflow in the Airline Reservations sample and
the subflow in the Error Handler sample demonstrate the Output node. The
XML_FlightQueryReply message flow in the Airline Reservations sample
demonstrates the MQReply node. The SurfWatch sample (one of the Getting
Started samples), the Soccer Results sample, and the Scribble sample all
demonstrate the Publication node.
4.4.3 Manipulating and transforming the content of messages
If your business is large, it is likely that while the business has developed, many
business applications have been developed. If the applications have been
developed to run on different platforms and they store data in different formats, it
is difficult to send data between them. To help solve this problem, you can
develop message flows that manipulate, or even change the format of, the
messages that the broker receives from one application before it passes them to
another application.
򐂰 To manipulate the content of a message, for example, by modifying the fields
that are included in the output message, or by retrieving information from a
database and including it in the output message, use a
Compute node. You
must program the node using ESQL. The Compute node does not require
that you have externally defined the messages in a message set.
򐂰 To create a new message from all or some of the data in the input message
by mapping the input fields onto the output fields, use the
Mapping node (for
example, if one application requires that the last name is before the first name
but the other application requires that the first name is before the last name).
If you have externally defined the message structure in a message set, you
can easily produce simple mappings using the mappings editor.
128 WebSphere Business Integration Message Broker Basics
򐂰 To create a partial copy of the input message by extracting specific fields from
the input message, use the
Extract node. As with the Mappings node, you
must have defined the message structure externally in a message set.
򐂰 To interact with a database in any way, such as inserting data into a database
that another message flow can then extract and use, use a
Database node.
You can use the Database node whether or not you have predefined the
message in an external message set. You must program the manipulations
using ESQL.
򐂰 To interact more easily in more specific ways with a database, use the
following nodes, which can manipulate only messages that have been
predefined in an external message set:
The
DataDelete node deletes one or more rows from a database table.
The
DataInsert node inserts one or more rows of data into a database
table.
The
DateUpdate node modifies the data in one or more rows of a
database table.
򐂰 To store all or part of messages in a database to keep a record of the
messages that the broker receives, use the
Warehouse node. You can use the
Warehouse node only if the message has been predefined in an external
message set.
You can also define your own nodes to manipulate the messages that your
business applications use if none of the built-in nodes is suitable.
Figure 4-31 shows all of these nodes.
Figure 4-31 The built-in message manipulation and transformation nodes
All of the main message flows in the Airline Reservations sample demonstrate
the Compute node. The XML_Reservation message flow in the Airline
Reservations sample and the main message flow in the Error Handler sample
demonstrate the Database node.

Get WebSphere Business Integration Message Broker Basics now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.