Module 2: CICS Architecture
CICS Communication
CICS rarely works alone. Through MRO, ISC and TCP/IP it talks to other CICS regions, remote systems and web clients - shipping transactions, programs and file requests across the network.
Talking to other CICS regions - MRO
- MRO (Multiregion Operation) lets CICS regions on the same MVS system talk to each other through IRC (interregion communication).
- Transaction routing: you type the TRANSID on the TOR, but the program runs on the AOR. Your terminal stays connected to the TOR.
- Function shipping: a program on one region reads a file owned by another region. CICS ships the request automatically - the program code does not change.
- The regions are connected with IRC sessions that are opened when CICS starts.
Talking to remote systems - ISC
- ISC (Intersystem Communication) connects CICS systems on different machines using APPC (LU 6.2) over VTAM.
- Transaction routing works across ISC too: a transaction entered on one system runs on a remote system.
- DPL (Distributed Program Link): a program LINKs to a program on a remote system by naming its SYSID.
- Function shipping also works across ISC for files and queues, so location stays transparent to the program.
TCP/IP and web clients
- CICS Web Support lets browsers and web applications call CICS programs over TCP/IP and HTTP.
- ECI (External Call Interface): a non-CICS client program calls a CICS program, much like a subroutine call.
- EPI (External Presentation Interface): a client program drives a 3270 CICS application as if it were a terminal.
- EXCI (External CICS Interface): batch programs on the same MVS call CICS programs directly.
What you must define
- CONNECTION and SESSIONS resources define each link to a remote region or system.
- The SYSID names the remote system in LINK and other commands - it must match the CONNECTION name.
- Security must match on both ends of the link (bind security), or the session will not open.
- Test every new link with a simple transaction before putting real workload on it.
Example - DPL: LINK to a program on a remote region
- Run the order program ORDRPRG on the remote region CICB, passing the order record.
- * Run ORDRPRG on remote system CICB (distributed program link) EXEC CICS LINK PROGRAM('ORDRPRG') SYSID('CICB') COMMAREA(WS-ORDER-REC) LENGTH(LENGTH OF WS-ORDER-REC) END-EXEC
- SYSID('CICB') is what makes it distributed - without SYSID the program would run locally.
- CICB must be defined as a CONNECTION with working SESSIONS, and ORDRPRG must exist on the remote region.
