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:
- By specifying the remote system name on a LINK command
- By specifying the remote system name on the installed program resource definition.
- 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)
- 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.