Table of Contents Previous Next PDF


Overview of the CICS Runtime

Overview of the CICS Runtime
General Architecture
In a z/OS environment, CICS is used to establish transactional communications between end-users and compiled programs via screens.
CICS is middleware that implements the control and integrity of shared resources, providing developers with APIs (EXEC CICS … END-EXEC statements) to dialog with CICS inside programs mainly developed on z/OS in COBOL, PL1 and Assembler languages.
Once all the components of z/OS CICS applications (COBOL programs and data) are migrated to a UNIX/linux platform using Oracle Tuxedo Application Runtime Workbench, CICS Runtime enables them to be run unchanged using an API emulation on top of the native Oracle Tuxedo features.
On a UNIX platform, Oracle Tuxedo performs many of the functions performed by CICS on a z/OS platform concerning the integrity of resources and data used in transactional exchanges, including those used for applications that are distributed across several machines. However, Oracle Tuxedo does not manage some specific native CICS z/OS features such as screen map handling. To provide these features on the target platform, CICS Runtime acts as a technical layer, located between Oracle Tuxedo and the converted CICS applications.
Figure 2‑1 illustrates the CICS Runtime global architecture.
Figure 2‑1 Oracle Tuxedo Application Runtime for CICS Architecture
CICS Runtime is composed of two major parts:
The CICS Runtime Library
In z/OS CICS applications, all the interactions with the resources managed by CICS are made thru the EXEC CICS API.
A CICS Preprocessor transforms these statements into calls to CICS library as shown in Listing 2‑1.
Listing 2‑1 z/OS CICS calls
*EXEC CICS
* RECEIVE MAP ('RTSAM10')
* MAPSET ('RTSAM10')
* INTO (RTSAM10I)
*END-EXEC.
MOVE ' è? ???? ??? 00203 ' TO DFHEIV0
MOVE 'RTSAM10' TO DFHC0070
MOVE 'RTSAM10' TO DFHC0071
CALL 'DFHEI1' USING DFHEIV0 DFHC0070
RTSAM10I DFHDUMMY DFHC0071.
 
On UNIX, the CICS Runtime Preprocessor transforms these EXEC CICS into calls to the CICS Runtime library as shown in Listing 2‑2.
Listing 2‑2 CICS Runtime calls
*EXEC CICS
* RECEIVE MAP ('RTSAM10')
* MAPSET ('RTSAM10')
* INTO (RTSAM10I)
*END-EXEC.
INITIALIZE KIX--INDICS
MOVE LOW-VALUE TO KIX--ALL-ARGS
. . .
ADD 1 TO KIX--ARGS-NB
SET KIX--INDIC-MAPSET(KIX--ARGS-NB) TO TRUE
MOVE 'RTSAM10' TO KIX--MAPSET OF KIX--BMS-ARGS
ADD 1 TO KIX--ARGS-NB
SET KIX--INDIC-MAP(KIX--ARGS-NB) TO TRUE
MOVE 'RTSAM10' TO KIX--MAP OF KIX--BMS-ARGS
CALL "KIX__RECEIVE_MAP" USING KIX--INDICS KIX--ALL-ARGS
 
CICS Runtime Oracle Tuxedo Servers
The CICS Runtime Oracle Tuxedo servers are used to manage CICS features not natively present in Tuxedo.
Some of these servers are mandatory in order to make CICS Runtime available, others are optional depending on the usage of specific EXEC CICS statements in CICS Applications.
Mandatory Servers
The Terminal Connection servers (TCP servers: ARTTCPH and ARTTCPL servers): manage user connections and sessions to CICS applications thru 3270 terminals or emulators.
The Connection Server ARTCNX: manages the user session and some technical transactions relative to security (CSGM: Good Morning Screen, CESN: Sign On, CESF: Sign off).
The Synchronous Transaction server ARTSTRN: manages standard synchronous CICS transactions that can run simultaneously.
Optional Servers
The Synchronous Transaction servers ARTSTR1: manages CICS synchronous transaction applications that can not run simultaneously but only sequentially (one at a time).
The Asynchronous Transaction servers ARTATRN and ARTATR1: are similar to the ARTSTRN and ARTSTR1 but for asynchronous transactions started by EXEC CICS START TRANSID statements.
TS Queue servers ARTTSQ, TMQUEUE and TMQFORWARD: manage the use of CICS Temporary Storage Queues - files managed by CICS thru specific commands.
Server Configuration
The CICS Runtime Tuxedo servers are configured in:
1.
2.
The CICS Runtime Resource Configuration Files
z/Os Resource Management
On z/OS, all the technical components used by CICS applications (terminals, transactions, programs, maps, files …) are named CICS resources and must be declared to CICS using a dedicated configuration file called CSD.
Each resource declared must belong to a resource Group name. This enables a set of resources bound together constituting a technical or a functional application to be managed (install, delete, copy to anther CSD...).
Once created, one or more CICS groups can be declared in a CICS List name. All or part of these List names are given to CICS at startup to install their CICS groups, and thus make available all the resources defined in these groups.
CICS Runtime Resource Management
CICS Runtime manages only a subset of the resource types previously defined in the CICS CSD file on z/OS. Each resource type definition of this subset is stored inside its own dedicated Resource Configuration file. All these files are located in the same UNIX directory.
The Group name notion is kept to preserve the same advantages as on the z/OS platform. For this purpose, each resource defined in the configuration files must belong to a CICS Group name.
CICS Runtime manages the following resources:
Tranclasses (transclasses.desc file)
This file contains all the distinct Transaction classes (Tranclasses) referenced by the CICS Transactions. In CICS Runtime, a Tranclass is a feature defining whether several instances of the same transaction can be run simultaneously or sequentially.
A transaction is a CICS feature allowing a program to be run indirectly thru a transaction code either manually from a 3270 screen or from another COBOL CICS program.
A transaction belongs to a transaction class in order to define whether this transaction must be run exclusively.
Programs (programs.desc file)
This file contains a list of all COBOL or C programs invoked thru EXEC CICS START, LINK or XCTL statements.
TS Queue Model (tsqmodel.desc file)
Contains all the TS Queue models referenced by TS Queues used in the CICS programs.
A TS Queue model defines properties that complete or replace those defined in the CICS API that manages Temporary Storage Queues. The names of these TS Queues must match a mask defined in the TS Queue model. In CICS Runtime, these models are mainly used to define whether TS Queues are recoverable or not.
Mapsets (mapsets.desc file)
This file contains all the mapsets referenced by the CICS applications. A mapset is a CICS resource, but also a physical component containing one or more screens (maps) used in the exchanges between CICS applications and end-users.
These resources are used thru dedicated CICS statements like EXEC CICS SEND or RECEIVE MAP inside COBOL programs.
Typeterms (typeterms.desc file)
Contains all of the 3270 terminal types supported by the CICS Runtime TCP servers.
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.