MRM parser and domain

The MRM message domain includes all messages that are modeled in the workbench.

You can create message models to represent a wide range of message types, with one or more optional physical formats. Messages in this domain are processed by the MRM parser.

The MRM parser is a program that interprets a bit stream or tree that represents a message that belongs to the MRM domain, and generates the corresponding tree from the bit stream on input, or bit stream from the tree on output. Its interpretation depends on the physical format that you have associated with the input or output message:

In the MRM domain, the message is considered in two parts:

  1. The logical message model. This is the piece of the message that conveys the business data, devoid of its physical representation (how it appears in a bit stream on the wire). It is independent of platform and the way in which the message is constructed.

    For example, if you define a message that conveys information about a debit of an individual's bank account, it can be represented in different physical forms on the wire (in XML, or a fixed structure such as a COBOL copybook). The business meaning and data is the same in both cases: only the physical layout has changed.

  2. The physical representation. This is how the data is physically laid out on the wire. A single logical message model might have several different ways in which it can be physically represented.

This two-part definition can be useful, because it handles situations in which you need to connect two different systems. For example, a legacy style application that expects data to be passed to it in the form of COBOL copybooks, might need to communicate with a system that expects data in the form of XML. Both applications work with the same data, and it would be undesirable to alter either application. By routing the messages through a broker, you can use a single logical model with multiple physical representations to provide the required transformation.

The Video Rental sample, Comma Separated Value (CSV) sample, EDIFACT sample, FIX sample, SWIFT sample, and X12 sample all use the MRM parser to process messages.

Related concepts
ESQL overview
XML parsers and domains
JMS parser and domains
Logical tree structure
Correlation names
Message modeling concepts
Physical formats in the MRM domain
Related tasks
Designing a message flow
Developing ESQL
Developing Java
Manipulating message body content
Manipulating messages in the MRM domain
Related reference
Built-in nodes
Message model reference information