Messages

An MQe message payload is held in one or more MQeFields objects. These are containers with a type, name and value. MQeFields may be recursive, so it is possible for an application developer to create messages containing multiple MQeFields objects, depending on the type of data required. The MQeFields object is self-describing, allowing MQe to dispense with a static header object to describe the data payload. Therefore, the amount of MQe information added to a message is partly dependent on the number of MQeFields objects in the MQeMsgObject. The best approach to minimize network usage is to put all the data into one MQeMsgObject with the smallest name appropriate for the application. This has two affects. Firstly, the amount of MQe data in the message payload is minimized, and secondly, the time taken to serialize and de-serialize the message is also minimized. The down side of this approach is that your application becomes responsible for parsing the data in the message, rather than being able to use multiple MQeFields objects.

Every time data is sent across the network, additional bytes are added by the network protocol. For instance, TCP adds 20 bytes; then IP add an additional 20 bytes. The application developer can minimize this overhead by creating fewer large messages, rather than sending numerous small messages. For more information, see the various adapter settings throughout this section.

If your MQe messages are destined for an MQe queue, you can use the MQe API MQeMultiMsgObject, which allows you to put multiple messages into a single object. This object allows the application developer to wrap multiple messages into one large message with the corresponding support for retrieving the messages. MQeMultiMsgObject removes the responsibility of parsing a large message for imbedded smaller messages from the application.


Terms of use | WebSphere software

(c) Copyright IBM Corporation 2004, 2005. All rights reserved.