Distributed Program Link

Top  Previous  Next

XCICS distributed program link enables XCICS application programs to run programs residing in other XCICS or CICS regions by shipping program-control LINK requests.

An application can be written without regard for the location of the requested programs; it simply uses program-control LINK commands in the usual way. Typically, entries in the XCICS program definition tables specify that the named program is not in the local region (known as the client region) but in a remote region (known as the server region).

XCICS can act as both client and server region for XCICS and IBM CICS systems.

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

A client program can run in a XCICS intercommunication environment and use DPL without being aware of the location of the server program.

Static and dynamic routing

The location of the server region can be defined statically or dynamically.

Static routing means that the location of the server program is specified at design time, rather than at run-time. DPL requests for a particular remote program are always routed to the same server region. Typically,  when static routing is used, the location of the server program is specified in the installed program resource definition.

Dynamic routing means that the name of the server region is specified at run-time, using the SYSID parameter.

Limitations of DPL server programs

A DPL server program cannot issue the following kinds of commands:

Terminal-control commands referring to its principal facility
Commands that set or inquire on terminal attributes
BMS commands
Signon and signoff commands
Batch data interchange commands
Commands addressing the TCTUA
Syncpoint commands (except when the client program specifies the SYNCONRETURN option on the LINK request).

If the client specifies SYNCONRETURN:

The server program can issue syncpoint requests.
The mirror transaction requests a syncpoint when the server program completes processing.

Attention: Both these kinds of syncpoint commit only the work done by the server program. In applications where both the client program and the server program update recoverable resources, they could cause data-integrity problems if the client program fails after issuing the LINK request.