Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

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.





© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant