Function Shipping

Top  Previous  Next

XCICS function shipping enables XCICS (command-level) application programs to:

Access on-line files owned by other XCICS/CICS regions by shipping file control requests.
Transfer data to or from transient-data and temporary-storage queues in other XCICS/CICS regions by shipping requests for transient-data and temporary-storage functions.
Initiate transactions in other XCICS/CICS regions (see Asynchronous processing section)

Applications can be written without regard for the location of the requested resources; they simply use file control commands, temporary-storage commands, and other functions in the same way. Entries in the XCICS resource definition tables allow the system programmer to specify that the named resource is not on the local (or requesting) system but on a remote (or owning) system.

The XCICS recovery and restart facilities enable resources in remote systems to be updated, and ensure that when the requesting application program reaches a synchronization point, any mirror transactions that are updating protected resources also take a synchronization point, so that changes to protected resources in remote and local systems are consistent.

Design considerations

User application programs can run in a XCICS intercommunication environment and use the intercommunication facilities without being aware of the location of the file or other resource being accessed. The location of the resource is specified in the resource definition.

The resource definition can also specify the name of the resource as it is known on the remote system, if it is different from the name by which it is known locally. When the resource is requested by its local name, XCICS substitutes the remote name before sending the request. This facility is useful when a particular resource exists with the same name on more than one system but contains data peculiar to the system on which it is located.

Although this may limit program independence, application programs can also name remote systems explicitly on commands that can be function-shipped, by using the SYSID option. If this option is specified, the request is routed directly to the named system, and the resource definition tables on the local system are not used. The local system can be specified in the SYSID option, so that the decision whether to access a local resource or a remote one can be taken at execution time.

Remote File Access

Function shipping allows access to XVSAM/VSAM files located on a remote XCICS/CICS system. INQUIRE FILE, INQUIRE DSNAME, SET FILE, and SET DSNAME are not supported. Both read-only and update requests are allowed, and the files can be defined as protected in the system on which they reside. Updates to remote protected files are not committed until the application program issues a syncpoint request or terminates successfully. Linked updates of local and remote files can be performed within the same unit of work, even if the remote files are located on more than one connected CICS system.

RFA is only supported for KSDS files. No support is provided for RRN and RBA accesses.

Temporary storage

Function shipping enables application programs to send data to, or retrieve data from, temporary-storage queues located on remote systems. A temporary-storage queue is specified as being remote by specifying the SYSID on the access APIs.

Transient data

An application program can access transient-data queues on remote systems. The definition of the queue in the requesting system defines it as being on the remote system. The definition of the queue in the remote system specifies its recoverability attributes, and whether it has a trigger level and associated terminal. Extrapartition queues can be defined (in the owning system) as having records of fixed or variable length.

If a transient-data queue has an associated trigger level transaction, the named transaction must be defined to execute in the system owning the queue; it cannot be defined as remote.