In the multiple-system environment, each participating system can have its own local terminals and databases, and can run its local application programs independently of other systems in the network. It can also establish links to other systems, and thereby gain access to remote resources. This mechanism allows resources to be distributed among and shared by the participating systems.
For communicating with other CICS®, IMS™, or APPC systems, CICS provides these basic types of facility:
These basic communication facilities are not all available for all forms of intercommunication. The circumstances under which they can be used are shown in Table 1.
ISC Intersystem (via ACF/VTAM) |
IRC Interregion |
||||
---|---|---|---|---|---|
LUTYPE6.2 (APPC) |
LUTYPE6.1 |
MRO |
|||
Facility |
CICS |
Non-CICS |
CICS |
IMS |
CICS |
Function Shipping |
Yes |
No |
Yes |
No |
Yes |
Asynchronous Processing |
Yes |
No |
Yes |
Yes |
Yes |
Transaction Routing |
Yes |
No |
No |
No |
Yes |
Distributed program link |
Yes |
No |
No |
No |
Yes |
Distributed transaction processing |
Yes |
Yes |
Yes |
Yes |
Yes |
CICS function shipping lets an application program access a resource owned by, or accessible to, another CICS system. Both read and write access are permitted, and facilities for exclusive control and recovery and restart are provided.
The remote resource can be:
Application programs that access remote resources can be designed and coded as if the resources were owned by the system in which the transaction is to run. During execution, CICS ships the request to the appropriate system.
Asynchronous processing allows a CICS transaction to initiate a transaction in a remote system and to pass data to it. The remote transaction can then initiate a transaction in the local system to receive the reply.
The reply is not necessarily returned to the task that initiated the remote transaction, and no direct tie-in between requests and replies is possible (other than that provided by user-defined fields in the data). The processing is therefore called asynchronous.
CICS transaction routing permits a transaction and an associated terminal to be owned by different CICS systems. Transaction routing can take the following forms:
Transaction routing is available between CICS systems connected either by interregion links (MRO) or by APPC links.
CICS distributed program link enables a CICS program (the client program) to call another CICS program (the server program) in a remote CICS region. Here are some of the reasons you might want to design your application to use DPL:
When CICS arranges function shipping, distributed program link, asynchronous transaction processing, or transaction routing for you, it establishes a logical data link with a remote system. A data exchange between the two systems then follows. This data exchange is controlled by CICS-supplied programs, using APPC, LUTYPE6.1, or MRO protocols. The CICS-supplied programs issue commands to allocate conversations, and send and receive data between the systems. Equivalent commands are available to application programs, to allow applications to converse with CICS or non-CICS applications. The technique of distributing the functions of a transaction over several transaction programs within a network is called distributed transaction processing (DTP).
DTP allows a CICS transaction to communicate with a transaction running in another system. The transactions are designed and coded specifically to communicate with each other, and thereby to use the intersystem link with maximum efficiency.
The communication in DTP is, from the CICS point of view, synchronous, which means that it occurs during a single invocation of the CICS transaction and that requests and replies between two transactions can be directly associated. This contrasts with the asynchronous processing described previously.