CICS itself acts as an operating system. Its job is to provide an environment for online execution of application programs. CICS runs in one region or partition or address space. CICS handles scheduling for programs running under it. CICS runs as a batch job and we can view it in the spool by issuing the command PREFIX CICS*. There are five major services which are provided by CICS. All these services together perform a task.
Following are the services which we will be discussing in detail step by step −
CICS maintains control functions to manage the allocation or de-allocation of resources within the system which are as follows −
Task Control − Task control provides task scheduling and multitasking features. It takes care of the status of all CICS tasks. Task Control allocates the processor time among concurrent CICS tasks. This is called multitasking. CICS tries to prioritize the response time to the most important task.
Program Control − Program Control manages loading and releasing of application programs. As soon as a task begins, it becomes necessary to associate the task with the appropriate application program. Although many tasks may need to use the same application program, CICS loads only one copy of the code into memory. Each task threads its way through this code independently, so many users can all be running transactions that are concurrently using the same physical copy of an application program.
Storage Control − Storage Control manages acquiring and releasing of main storage. Storage control acquires, controls, and frees dynamic storage. Dynamic storage is used for input/output areas, programs, etc.
Interval Control − Interval Control offers timer services.
Data Communication Services interface with telecommunication access methods such as BTAM, VTAM, and TCAM for handling data communication requests from application programs.
CICS releases application programs from the burden of dealing with terminal hardware issues through the use of Basic Mapping Support (BMS).
CICS provides Multi Region Operation (MRO) through which more than one CICS region in the same system can communicate.
CICS provides Inter System Communication (ISC) through which a CICS region in a system can communicate with the CICS region on another system.
Data Handling Services interface with data access methods such as BDAM, VSAM, etc.
CICS facilitates servicing of data handling requests from application programs. CICS provides application programmers a set of commands for dealing with data set and database access and related operations.
Data Handling Services interfaces with database access methods such as IMS/DB, DB2, etc. and facilitate servicing of database requests from application programs.
CICS facilitates management of data integrity by control of simultaneous record updates, protection of data as task ABENDs and protection of data at system failures.
Application Programming Services interface with application programs. The application programming services of CICS provide features such as command level translation, CEDF (the debug facility) and CECI (the command interpreter facility). We will be discussing more in detail in upcoming modules.
Monitoring Services monitor various events within CICS address space. It provides series of statistical information that can be used for system tuning.