Figure 36 shows the components involved in processing a typical
client ONC RPC request.
Client requests are processed in the following steps:
- A request from a client arrives in TCP/IP for MVS™.
- The server controller monitors the TCP/IP for MVS interface for incoming client requests,
and the client request is passed to it. (From the 4-tuple for the request,
the server controller can find the corresponding XDR routine and converter
to call.)
- The server controller invokes the inbound XDR routine.
- The server controller calls the converter, requesting the Decode function, if it is required for the 4-tuple.
If Decode is not required, the server controller allocates
storage for the CICS® program communication area.
- The server controller then starts an alias to deal with all further processing
of the request within CICS.
- The server controller returns to monitor the TCP/IP for MVS interface for
client requests.
- The alias optionally calls a user-written resource checker.
- The alias issues an EXEC CICS LINK to the CICS program for the 4-tuple. The communication
area set up by Decode is passed in the
LINK command.
- The CICS program processes the request and returns its output to the alias
program in the communication area.
- The alias calls the Encode function, if it is required
for the 4-tuple.
- The alias invokes the outbound XDR routine.
- The alias returns the reply to TCP/IP for MVS, and ends.
- The reply is sent back to the client.
After Decode processing, the server controller uses
EXEC CICS SYNCPOINT to commit any changes to recoverable resources that Decode might have made.
If the CICS program makes updates to recoverable resources, whether the changes
are committed or backed out depends on the location of the CICS program, and
on whether it uses the EXEC CICS SYNCPOINT command.
- If the CICS program is in a CICS region different from the one in which CICS ONC RPC is
operating, the updates are committed when the CICS program returns control to the alias.
- If the CICS program is in the same CICS region as CICS ONC RPC, and it uses EXEC CICS SYNCPOINT,
the updates are committed when the syncpoint is processed.
- If the CICS program is in the same CICS region as CICS ONC RPC, but it does not use EXEC CICS SYNCPOINT, the updates are committed when the alias
transaction ends normally, or are backed out when the alias transaction abends.
[[ Contents Previous Page | Next Page Index ]]