Nodes for manipulating, enhancing, and transforming messages
Optionally, include nodes to change messages.
- Compute node
- Use the Compute node
to:
- Manipulate message content
- Transform the message in some way
- Interact with a database to modify the content of the message or the database and pass on one or more new messages
Use the ESQL editor to create an ESQL module, specific to this node, that contains the statements that define the actions to perform against the message or database. Do not use the ESQL code that you develop for use in a Compute node in any other type of node.
You can control the way in which the database is accessed by this node by specifying user and password information for the data source that you specify in the node property. Use the mqsisetdbparms command to initialize and maintain these values.
If possible, perform your message manipulation requirements in a single Compute node. Fewer, more complex Compute nodes perform better than a larger number of simpler nodes because the integration node parses the message on entry to each Compute node.
- JavaCompute node
- Use the JavaCompute node
to:
- Examine an incoming message and, depending on its content, propagate it unchanged to one of the node's output terminals. The node behaves in a similar way to a Filter node, but uses Java™ instead of ESQL to determine which output terminal to use.
- Change part of an incoming message and propagate the changed message to one of the output terminals.
- Interact with a database through a JDBC type 4 connection to modify the content of the message or the database and pass on one or more new messages
- Create and build a new output message that is independent of the input message.
- Mapping node
- Use the Mapping node
to:
- Manipulate graphically message content
- Enrich a message with data from a database
- Interact with a database to modify the content of the message or the database and pass on one or more new messages
Use the Graphical Data Mapping editor to create a message map, specific to this node, that contain the data transforms that define the actions to perform against the message or database.
- XSLTransform node
- Use the XSLTransform node (formerly known as the XMLTransformation node) to transform an input XML message into another format using XSLT style sheets and to set the message domain, message set, message type, and message format for the generated message. It is imperative that the data can be parsed into an XML message. The style sheet, using the rules that are defined in it, can perform the following actions:
- Sort the data
- Select data elements to include or exclude based on some criteria
- Transform the data into another format
The Xalan-Java transformation engine (Apache Xalan-java XSLT processor) is used as the underlying transformation engine. For more information about XML Transformations, the W3C specification of the syntax, and semantics of the XSL Transformations language for transforming XML documents into other XML documents, see W3C XSL Transformations.
You can deploy style sheets and XML files to integration node integration servers, to help with style sheet and XML file maintenance.
- JMSMQTransform node
- Use the JMSMQTransform node
to transform a message with a JMS message tree into a message that
has a tree structure that is compatible with the format of messages
that are produced by the IBM® MQ JMS
provider.
The JMSMQTransform node can be used to send messages to existing message flows and to interoperate with IBM MQ JMS and IBM MQ Publish/Subscribe.
- MQJMSTransform node
- Use the MQJMSTransform node
to receive messages that have a IBM MQ JMS
provider message tree format, and transform them into a format that
is compatible with messages that are to be sent to JMS destinations.
You can use the MQJMSTransform node to send messages to existing message flows and to interoperate with IBM MQ JMS and IBM MQ Publish/Subscribe.
- SOAPEnvelope and SOAPExtract nodes
- Use the SOAPEnvelope and SOAPExtract nodes to add or remove SOAP envelopes from the SOAP message body. You can use the SOAPExtract node both to extract the envelope, and to route the message based on the message content to a Label node.
- Header nodes
- Use the HTTPHeader, JMSHeader, or MQHeader nodes to manipulate
HTTP, JMS, and IBM MQ transport
headers and their properties without writing compute nodes. You cannot
use these nodes to change the message body.
- Use the HTTPHeader node to add, modify, or delete HTTP headers such as HTTPInput, HTTPResponse, HTTPRequest and HTTPReply.
- Use the JMSHeader node to modify contents of the JMS Header_Values and Application properties so that you can control the node's output without programming.
- Use the MQHeader node to add, modify, or delete MQ Message Descriptor (MQMD) and MQ Dead Letter Header (MQDLH) headers.
- User-defined processing node
- Use a user-defined node processing node to handle specific requirements
that are not met by the built-in nodes.
For example, if your node accesses a database, include a user-defined node to interact with the database. You can control the way in which the database is accessed by this node by specifying user and password information for the data source that you specify in the node property. Use the mqsisetdbparms command to initialize and maintain these values.
- Cloned node
Cloned nodes have no special properties, and you cannot select a new Cloned node from a palette drawer. You must create it from an existing node in your message flow, and then save it into the palette drawer.
When saved in a palette drawer, you can create an instance of your saved Cloned node by dragging into your message flow. You can therefore use a Cloned node to be able to reproduce your customized parameters and values without manually configuring a new node instance each time. You can save multiple templates in the palette, if each Cloned node you create has a unique name.