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
See information about the latest product version
Selecting a parser
When you select a parser, your decision must be based on the characteristics of the messages that your applications exchange.
IBM® Integration Bus provides a range of parsers to handle the following messaging standards in use:
- XMLNSC
- DFDL
- MIME
- JMSMap
- JMSStream
- BLOB
- SOAP
- IDoc
- MRM-XML
- MRM-CWF
- MRM-TDS
The parsers parse AND SERIALIZE the messages into and out of the message flow, with different parsers having different performance costs.
Each parser can process either:
- The message body data of messages in a particular message domain, XML for example.
- particular message or transport headers, MQMD for example.
Application requirements | Parser domain |
---|---|
Use SOAP-based web services, including SOAP with Attachments (MIME) or MTOM | SOAP |
Uses JSON format, as maybe used in RESTful web services | JSON |
Your application data is in XML format other than SOAP | XMLNSC |
Data comes from a C or COBOL application, or consists of fixed-format binary data | DFDL |
Data consists of formatted text, perhaps with field content that is identified by tags, or separated by specific delimiters, or both | DFDL |
Data is from a WebSphere® Adapter such as the adapters for SAP, PeopleSoft, or Siebel | DataObject |
Data is in SAP text IDoc format, such as those exported using the WebSphere MQ Link for R3 | DFDL |
Data is in MIME format, other than SOAP, with attachments (for example, RosettaNet). You do not know, or do not have to know, the content of your application data | MIME |
You do not know, or do not have to know, the content of your application data | BLOB |
It is recommended to use compact parsers such as XMLNSC for XML parsing and DFDL for non-XML parsing. The benefit of compact parsers is that they discard white space and comments in a message. Therefore those portions of the input message are not populated in the message tree, which keeps memory usage down.
While parsers are created implicitly by node operations, they can also be created manually as part of language function/procedure calls: