Basic Components
A CICS component is a functional element of the CICS that enables it to perform key tasks like managing transactions, processing user inputs, and accessing system resources. These components work together to handle online transaction processing efficiently and securely. Below is the list of basic components –
3270 Terminal -
A terminal is a device or interface through which a user interacts with the CICS application. The 3270 terminals were non-programmable, also known as "dumb" workstations. They consisted of a display screen and a keyboard for input.
These terminals has basic text-based communication capabilities, with a standard screen size of 24 x 80 characters, although some alternate sizes were also available.
The 3270 data stream operations were primarily designed for transmitting data between an application program and a 3270 display, allowing end-users to interact with mainframe-based applications. Below are the components of the IBM 3270 terminal -
- Monitor
- Keyboard
Monitor -
The monitor receives input from the user and displays output back to the user. It can display a total of 1,920 characters, organized in a grid of 24 rows and 80 columns.
Each of the 1,920 characters is individually addressable, allowing application programs (such as COBOL, PL/I, etc.) to send data to any specific position on the screen. By default, all positions are unprotected; however, they can be set to protected, unprotected, or intense using BMS macros or maps.
- Example: An ATM machine, a web browser, or an IBM 3270 terminal.
- Role in CICS:
- Receives user input and displays application outputs.
- Connects users to the mainframe system where CICS runs.
- Key Features:
- Supports multiple users simultaneously.
- Manages communication between users and applications.
Keyboard -
The keyboard is the input device associated with the terminal, allowing users to send data or commands to the application. Every monitor in the IBM 3270 terminal is connected to a keyboard to control the processing.
- Role in CICS:
- Used for entering transaction codes, data, or commands.
- Includes special keys like:
- AID (Attention Identifier) Keys: Trigger specific actions (e.g., Enter, PF1-PF12, Clear).
- Non-AID Keys: Used for entering alphanumeric or functional data.
- Example: A bank clerk uses the keyboard to input a customer’s account number and transaction type.
Transaction -
A transaction is a unit of work or task executed by CICS on behalf of the user.
A transaction is a processing action initiated by a single request, typically made by an end-user at a terminal. However, transactions can also triggered from a web page, a remote workstation program, or an application in another CICS system, or they may be triggered automatically at a predefined time. Each transaction is executed by submitting its TRANSID to CICS.
The CICS transaction identifier (TRANSID) is a 4-character name defined in the program control table (PCT). A single transaction can run one or more application programs as needed during processing.
- Role in CICS:
- Each transaction has a unique Transaction ID (TRANID) to identify it.
- Represents specific operations, such as balance inquiry, fund transfer, or order processing.
- Example: When a customer enters "BAL1" to check their account balance, "BAL1" is the TRANID for the balance inquiry transaction.
Task
A task is the execution instance of a transaction. Different users can execute the same transaction, but each execution results in a separate task. When CICS receives a request to run a transaction, it starts a new task linked to that specific instance of the transaction type's execution. This process also called as Multi Tasking.
CICS, in collaboration with the operating system, manages multiple tasks by allocating a system process to each one. Specifically, a task involves one transaction execution with a designated set of data requested by a the user at a specific terminal. Once the transaction is completed, the task is terminated.
- Role in CICS:
- Tasks are managed independently to avoid interference between users.
- Tasks can run concurrently, ensuring high performance for multiple users.
- Example: When multiple users request "BAL1" at the same time, CICS creates separate tasks for each user.
Unit of Work (UOW)
A Unit of Work is the complete set of operations performed during a transaction. From the perspective of an application designer, a UOW is a sequence of actions that must be completed before any individual action can be considered complete. The CICS recovery manager operates using units of work.
In summary, a unit of work is a recoverable operation that can either be committed or fully rolled back in response to a programmed command or system failure.
- Role in CICS:
- All operations in the unit succeed or fail together.
- If an error occurs, the entire unit can be rolled back to maintain data integrity.
- Example: In a fund transfer, the deduction from one account and the credit to another are part of the same Unit of Work.
Application Program
A CICS application is a group of related programs that work together to perform a specific business operation. These applications operate under CICS control and utilize CICS services and interfaces to access various programs and files.
Typically, CICS applications are executed by submitting a transaction request. The execution of a transaction involves running one or more application programs that carry out the necessary functions.
Custom-developed programs that implement business logic and interact with CICS for resource management.
- Role in CICS:
- Executes the logic for transactions requested by users.
- Written in languages like COBOL, PL/I, or Java.
- Example: A COBOL program processes a user’s transaction request to update account balances in a database.
Map
A map defines the layout and structure of screens displayed to the user in a terminal.
- Role in CICS:
- Specifies how input fields, labels, and other elements appear on the user interface.
- Ensures consistent formatting for data entry and output.
- Example: A banking screen map may include fields for entering an account number, transaction type, and amount.
File
Files are storage resources used by CICS to manage and store data.
- Role in CICS:
- Enables transactions to read, write, update, or delete data stored in files.
- Supports various file types like sequential, indexed, and VSAM (Virtual Storage Access Method) files.
- Example: A customer database file stores account information. Transactions like balance inquiry or fund transfer access this file to fetch or update data.