You can use a message map to graphically transform, route, and enrich a message. You can use a message map to modify data in a database system. You can use drag actions to make connections, select transforms, and build logic to transform your message data without programming.
A message map is the IBM® Integration Bus implementation of a graphical data map. It is based on XML schema and XPath 2.0 standards.
You can use a message map to achieve the transformation of a message without the need to write code, providing a visual image of the transformation, and simplifying its implementation and ongoing maintenance.
The message map can be in the same container as the Mapping node (such as an application), or it can be in a referenced shared library. If multiple solutions are likely to use the same message map, store the map in a shared library.
In IBM Integration Bus, the logical tree structure is the internal representation of a message. It is also known as the message assembly.
When a message arrives to IBM Integration Bus, a parser is called. Each parser is suited for a particular type of message, and is known as a message domain. A parser converts the bit stream of an input message to its internal format. The data structure that you define in a message map for an input or an output message is the IBM Integration Bus internal representation of the message.
For more information, see Input and output messages to a message map.
You can use message models for any messages that you want to include in a mapping. You can select the message model from your existing message models in your application, integration service, or library when you create a message map. The mapping facility supports message models that are provided in DFDL schema and XML schema files, or MRM message sets.
If your message model includes wildcards (xsd:any), you can use a Cast function to redefine these data elements to a global type or element from any message schema in your application. For more information, see Casting elements in a message map. You can also qualify your wildcards by adding dynamically user-defined elements.
You edit a message map in the Graphical Data Mapping editor. You can create, modify, or delete a message map.
The Graphical Data Mapping editor saves message maps as .map files.
For more information, see Editing message maps.
By default, any message assembly component that is not included in the message map is copied from input to output unchanged.
To modify a message assembly component, you add the header or folder to the input and output message assembly in the message map, and provide transformations.
To delete a message assembly component, you add the component to the input message assembly, but not the output message assembly in the message map.
To create a message assembly component, you add the component only to the output message assembly in the message map.
For more information, see Transforms (Mapping operations).
You can use local maps as navigation aids. You view the map elements in a hierarchical way. Unlike submaps, local maps are not separate files and they are not reusable. They provide a way of breaking up a large map into nested groups of mapping elements and processing the complex elements of the whole message.
Message map files are deployed to the IBM Integration Bus run time environment to enable them to be run in a message flow.
When you build and deploy a BAR file for an integration solution, the message map files are automatically included.
When you deploy independent resources, the BAR file editor provides a resource category to allow message maps to be selected for deployment.
If your message map file is used by multiple solutions, you might store the map in a shared library. Shared libraries that are referenced by applications must be deployed with or before the applications that refer to them. You can deploy the shared libraries directly to the integration server before you deploy the applications. Alternatively, you can include the applications and shared libraries in a BAR file and deploy the BAR file. If you update the message map in a shared library, those changes are available automatically to all applications that refer to that shared library.