CICS essentially separates online applications from others in the system and handles these programs itself. When an application program accesses a terminal or any device, it doesn't communicate directly with it.
The program issues commands to communicate with CICS which communicates with the needed access methods of the operating system. Finally, the access method communicates with the terminal or device.
Application program use CICS to communicate with remote and local terminals and subsystems. Below are the list of basic components –
- IBM 3270 Terminal
- Unit of work (UW)
IBM 3270 Terminal -
The 3270 terminals were a non-programmable or dumb workstation. It was a display screen with a keyboard attached to control.
The 3270-terminal had basic text-based communications capabilities. A 24 x 80 screen size became the standard for 3270 terminal and some alternate sizes available for use.
The 3270 data stream operations are designed primarily for transmitting data between an application program and a 3270 display with keyboard so end users can interact with mainframe-based applications. Below are the components of IBM 3270 terminal –
- AID Keys
- Non-AID keys
Monitor receives the input from the user and displays output to the user. Monitor is capable of displaying 1920 characters (as shown in below diagram – 24 rows x 80 columns).
Each character from 1920 accessible and individually addressable. An application program (COBOL, PL/I etc) can send data to all positions (1920) on the screen. By default, all the positions are unprotected and can make protected, non-protected or intensity using BMS macros or maps.
Every monitor in IBM 3270 terminal is connected with a keyboard to control the processing. IBM separated the keyboard keys into two categories –
AID Keys -
AID keys are abbreviated as Attention Identifier Keys. CICS can detect only AID keys. When user press the AID keys, the CICS takes control to process the specified function assigned to it.
AID keys are - Program Access keys(PA1 to PA3), Functional Keys(PF1 to PF24, Enter, Null and Clear). Functional Keys allow to transfer data from terminal to CICS. Program access keys do not allow to transfer the data between terminal and CICS.
Non-AID keys -
All other keys except the AID keys are non-AID keys. Non-AID keys are: alphabets, numeric, punctuation etc. CICS system doesn’t recognizes the non-AID keys even after entering by the user.
A transaction is a piece of processing initiated by a single request. The transaction request is usually from an end-user at a terminal.
The transaction can also be made from a web page, a remote workstation program, or an application in another CICS system, or triggered automatically at a predefined time. Transaction runs by submitting its TRANSID to CICS.
CICS transaction (TRANSID) is a 4-character name that defined in the program control table (PCT). The term transaction in CICS is also called as unit of work.
Each transaction type describes to CICS with a TRANSACTION resource definition. A single transaction runs one or more application programs when processing needed.
Task is a unit of work resulting from a transaction being started. A task is a single instance of the transaction execution.
Many different end users can execute the same transaction, but each execution results a separate task. When CICS receives a request to run a transaction, it starts a new task associated with one instance of the execution of the transaction type.
CICS in conjunction with the operating system, manages the control of multiple tasks by allocating a system process to each task. In detail task is, one transaction execution with a specific set of data requested by a specific user at a specific terminal. When the transaction completes, the task gets terminated.
Unit of Work -
The period between the particular changes starting point and the changes completed point is called a unit of work (UOW). The unit of work is a fundamental concept of all CICS backout mechanisms.
From the application designer's point of view, UOW is a sequence of actions that needs to be completed before any of the individual actions can be observed as complete. To ensure data integrity, a unit of work must be atomic, consistent, isolated and durable.
The CICS recovery manager operates with units of work. If a transaction consists of multiple UOWs fails or the CICS region fails, committed UOWs are not backed out.
Unit of work is a complete operation that is recoverable. Unit of work can be committed or backed out fully as a result of a programmed command or system failure.
Application Program -
CICS application is a collection of related programs that together perform a business operation. CICS applications execute under CICS control and using CICS services and interfaces to access programs and files.
CICS applications are conventionally run by submitting a transaction request. Transaction execution consists of running one or more application programs that implements the required function.
CICS uses the information recorded in the TRANSACTION definition to establish the correct execution environment and starts the first program execution.