An asynchronous callout message is placed in the hold queue and awaits to be
pulled by an external application or service. If response data is expected, the external
application issues a normal IMS transaction to the
appropriate IMS application with the output data.
The following figure shows the typical asynchronous callout message flow:Figure 1. Asynchronous callout message flow
A Java™ application in WebSphere® Application Server starts and obtains a sharable
persistent connection to IMS Connect through the IMS TM resource adapter. The application issues a
SYNC_RECEIVE_CALLOUT interaction, specifies the tpipe name as the value for the alternate
client ID, and sets a timeout value. The IMS TM resource adapter, in turn, issues a RESUME TPIPE
request to the tpipe and waits for the callout request from IMS Connect.
An initiating client, such as a terminal or an IMS
Connect or OTMA client, starts an IMS application.
The IMS application issues an ISRT ALTPCB call to an
OTMA destination descriptor, which contains the destination tpipe name. The callout request
message is queued in this tpipe.
If a callout request is not available at the time of the SYNC_RECEIVE_CALLOUT request, the
IMS TM resource adapter is blocked, and the
bean waits for the next available callout message or until timeout occurs. When the callout
request is available in the tpipe, IMS Connect delivers
the callout message to the IMS TM resource adapter.
The IMS TM resource adapter receives the
callout request message and returns the callout request to the bean. The bean processes the
callout request.
If the bean receives response data to be returned to IMS, the bean issues a normal IMS transaction
request to the appropriate IMS application with the output
data.