Version 13 of the IBM Information Management System (IMS) makes sending asynchronous callout messages to WebSphere MQ simpler and more flexible than ever before. You no longer need to code IMS exit routines to define MQ headers or restart IMS after changing either the MQ header values or message routing information. You can now use Open Transaction Manager Access (OTMA) destination descriptors and IMS commands to dynamically define and route messages in IMS that are destined for WebSphere MQ.
OTMA Destination Descriptors
Prior to IMS 10, sending outbound asynchronous callout messages to external destinations through the IMS OTMA component required systems programmers to code several Assembler OTMA routing user exit routines, such as the OTMA Destination Resolution exit routine (DFSYPRX0) and the OTMA User Data Formatting exit routine (DFSYDRU0). Writing or updating an IMS user exit routine in the Assembler programming language can be difficult and can inhibit or delay the adaptation of IMS to new connectivity implementations.
The OTMA destination descriptors, first introduced in IMS 10, can eliminate the need to code these OTMA routing user exit routines by providing an easier way to indicate the values and options that previously could be specified only by the exit routines. IMS stores OTMA destination descriptors in the DFSYDTx member of the IMS procedure library (IMS PROCLIB). During start-up, IMS reads any predefined descriptors in the DFSYDTx member and initializes them.
After IMS start-up, you can use IMS type-2 commands to query, create, update or delete the OTMA destination descriptors, which makes managing OTMA messages even easier.
In IMS 13, if both an OTMA destination descriptor and an OTMA routing user exit routine are used, the OTMA exit routines can be called to make a final routing decision and override the values specified in the destination descriptor, if necessary.
You can use OTMA destination descriptors to:
• Send OTMA asynchronous callout messages to non-OTMA destinations, such as SNA printers and terminals
• Initiate a synchronous program switch in IMS 13 between two IMS application programs
• Send asynchronous and synchronous callout messages to IMS Connect
• Send asynchronous callout messages to WebSphere MQ.
Let’s examine how to use the OTMA destination descriptors to send asynchronous callout messages from IMS application programs to WebSphere MQ.
Calling Out to WebSphere MQ
Figure 1 shows how an OTMA descriptor can be used with an asynchronous callout message to WebSphere MQ. A Batch Message Processing (BMP) application program specifies MQM001 as the destination for an asynchronous callout message. An OTMA destination descriptor is defined with the name MQ*. The asterisk is a wild card character.
When IMS receives the asynchronous callout message, it searches all OTMA destination descriptors to find a match for MQM001. In this case, IMS doesn’t find a destination descriptor name that exactly matches MQM001, so the descriptor MQ* is used. By using a wildcard character, one descriptor can be used for multiple destinations.
WebSphere MQ Options
You can use OTMA destination descriptors to route asynchronous callout messages to WebSphere MQ and to create the MQMD (Message Descriptor) that WebSphere MQ requires. To route asynchronous callout requests to WebSphere MQ, you must specify these parameters in the OTMA destination descriptor: