IBM Integration Bus, Version 9.0.0.5 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Parsers

Every message flow uses parsers, and therefore they are integral to all message flows. Parsers construct a message tree from incoming data, in an Input node for example, and then serialize a bitstream from the message tree, for example in an Output node. When a message flow processes larger messages, the message tree can grow and use more memory than the bitstream itself.

Before the bitstream is processed, it must be interpreted by a parser in the message flow. The parser builds a representation of the message data that is called a logical tree or a message tree from the bitstream of the message data. This message tree can then be interpreted, transformed, and processed. The message tree has contents that are identical to the message, but the message tree is easier to manipulate in the message flow. The message flow nodes provide an interface to query, update, or create the content of the tree.

When an output message is created in a message flow, the message tree must be converted back into an actual message bitstream. This conversion is done by the parser. The process of creating the output message is referred to as serialization of the message tree. The creation of the output message is a simpler process than reading an incoming message: The whole message is written immediately after an output message is created.

A parser is typically created implicitly by node operations. However, they can also be created manually as part of language function/procedure calls using ESQL, Java™, PHP, or .NET.

Parsers are used within the IBM® Integration Bus nodes to perform the following necessary tasks:
  • For input nodes and get nodes, parsers are created to own the required portions of the incoming message data.
  • For output nodes and reply nodes, parsers create output message data that is sent on the transport.
  • For request nodes, parsers create the request message data that is sent on the transport, and they own the required portions of the incoming response.
  • For transformation nodes, such as Compute or Mapping, parsers are associated with the output trees.
  • For each message tree that represents the message, Root and Properties parsers are created to own and represent the content of the other parsers.
  • For each of the other message trees (Environment, LocalEnvironment, and ExceptionList), a Root parser is created to represent the message tree.
  • Each ESQL ROW variable (shared or otherwise) is represented by a Root parser.

Parser usage and the size of the message tree usually have the largest impact on memory and the performance of the message flow because the parsers are directly related to the size of the incoming message data.


bj60032_.htm | 
        
        Last updated:
        
        Last updated: 2016-08-12 11:20:23