Module 1: CICS Introduction
CICS Features
CICS is popular because it packs many features into one system - multitasking, data protection, security and recovery - so programmers can focus on business logic instead of system plumbing.
Multitasking and multi-user support
- CICS runs many tasks at the same time. This is called multitasking.
- Many users can run the same program at the same time from one copy in memory. This is called multi-user support.
- CICS uses quasi-reentrancy - it switches between tasks only at safe points (EXEC CICS commands), so one copy of the program is never corrupted by two users.
- Each user gets fast response because CICS gives the processor to the task that is ready to run.
Resource management
- CICS centrally manages files, programs, maps, temporary storage queues and transient data queues.
- Programs ask CICS for resources with EXEC CICS commands instead of opening files themselves.
- CICS controls who can use which resource and serializes updates so two tasks cannot corrupt the same record.
- Resources are defined once (with CEDA/RDO) and shared by all programs.
Data integrity and recovery
- CICS supports commit and rollback through the SYNCPOINT command.
- EXEC CICS SYNCPOINT makes all changes since the last syncpoint permanent.
- If the program fails before syncpoint, CICS backs out the changes so data stays consistent.
- CICS keeps journals and logs, so work can be recovered and restarted after a system failure.
- Example - committing the work done so far:-EXEC CICS SYNCPOINT END-EXEC.
Security, availability and more
- Security - users sign on (CESN) and CICS checks their authority for each transaction, file and program.
- High availability - CICS is built to run continuously, with emergency and warm restart facilities.
- Conversational support - CICS supports both conversational and pseudo-conversational programming styles.
- Connectivity - modern CICS connects to web services, MQ, DB2 and distributed systems.
