Using transaction isolation

Transaction isolation is built on top of storage protection, which means that STGPROT=YES must be specified. Transaction isolation makes use of parameters introduced by storage protection, these being EXECKEY and TASKDATAKEY.

In addition to being able to specify the storage and execution key for user transactions, you can also specify whether you want transaction isolation. You can control transaction isolation globally for the whole CICS® region by means of the TRANISO system initialization parameter. For individual transactions, the ISOLATE option of the transaction resource definition allows you to specify the level of protection that should apply to each transaction and program.

ISOLATE [YES or NO]

The defaults for these options mean that, in most cases, no changes to resource definition are needed for existing applications. However, where necessary, protection can be tailored to allow transactions to continue to function where they fail to meet the criteria for full protection, which is the default. This means that the transaction’s user-key task lifetime storage is protected from the user-key programs of other transactions, but not from CICS-key programs. See Figure 131 for an illustration of this.

A user-key program invoked by transaction A (TXNA) may read and write to TXNA’s user-key task lifetime storage and to shared user storage. Moreover, TXNA has no access to transaction B’s (TXNB) user-key task lifetime storage.

Figure 131. Two transactions defined as ISOLATE(YES)
 A diagram showing the storage accessible by TXNA and TXNB as described in the text.

If a transaction is defined as ISOLATE(NO), its user-key task lifetime is visible to all other transactions also defined as ISOLATE(NO). It is, however, protected from transactions defined as ISOLATE(YES).

Figure 132. Two transactions defined as ISOLATE(NO) with read/write access to each other’s task lifetime storage
 A diagram showing the storage accessible by TXNA and TXNB as described in the text.

Figure 133. Two transactions defined as ISOLATE(YES) to a CICS-key program that has read/write access to both CICS- and user-key storage
 A diagram showing the storage accessible by TXNA and TXNB as described in the text.
[[ Contents Previous Page | Next Page Index ]]