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
You can use this node to manipulate predefined and self-defining 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.

.NETCompute node
Use the .NETCompute node to:
  • Build messages.
  • Interact with Microsoft .NET Framework (.NET) or Component Object Model (COM) applications.
  • Transform messages from one format to another.
  • Copy messages between parsers.
  • Use a .NET programming language to examine an incoming message and, depending on the message content, propagate it unchanged to one of the .NETCompute node output terminals. The node behaves in a similar way to a Filter node, but uses .NET languages instead of ESQL to determine which output terminal to use.
  • Use .NET to change part of an incoming message and propagate the changed message to one of the output terminals.
  • Use .NET to create and build an output message that is independent of the input message.
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
You can use this node to manipulate predefined and self-defining 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 WebSphere® MQ JMS provider.

The JMSMQTransform node can be used to send messages to existing message flows and to interoperate with WebSphere MQ JMS and WebSphere MQ Publish/Subscribe.

MQJMSTransform node
Use the MQJMSTransform node to receive messages that have a WebSphere 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 WebSphere MQ JMS and WebSphere 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 WebSphere 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

Use a Cloned node to create reusable templates from .NETInput nodes that you have created and customized in your message flow.

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. For more information about using the Cloned node type, see Cloning a .NETInput node.

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.