Distributed program link (DPL)

The distributed program link function enables a CICS® program (the client program) to call another CICS program (the server program) in a remote CICS region.

There are several reasons why you might want to design your application to use distributed program link. Some of these are:
  • To separate the end-user interface (for example, BMS screen handling) from the application business logic, such as accessing and processing data, to enable parts of the applications to be ported from host to workstation more readily
  • To obtain performance benefits from running programs closer to the resources they access, and thus reduce the need for repeated function shipping requests
  • To offer a simple alternative, in many cases, to writing distributed transaction processing (DTP) applications
There are several ways in which you can specify that the program to which an application is linking is remote:
  1. By specifying the remote system name on a LINK command
  2. By specifying the remote system name on the installed program resource definition.
  3. By specifying the remote system name using the dynamic routing program (if the installed program definition specifies DYNAMIC(YES) or there is no installed program definition)
  4. By specifying the remote system name in a XPCREQ global user exit
The basic flow in distributed program link is described in CICS distributed program link . The following terms, illustrated in Figure 1 , are used in the discussion of distributed program link:
Client region
The CICS region running an application program that issues a link to a program in another CICS region.
Server region
The CICS region to which a client region ships a link request.
Client program
The application program that issues a remote link request.
Server program
The application program specified on the link request, and which is executed in the server region.
Figure 1. Illustration of distributed program link
This example shows client program PROG1 in client region CICX issuing the CICS command LINK PROGRAM(PROG2) SYSID (CICY). The CICS mirror program DFHMIRS is invoked in server region CICY to run server program PROG2. PROG2 issues RETURN and control returns to PROG1.