Module 14: CICS Performance, Security and Advanced Topics
Inter-System Communication (ISC)
Inter-System Communication connects CICS regions on different z/OS systems or different machines. It works over SNA (LU 6.2) or TCP/IP (IPIC).
ISC vs MRO
- MRO connects regions on the same z/OS image using shared memory (XCF/IRC). ISC connects regions across systems using a network.
- ISC is slower than MRO because data crosses a network, but it connects data centers in different cities.
- ISC connections use APPC (LU 6.2) sessions or IPIC over TCP/IP.
- Choose MRO inside one data center and ISC between data centers.
The four ISC facilities
- Transaction routing: a terminal on one system runs a transaction on another system. The user does not know the difference.
- Function shipping: a program on one system accesses a file or queue on another system. Add SYSID to the file command.
- Distributed program link (DPL): a program on one system LINKs to a program on another system, passing a COMMAREA or channel.
- Asynchronous processing: a program on one system STARTs a transaction on another system to run later.
Defining an ISC connection
- Define a CONNECTION with ACCESSMETHOD(VTAM) for APPC or with IPICNTRY for IPIC over TCP/IP.
- Define SESSIONS with the right MODENAME for APPC so the network allocates suitable sessions.
- The remote system needs matching definitions pointing back, with compatible session limits.
Example: function shipping a file read
- Add SYSID to any file command to run it on the remote system that owns the file.
- WORKING-STORAGE SECTION. 01 WS-ORDER-KEY PIC X(10) VALUE 'ORD0001234'. 01 WS-ORDER-REC PIC X(100). 01 WS-RESPONSE PIC S9(8) COMP. PROCEDURE DIVISION. EXEC CICS READ FILE('ORDFILE') RIDFLD(WS-ORDER-KEY) INTO(WS-ORDER-REC) SYSID('SYSB') RESP(WS-RESPONSE) END-EXEC. IF WS-RESPONSE NOT = DFHRESP(NORMAL) EXEC CICS SEND TEXT FROM('REMOTE READ FAILED') END-EXEC END-IF.
- SYSID('SYSB') must match a CONNECTION definition for the remote system.
- The remote file can have a different name. Use the local FILE definition that points to the remote file.
