The Sun Adapter for CICS is an interface that enables remote bidirectional calls to CICS transactional programs. The CICS Adapter includes a build tool, the Cobol Copybook Converter, that creates an Object Type Definition (OTD) from a Cobol Copybook file and generates Java CAPS ESB Object Type Definitions for use within the Java CAPS ESB environment. The Copybook file structures are passed into the CICS environment as the data buffer (Commarea).
A fixed Object Type Definition, the CICS_eWay.CICSClient OTD, designed to expose various essential portions of the CICS Java API, provides available methods and properties, as well as access to all message attributes.
The Adapter can use either the IBM CICS Transaction Gateway version 5.1, 6.0, 6.0.1, or 6.1, or the Sun CICS Listener as the underlying connection transport for accessing CICS z/OS transactions.
CTG provides an API (the External Call Interface or ECI) to call CICS transactions on the mainframe. The ECI allows a non-CICS application program to call a CICS program in a CICS server. Sun’s CICS Adapter uses this ECI method to connect to CICS. The CICS Adapter connects to CICS with CTG running on a local-host, on a second computer, or on the mainframe.
When using the CICS Transaction Gateway transport, data sent to CICS must be padded with spaces, if necessary, to match the full size of the commarea.
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.