Overview of CICS synchronous and asynchronous processing for ISC
CICS® implements ISC using its command level (EXEC) application programming interfaces (APIs). The CICS APIs can be synchronous or asynchronous.
The synchronous API uses the SEND
and RECEIVE
EXEC
commands. In synchronous mode in an ISC session, the session
is held between the moment a request is entered and the moment a reply
is returned. Thus, a direct correlation can be made between the input
request and the output reply.
ISC TCP/IP connections do not support
the SEND
and RECEIVE
EXEC commands.
The asynchronous API uses the START
and RETRIEVE
EXEC
commands. In asynchronous mode in an ISC session, no correlation
can be made between an input request and an output reply. No assumptions
can be made as to the timing of the output reply or the availability
of any other output for that session.
CICS supports
ISC TCP/IP sessions with only the START
and RETRIEVE
EXEC
commands.
When used within the context of a CICS application program, the EXEC commands create the data flow control protocols for synchronous or asynchronous processing that are associated with messages on the session.
- Whether the attributes (such as recoverability and segmentation) are defined for the message on the TRANSACT, TERMINAL, and SUBPOOL macro statements during IMS system definition or on an ETO logon descriptor
- For VTAM® connections, whether the characteristics are defined in the bind parameters
- For TCP/IP connections, whether the characteristics are defined in the CICS IPCONN and TCPIPSERVICE resource definitions
- Whether the message is a reply that is returned on the same session as an associated request or on a different session than the associated request
- Whether the message is unsolicited asynchronous output
When an asynchronous message is sent from CICS to IMS, the sending transaction might terminate. The returned reply can be processed by a newly initiated CICS transaction according to parameters in the function management headers returned on the message by IMS.
The following figure illustrates the concept of synchronous SEND
and RECEIVE
processing.
The following figure illustrates the concept of asynchronous START
and RETRIEVE
processing.