IBM® Integration Bus includes many message processing nodes that you can use in your message flows.
Read the concept topic, Message flow nodes.
IBM Integration Bus also provides an interface that you can use to define your own nodes, which are known as user-defined nodes.
The mode that your broker is working in can affect the types of node that you can use; see Restrictions that apply in each operation mode.
Your decision about which nodes to use depends on the processing that you want to perform on your messages.
An input node is different from other nodes because it controls when the rest of the message flow is triggered to do its processing. The input node is designed to check when there is data for the message flow to process, read that data from the transport or server, and present that data to the rest of the flow for processing. The other nodes do processing, but do not control when the flow gets invoked.
You can also use reply, request, and response nodes to interact with other applications from within a message flow; these types of node are supplied for a subset of protocols only.
Most enterprises have applications that have been developed over many years, on different systems, using different programming languages, and different methods of communication. IBM Integration Bus removes the need for applications to understand these differences by providing the ability to configure message flows that transform messages from one format to another.
For example, personal names are held in many forms in different applications. Surname first or last, with or without middle initials, uppercase or lowercase, are just some of the permutations. Because you can configure your message flow to know the requirements of each application, each message can be transformed to the correct format without modifying the sending or receiving application.
You can work with the content of the message to update it in several ways. Your choices here might depend on whether the message flow must handle predefined (modeled) messages, self-defining messages (for example, XML), or both.
A message flow can completely rebuild a message, convert it from one format to another (for example, changing order of fields, byte order, or language), remove content from the message, or introduce specific data into it. For example, a node can interact with a database to retrieve additional information, or to store a copy of the message (whole or part) in the database for offline processing.
You can also create message flows that use these nodes to interact with each other. Although the default operation of one message flow does not influence the operation of another message flow, you can force this action by configuring your message flows to store and retrieve information in an external source, such as a database.
These nodes are supplied to transform messages.
You can use nodes that determine the order and flow of control in the message flow in various ways to decide how messages are processed by the flow. You can also use nodes (TimeoutControl and TimeoutNotification) that determine the time, and frequency of occurrence, of events in the message flow. Routing is independent of message transformation, although the route that a message takes might determine exactly what transformation is performed on it.
For example, a money transfer application always sends messages to one other application. You might decide that every message with a transfer value of more than $10,000 must also be sent to a second application, to enable all high-value transactions to be recorded.
In another example, a national auto club offers a premier service to specific members for orders above a threshold value. Most orders are routed through the typical channels, but, if the membership number and order value meet certain criteria, the order gets special treatment.
You can also establish a more dynamic routing option by building additional routing information into the message when it is processed. Optional sets of rules are set up to receive messages according to values (destinations) set into the message. You can establish these rules such that a message is processed by one or more of the optional sets of rules, in an order that is determined by the added message content.
These nodes are provided to decide about the route that a message follows through the message flow.