Techniques for sharing data

The CICS® techniques that can be used for sharing data are compared, in tabular form, to show you when to consider using a coupling facility data table.

Table 1. Techniques for sharing scratchpad data
Constraints and factors Single Region Single MVS™ Sysplex
Technique no longer recommended (too restrictive) TWA
Recommended method for single area for each transaction COMMAREA or channel COMMAREA or channel COMMAREA or channel
Existing application programs use temporary storage (TS) queues Local TS queue Remote TS queue Shared TS queue
Existing programs  use
  UMT
Random insert and
  delete required
Multiple types of
  data stored              
UMT Remote UMT CFDT (contention model)

In Table 1, different techniques are considered for passing scratchpad data between phases of a transaction, where only one task is accessing the data at a time, but the data can be passed from a task in one region to a task in another. 'Remote UMT' means a shared user-maintained data table that is accessed from AORs either by function shipping where necessary (that is, for update accesses) or by SDT cross-memory sharing for non-update accesses. The table shows that, within a Parallel Sysplex®, a coupling facility data table is the best solution for random insertion and deletion of data, and where multiple types of data need to be stored. Without these constraints, shared TS queues are a more appropriate choice if the application programs are already using temporary storage.

Table 2. Techniques for sharing queues of data
Constraints and factors Single Region Single MVS Sysplex
Read-only at  head,
write-only at tail
Triggering  required  
Local transient data (TD) Remote TD Remote TD
Process batches of items TS queue or UMT Remote TS or remote UMT Shared TS or CFDT
Delete each item after processing. Random insert and delete required. UMT Remote UMT CFDT

In Table 2, different techniques for sharing queues of data are shown, where information is stored in a specific sequence, to be processed by another application program or task in the same sequence. The CICS transient data and temporary storage queue facilities are recommended in most cases, with a few instances where data tables provide a more appropriate solution for handling sequenced data.

Table 3. Techniques for sharing control records
Constraints and factors Single Region Single MVS Sysplex
Technique no longer recommended CWA MVS CSA
Single updating region, single record TS queue or UMT Remote TS queue or UMT Shared TS queue or CFDT (contention model)
Multiple updating regions or multiple records UMT Remote UMT CFDT

In Table 3, different techniques for managing control records are shown. This illustrates where a central control record is used to make information available to all transactions. For example, this can contain the next unused order number, or customer number, to make it easier for programs to create new records in a keyed file or database. (For this type of application consider the named counter function, which is also a sysplex-wide facility. See Named counter servers for details.)

The table shows that within an MVS image, if there is a single region that makes all the updates to a single record, you can use a UMT without any function shipping overheads.

Where there are multiple regions updating the control record, or there is more than one control record to update, then a coupling facility data table is the only solution within a Parallel Sysplex environment, and it could also be more effective than function shipping the updates to a UMT within a single MVS.

Table 4. Techniques for sharing keyed data
Constraints and factors Single Region Single MVS Sysplex
Read-only or rarely updated UMT UMT Replicated UMT
Single updating region UMT UMT Replicated UMT or CFDT
Multiple updating regions Recoverable (backout only) UMT Remote UMT or CFDT CFDT

In Table 4, different techniques for sharing keyed data are shown. This covers applications that use data similar in structure to a conventional keyed file, but where the information does not need to be stored permanently, and the performance benefits are sufficient to justify the use of main storage or coupling facility resources to store the relevant data.

This data is most appropriately accessed using the file control API, which means that within a Parallel Sysplex, the solution is to use:
  • A replicated user-maintained data table where the highest performance is required, and where access is either read-only, or updates are rare and you can arrange to make these from a single region and refresh the replicated UMT in other regions
  • A coupling facility data table.
Note that recovery support for UMTs is limited to transaction backout after a failure. For coupling facility data tables, recovery is also provided for CICS and CFDT server failures, and also for indoubt failures,