Module 2: CICS Architecture
CICS Architecture
CICS architecture is the layered design that lets thousands of users run online transactions on the mainframe at the same time. CICS sits between your application programs and the z/OS operating system.

The layers of CICS architecture
- Top layer - users: 3270 terminals, web browsers and client programs send requests into CICS.
- Middle layer - the CICS region: the CICS system itself. It holds your application programs, the CICS control programs and the resource definition tables.
- Bottom layers - z/OS and hardware: CICS asks z/OS for storage, I/O and dispatching, and z/OS drives the physical processor, disks and network.
- Your program never talks to the hardware directly. It always asks CICS for a service, and CICS talks to z/OS.
What lives inside a CICS region
- Application programs: the COBOL programs you write, containing EXEC CICS commands. They are loaded on demand from the DFHRPL libraries.
- CICS control programs (domains): ready-made services such as Task Control, Program Control, Terminal Control, File Control and the Storage Manager.
- Resource tables: definitions that describe your transactions (PCT), programs (PPT), files (FCT), terminals (TCT), transient data queues (DCT) and temporary storage queues (TST).
- The CICS nucleus (DFHNUC) is the core that is always loaded and links all these parts together.
How a transaction flows through the architecture
- User presses ENTER on the terminal. Terminal Control receives the input.
- Task Control looks up the transaction id and attaches a task - one execution of the transaction.
- Program Control loads the first program named in the transaction definition.
- The program issues EXEC CICS commands. File Control reads the VSAM file, Temporary Storage holds scratch data.
- The program sends the screen back. Terminal Control writes it to the terminal.
- The task ends and its resources are released. CICS is ready for the next transaction.
Why CICS is built this way
- Many users share one CICS region. CICS multitasks hundreds of transactions at once inside a single address space.
- Programs are written to be quasi-reentrant, so one copy of a program in storage can serve many users at the same time.
- CICS protects one task from another with storage protection and transaction isolation.
- Work can be split across regions (TOR, AOR, FOR) so no single region becomes a bottleneck.
