WebSphere Message Brokers
File: ac00650_
Writer: Karen Cameron

Concept topic

This build: July 31, 2007 21:16:57

Converting data with message flows

Convert data that you are transferring between different environments.

Data conversion is the process by which data is transformed from the format recognized by one operating system into that recognized by a second operating system with different characteristics such as numeric order.

If you are using a network of systems that use different methods for storing numeric values, or you need to communicate between users who view data in different code pages, you must consider how to implement data conversion.

Numeric order
For numeric and encoding aspects, consider:
  • Big Endian versus Little Endian
  • Encoding values in WebSphere MQ (the Encoding field in the MQMD)

    Encoding values are system specific. For example, Windows typically has an encoding of 546, hexadecimal value X'00000222'. The three final hexadecimal digits identify:

    1. The float number format

      This value can be 1 (IEEE format byte order normal), 2 (IEEE format byte order reversed), or 3 (zSeries format byte order normal). Operations on floating point numbers, whether IEEE or z/Series (S/390) format, are subject to rounding error.

    2. The packed decimal number format

      This value can be 1 (byte order normal) or 2 (byte order reversed).

    3. The hexadecimal number format

      This value can be 1 (byte order normal) or 2 (byte order reversed).

    The bit order within a byte is never reversed. Byte order normal means that the least significant digit occupies the highest address.

    Systems that process numbers in normal byte order are Big Endian (z/Series, iSeries, Linux, and UNIX). Systems that process numbers in reversed byte order are Little Endian (mainly PCs).

    For further details about numeric order, see "Appendix D Machine encodings" of the Application Programming Reference section in the WebSphere MQ Version 6 information center online.

Code page conversions
Code page conversion might be required for any of the following reasons:
  • ASCII versus EBCDIC
  • National languages
  • Operating system specific code pages

For more information about code page support in WebSphere MQ, see the Application Programming Reference section in the WebSphere MQ Version 6 information center online.

When you use WebSphere Message Broker, you can use the data conversion facilities of WebSphere MQ, WebSphere Message Broker, or both.

WebSphere MQ facilities

Headers and message body are converted according to the MQMD values, and other header format names. You might have to set up data conversion exits to convert the body of your messages.

When you use WebSphere MQ facilities, the whole message is converted to the specified encoding and CCSID, according to the setting of the format in the WebSphere MQ header.

For more detail about data conversion using WebSphere MQ facilities, see "Appendix F Data conversion" in the Application Programming Reference section in the WebSphere MQ Version 6 information center online.

WebSphere Message Broker facilities
You can model your messages in the MRM through the workbench. Predefined elements of the messages are converted according to their type and physical layer characteristics. For further details, see Configuring physical properties. You can also use self-defining messages. You can then use the Compute node to configure encoding and CCSIDs. You do not need WebSphere MQ data conversion exits.
  • String data is converted according to the CCSID setting.
  • Decimal integer and float extended decimal types are converted according to the CCSID setting.
  • Decimal integer and float (other physical data types) are converted according to the Encoding setting.
  • Binary and Boolean data is not converted.

WebSphere Message Broker can also convert those WebSphere MQ headers for which parsers are provided (listed in Parsers).

When you use WebSphere Message Broker facilities, the whole message is not converted to the specified encoding and CCSID: you can specify a different encoding, or CCSID, or both, in each header to perform a different conversion for the following part of the message. The encoding and CCSID in the last header defines the values for the message body.

Related concepts
Message flows overview
Related tasks
Configuring message flows for data conversion
Converting code page and message encoding
Configuring physical properties
Related reference
Built-in nodes
Supported code pages
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:16:57

ac00650_ This topic's URL is: