- 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 broker 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.
- PHPCompute node
- Use the PHPCompute node
to route and transform an incoming message, using the PHP scripting
language. The node functions in a similar way to the JavaCompute node, but uses
PHP instead of Java for message
transformation and routing.
- Mapping node
- Use the Mapping node
to create a message from the input message by mapping the content
of elements of the output message from elements of the input message,
or from database content. You can also extract parts of the message,
and optionally change their content, to create an output message that
is a partial copy of the message that is received by the node. The Mapping node handles only predefined
messages.
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.
Use the Mapping editor
to develop mappings to perform simple manipulations on predefined
messages. Do not use the mappings that you develop for use in a Mapping node in any other type
of node.
- 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 broker 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.