Version 9.6
 —  EntireX z/OS CICS® RPC Server  —

Introduction to the CICS RPC Server

The EntireX z/OS CICS® RPC Server allows standard RPC clients to communicate with RPC servers on the operating system z/OS under CICS. It supports the programming languages COBOL and PL/I.

This document covers the following topics:


Worker Models

graphics/intro_workerModels-cics.png

RPC requests are worked off inside the RPC server in worker tasks, which are controlled by a main task. Every RPC request occupies during its processing a worker task. If you are using RPC conversations, each RPC conversation requires its own task during the lifetime of the conversation. The CICS RPC Server provides two worker models:

Top of page

Inbuilt Services

CICS RPC Server provides the following services for ease-of-use:

Deployment Service

The Deployment Service allows you to deploy server mapping files (SVM files) interactively using the Deployment Wizard (see Server Mapping Deployment). On the RPC server side, the SVM files are stored in a VSAM file as the container. See Deployment Service for configuration information.

graphics/intro_inbuilt_deployment-cics.png

SMH Listener Service

With the SMH Listener Service you use the System Management Hub to monitor the RPC server. See Administering the EntireX RPC Servers using System Management Hub under UNIX | Windows.

The SMH Listener Service is switched on if the SMH port number is set. See the ERXMAIN macro parameter SMH under Configuring the RPC Server.

graphics/intro_inbuilt_smh-cics.png

Top of page

User Exit COBUEX02

The CICS RPC Server provides a user exit COBUEX02to influence/control the RPC logic. The exit is called on the events START-WORKER, START-USER, CALL-START and CALL-END. The following tasks can be performed:

graphics/no1.png START-WORKER event before a CICS worker task is started. This allows you to programatically set the CICS transaction ID.
graphics/no2.png START-USER event. Apply CICS transaction ID and user ID to impersonated worker tasks. See Impersonation.
graphics/no3.png CALL-START event. Inspect, modify or terminate the RPC request (payload) from the RPC client.
graphics/no4.png CALL-END event. Inspect or modify the RPC reply (payload) or give an error to the RPC client.

graphics/intro_userExits-cics.png

See also User Exit COBUEX02 under Administering the EntireX RPC Server.

Top of page

Impersonation

graphics/intro_impersonation-cics.png

The CICS RPC Server can be configured to execute the RPC request impersonated under the RPC client user ID. For this, worker tasks start additional impersonated user tasks. This can be useful, for example for accounting. Impersonation is controlled by the ERXMAIN macro parameter IMPS.

The picture above shows the configuration IMPS=YES.

The lifetime of an impersonated user 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.

For worker tasks, the slow-shrinking worker model SCALE is used - value TIMEOUT is forced internally - any value given in the ERXMAIN macro parameter ENDW is ignored. The lifetime of worker tasks can be controlled with ERXMAIN macro parameter TOUT as well as the number of workers with macro parameters MINW and MAXW.

Top of page

Usage of SVM Files

There are many situations where the CICS RPC Server requires a server mapping file to correctly support special COBOL syntax such as JUSTIFIED, SYNCHRONIZE and OCCURS DEPENDING ON clauses, LEVEL-88 fields, etc. the .

SVM files contain COBOL-specific mapping information that is not included in the IDL file and therefore not sent by an EntireX RPC client to the RPC server. See also When is an SVM File Required? under SVM Files.

graphics/intro_useSvm.png

The RPC server marshalls 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 SVM file (Step 2). In this way the COBOL server can be called as expected.

The SVM files are retrieved as a result of the IDL Extractor for COBOL extraction process and the COBOL Wrapper if a COBOL server is generated.

You can customize the usage of the SVM file using the ERXMAIN macro parameter SVM. See Configuring the RPC Server.

Note:
SVM files are used for COBOL only.

Top of page

Supported Interface Types

The interface types supported by the CICS RPC Server vary depending on the target programming language. See also Locating and Calling the Target Server.

COBOL

PL/I

Top of page