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:
- Share the cost of expensive resources, such as a typesetting and printing
service, across many desktops. It also gives you the flexibility to change
the desktop-to-server ratio, depending on the demand for the service.
- Allocate an application’s presentation, business, and data logic appropriately.
Often, the desktop is the best place to perform the presentation logic, as
it is nearest to the end user and can provide highly responsive processing
for such actions as drag and drop GUI interfaces.
Conversely, you may feel
that the best place for the database access logic is close to the actual storage
device - that is, on an enterprise or departmental server. The most appropriate
place for the business logic may be less clear, but there is much to be said
for placing this too in the same node as the data logic, thus allowing a single
desktop request to initiate a substantial piece of server work without intervening
network traffic.
Distributed computing enables you to make such trade-offs
in a flexible way.
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.
CICS Transaction Server for z/OS supports:
- A single network signon (through the ATTACHSEC option of the DEFINE CONNECTION
command)
- Authentication of the client system through bind-time security.
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.
[[ Contents Previous Page | Next Page Index ]]