The CICS Adapter connects to the IBM CICS Listener running on z/OS via the TCP/IP Sockets. The Listener accepts the incoming request and spawns a new process handing the socket connection off to the newly created process via TCP/IP givesocket()/takesocket() function calls. The spawned process invokes the user written CICS application program through an EXEC CICS LINK.
The CICS Adapter (Java version) communicates with the Sun CICS Listener for Synchronous Transactions as follows:
An incoming Connect request is handled by the IBM CICS Socket Listener, which starts the Sun CICS Listener Transaction and hands off the incoming connection via the IBM TCP/IP Give Socket and Take Socket interface.
The Sun CICS Listener allocates a CICS COMMAREA and copies information from the CICS Adapter COMMAREA to the actual CICS COMMAREA.
The Sun CICS Listener issues an EXEC CICS LINK to requested CICS Transaction Program passing it the newly allocated COMMAREA.
The requested CICS Transaction obtains data from the COMMAREA, performs typical business rule processing and then returns its results in the COMMAREA and returns control back to the Sun CICS Listener.
The Sun CICS Listener copies information from the CICS COMMAREA back to the CICS Adapter COMMAREA.
The Sun CICS Listener goes into a listen mode and waits for the next incoming Transaction Program request.
The process continues until the Sun CICS Listener Timeout is exceeded or a disconnect request is received from the CICS Adapter.