A SOA developer defines message flows 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 the message flow nodes are joined together determine which processing steps are carried out, in which order, and under which conditions. A message flow includes an input node that provides the source of the messages that are processed, which can be processed in one or more ways, and optionally deliver it through one or more output nodes. The message is received as a bit stream, without representational structure or format, 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.