Distributed computing

Distributed computing involves the cooperation of two or more machines communicating over a network. The machines participating in the system can range from personal computers to super computers; the network can connect machines in one building or on different continents.

The main benefit of distributed computing is that it enables you to optimize your computing resources for both responsiveness and economy. For example, it enables you to:

Along with the advantages of distributed computing come new challenges. Examples include keeping multiple copies of data consistent, keeping clocks in individual machines synchronized, and providing network-wide security. A system that provides distributed computing support must address these new issues.

CICS® supports distributed computing and the client/server model by means of:

Internet Inter-Orb Protocol (IIOP)
CORBA clients can access CICS Java™ servers using IIOP.
Distributed Computing Environment (DCE)
The remote procedure call model implemented by the Open Software Foundation's DCE is supported in CICS.
Distributed program link (DPL)
This is similar to a DCE remote procedure call. A CICS client program passes parameters to a remote CICS server program and waits for the server to send data in reply. Parameters and data are exchanged by means of a communications area.
The external CICS interface (EXCI)
An MVS™ client program links to a CICS server program. Again, this is similar to a DCE RPC.
The external call interface (ECI)
The ECI enables CICS Transaction Server for z/OS® server programs to be called from client programs running on a variety of operating systems. For information about CICS Clients, see the CICS Transaction Gateway: Programming Guide.
Function shipping
The parameters for a single CICS API request are intercepted by CICS code and sent from the client system to the server. The CICS mirror transaction in the server executes the request, and returns any reply data to the client program. This can be viewed as a specialized form of remote procedure call.
Asynchronous transaction processing
A CICS client transaction uses the EXEC CICS START command to initiate another CICS transaction, and pass data to it. The START request can be intercepted by CICS code, and function shipped to a server system. The client transaction and started transactions execute independently. This is similar to a remote procedure call with no response data.
Distributed transaction processing
A program in the client system establishes a conversation with a complementary program in the server, and exchanges messages. The programs may use the APPC protocols.
Transaction routing
Terminals owned by one CICS system to run transactions owned by another.

The CICS family of products runs on a variety of operating systems, and provides a standard set of functions to enable members to communicate with each other. For information about the CICS family, see the CICS Family: Interproduct Communication manual.

Security support

CICS Transaction Server for z/OS supports:

RACF® or an equivalent security manager provides mechanisms similar to the DCE access control lists and login facility.

There is no CICS concept similar to the DCE Directory Service. In all the above scenarios the client environment must know which server CICS system to communicate with. This is normally done by specifying the name of the required remote CICS system in the definition of the relevant remote CICS resource, or in the client application program.

Related concepts
Interfaces to CICS transactions and programs
The Client/Server concept
TCP/IP protocols
ONC and DCE concepts
EXCI concepts
3270 bridge concepts
[[ Contents Previous Page | Next Page Index ]]