Previous Topic: Open Transaction EnvironmentNext Topic: Concurrency


Terminology

The following terms are important to know when you are working in an OTE:

RENT

Re-enterable modules are modules that do not modify anything in the program storage and can be loaded into read-only memory.

THREADSAFE programs

For a program to be Threadsafe, it must first be RENT. The program must either not modify the shared resources or else it must serialize use of the shared resources by using one of the many serialization techniques.

THREADSAFE applications

For an application system to be Threadsafe, all the programs that modify a shared resource must use the same serialization techniques or the application system may not be Threadsafe.

QR TCB

A Quasi-reentrant TCB also called application TCB is a TCB that has a property of forcing the application programs to run in a serialized manner. There is only one instance of a QR TCB per CICS and it only allows one CICS active task to run at any given point in time. This TCB protects the shared resources from being overridden by concurrently running tasks.

OPEN TCB

OTE introduces the open TCB which can be used by applications. An open TCB is characterized by the fact it is assigned to a CICS task for its sole use, and multiple OTE TCBs can run concurrently in CICS. Several modes of open TCBs support various functions, such as JAVA in CICS, OPEN API programs, C, and C++ programs.

OPENAPI programs

An OPENAPI program must be Threadsafe. This type of program commences execution on an OPEN TCB. Depending on the program EXECKEY of CICS or USER, the program would commence execution on L8 or L9.

CICSAPI programs

A CICSAPI program would commence execution on a QR TCB. Calls to an OPENAPI enabled TRUE causes a switch to an OPEN TCB to execute the TRUE. Depending on whether the program is defined as Threadsafe or QR, dictates whether the control returns to the application from the TRUE on the OPEN TCB or the QR TCB.