Message flows overview

A message flow is a sequence of processing steps that run in the integration node when an input message is received.

You define a message flow in the IBM® Integration Toolkit by including a number of message flow nodes, each of which represents a set of actions that define a processing step. The way in which you join the message flow nodes together determine which processing steps are carried out, in which order, and under which conditions. The path that you create between one node and another is known as a connection.

A message flow must include an input node that provides the source of the messages that are processed. You can process the message in one or more ways, and optionally deliver it through one or more output nodes; see Connecting client applications. The message is received as a bit stream, and is converted by a parser into a tree structure that is used internally in the message flow. Before the message is delivered to a final destination, it is converted back into a bit stream. For more information about these conversions, see Parsers and The message tree.

When you want to exchange messages between multiple applications, you might find that the applications do not understand or expect messages in the same format. You must provide some processing between the sending and receiving applications that ensures that both can continue to work unchanged, but can exchange messages successfully. For more information about the options available, see Transforming and enriching messages.

You define the processing that is required when you create and configure a message flow. You can include built-in nodes, nodes that are supplied by a vendor, nodes that you have created yourself (user-defined nodes), or other message flows (known as subflows).

The processing that you set up determines what actions are completed on a message when it is received, the order in which the actions are completed, and the final destinations of the message. All these actions manage the route that a message takes through a message flow; more information about these actions is provided in Routing messages. To complete more complex processing involving more than one message, you can use the nodes described in Processing events.

You can configure additional properties to make your message flow transactional, or multithreaded. You can use a global cache to share data between message flows. You can also add error paths that ensure every message is handled in an appropriate way.

When you want to run a message flow to process messages, you deploy it to an integration node, where it is run in an integration server.

The mode in which your integration node is working can affect the number of integration servers and message flows that you can deploy, and the types of node that you can use. See Restrictions that apply in each operation mode.

The following topics describe the concepts that you must understand to design, create, and configure a message flow and its associated resources: