The EntireX RPC Server for z/OS Batch allows standard RPC clients to communicate with RPC servers on the operating system z/OS running in batch mode. It supports the programming languages COBOL, PL/I and C and works together with the COBOL Wrapper and IDL Extractor for COBOL.
This document covers the following topics:
RPC requests are worked off inside the RPC server in worker threads, which are controlled by a main thread. Every RPC request occupies during its processing a worker thread. If you are using RPC conversations, each RPC conversation requires its own thread during the lifetime of the conversation. The RPC server provides two worker models:
FIXED
The fixed model creates a fixed number of worker threads. The number of worker threads does not increase or decrease during the lifetime
of an RPC server instance.
DYNAMIC
The dynamic model creates worker threads depending on the incoming load of RPC requests.
For configuration and technical details, see parameter workermodel
under Administering the RPC Server for Batch.
RPC Server for Batch provides the following services for ease-of-use:
The Extractor Service is a prerequisite for remote extractions with the IDL Extractor for COBOL and IDL Extractor for PL/I. See Extractor Service for more information.
The Deployment Service allows you to synchronize server-side mapping files (Designer files with extension .svm) interactively using the Server Mapping Deployment Wizard. Synchronizing or undeploying server mapping files from the RPC server is part of Migrating Server Mapping Files. On the RPC server side, the server-side mapping files are stored in a server-side mapping container (VSAM file). See Server-side Mapping Files in the RPC Server and Deployment Service for configuration information.
The RPC Server for Batch can be configured to execute the RPC request impersonated under the RPC client user ID. This means
that
for the request execution, the worker thread gets the identity of the RPC client.
This is necessary when accessing (security) protected data sets, for example with the Extractor Service.
The way authentication is carried out can be controlled by the RPC parameter impersonation
.
For impersonation
value AUTO
, the RPC Server for Batch does not validate RPC passwords, so you have to make sure the RPC client is
correctly authenticated, either by using a secure EntireX Broker (validation must be against the correct mainframe security
repository where z/OS user IDs are defined) or with your own security implementation.
For impersonation
value YES
, the RPC Server for Batch uses the RPC user ID and RPC password sent by the
calling RPC client for authentication and impersonation of the client. This means that the RPC server validates the RPC password
or - if a long RPC password is sent - as a RACF password phrase.
The picture above shows the configuration impersonation=yes
.
The lifetime of an impersonated task starts when an open request for an RPC conversation or a non-conversational RPC request is received. It ends when the RPC conversation stops (after a commit operation or timeout) or when the non-conversational RPC request has been performed.
Server mapping files contain COBOL-specific mapping information that
is not included in the IDL file, but is needed to successfully call the COBOL server program.
There are many situations where the RPC Server for Batch requires a server mapping file
to correctly support special COBOL syntax such as REDEFINES
,
SIGN LEADING
and OCCURS DEPENDING ON
clauses, LEVEL-88
fields, etc.
The RPC server marshals the data in a two-step process: the RPC request coming from the RPC client (Step 1) is completed with COBOL-specific mapping information taken from the server mapping file (Step 2). In this way the COBOL server can be called as expected.
The server mapping files (Designer files with extension .cvm) may be retrieved as a result of the IDL Extractor for COBOL extraction process and the COBOL Wrapper if a COBOL server is generated. See Server Mapping Files for COBOL and When is a Server Mapping File Required?
Note:
Server mapping files are used for COBOL only.