batchrpc
batchrpc
Version 10.9
April 2023
This document applies to webMethods EntireX Version 10.9 and all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions.
Copyright © 1997-2023 Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries
and/or its affiliates and/or their licensors.
The name Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG and/or
Software AG USA, Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentioned
herein may be trademarks of their respective owners.
Detailed information on trademarks and patents owned by Software AG and/or its subsidiaries is located at
http://softwareag.com/licenses.
Use of this software is subject to adherence to Software AG's licensing conditions and terms. These terms are part of the product
documentation, located at http://softwareag.com/licenses/ and/or in the root installation directory of the licensed product(s).
This software may include portions of third-party products. For third-party copyright notices, license terms, additional rights or re-
strictions, please refer to "License Texts, Copyright Notices and Disclaimers of Third-Party Products". For certain specific third-party
license restrictions, please refer to section E of the Legal Notices available under "License Terms and Conditions for Use of Software AG
Products / Copyright and Trademark Notices of Software AG Products". These documents are part of the product documentation,
located at http://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).
Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with
Software AG.
iii
iv
1 About this Documentation
1
About this Documentation
Document Conventions
Convention Description
Bold Identifies elements on a screen.
Monospace font Identifies service names and locations in the format folder.subfolder.service,
APIs, Java classes, methods, properties.
Italic Identifies:
Variables for which you must supply values specific to your own situation or
environment.
New terms the first time they occur in the text.
References to other documentation sources.
Monospace font Identifies:
Product Documentation
You can find the product documentation on our documentation website at https://documenta-
tion.softwareag.com.
In addition, you can also access the cloud product documentation via https://www.software-
ag.cloud. Navigate to the desired product and then, depending on your solution, go to “Developer
Center”, “User Center” or “Documentation”.
Product Training
You can find helpful product training material on our Learning Portal at https://knowledge.soft-
wareag.com.
Tech Community
You can collaborate with Software AG experts on our Tech Community website at https://tech-
community.softwareag.com. From here you can, for example:
Product Support
Support for Software AG products is provided to licensed customers via our Empower Portal at
https://empower.softwareag.com. Many services on this portal require that you have an account.
If you do not yet have one, you can request it at https://empower.softwareag.com/register. Once
you have an account, you can, for example:
Data Protection
Software AG products provide functionality with respect to processing of personal data according
to the EU General Data Protection Regulation (GDPR). Where applicable, appropriate steps are
documented in the respective administration documentation.
5
Introduction to the RPC Server for Batch
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 lan-
guages COBOL, PL/I and C and works together with the COBOL Wrapper and IDL Extractor for
COBOL.
Worker Models
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.
Inbuilt Services
RPC Server for Batch provides the following services for ease-of-use:
■ Extractor Service
■ Deployment Service
Extractor Service
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.
Deployment Service
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 un-
deploying 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 config-
uration information.
Impersonation
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 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 gen-
erated. See Server Mapping Files for COBOL and When is a Server Mapping File Required?
13
Administering the RPC Server for Batch
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 lan-
guages COBOL, PL/I and C and works together with the COBOL Wrapper and IDL Extractor for
COBOL.
The following elements are used for setting up the RPC Server for Batch:
■ Configuration File
■ IBM LE Runtime Options
■ Started Task JCL
Configuration File
The name of the delivered example configuration file is CONFIG (see source library EXP109.SRCE).
The configuration file is specified as a DD definition with a user-defined DD name in the Started
Task JCL. The configuration file contains the configuration for the RPC Server for Batch. The fol-
lowing settings are important:
■ connection information such as broker ID, server address (class, name, service)
■ scalability parameters
■ trace settings
■ etc.
Depending on the feature the RPC Server for Batch needs to support (see table below) additional
runtime options for IBM's Language Environment need to be set. For a full description of LE
runtime options, see IBM Z Publications Library Archive.
Note: (1)
Set internally by the RPC Server for Batch and cannot be changed.
There are various ways to specify LE runtime options, for example during installation; using
JCL; using CSECT CEEUOPT (for application-specific LE runtime options) linked to the RPC
Server; etc. We recommend you use the IBM standard approach with CEEOPTS DD statement
in the started task JCL. See Started Task JCL for this purpose. Add the following lines to
your started task JCL:
//...
//CEEOPTS DD *
ALL31(OFF),STACK(,,BELOW)
/*
//..
The name of the started task is EXPSRVB (see EntireX job library EXX109.JOBS). The started task
contains the following:
CFG=DD:ddname
CFG=DD:CONFIG
For example, in brokerid=localhost, brok is the minimum number of letters that can be used
as an abbreviation, that is, the commands/parameters broker=localhost and brok=localhost
are equivalents.
Req/
Parameter Default Values Opt
brokerid localhost Broker ID used by the server. See Using the Broker ID in R
Applications in the RPC Programming documentation.
Example:
brokerid=myhost.com:1971
ceeoptions Allows you to change IBM's LE runtime options. This O
parameter is deprecated. See IBM LE Runtime Options for
how to set the LE runtime options.
class RPC Server class part of the server address used by the server. R
The server address must be defined as a service in the broker
attribute file (see Service-specific Attributes). Case-sensitive,
up to 32 characters. Corresponds to CLASS attribute of the
broker attribute file.
Example:
class=MyRPC
codepage no codepage transferred The codepage tells the broker the encoding of the data. The O
application must ensure the encoding of the data matches
the codepage. The RPC server itself does not convert your
application data. The application's data is shipped and
received as given. Often, the codepage must also match the
encoding used in the RPC server environment for file and
terminal IO, otherwise unpredictable results may occur.
Req/
Parameter Default Values Opt
By default, no codepage is transferred to the broker. It is
assumed the broker's locale string defaults match. See Locale
String Mapping If they do not match, provide the codepage
here.
Example:
codepage=ibm-273
compresslevel=0|1|2|3|4|5|6|7|8|9|Y|N
Example:
compresslevel=6
deployment NO Activates the deployment service, see Deployment Service. O
Required to use the Server Mapping Deployment Wizard.
See Server Mapping Deployment Wizard in the Designer
documentation.
Example:
deployment=yes
etblnk BROKER Define the broker stub to be used. See Administering Broker O
Stubs for available stubs.
Example:
etblnk=broker
Req/
Parameter Default Values Opt
extractor NO The extractor service is a prerequisite for remote extractions. O
See Extractor Service.
extractor=YES|NO
Example:
extractor=yes
impersonation NO Defines if RPC requests are executed under the RPC user O
ID of the calling RPC client.
impersonation=NO|YES|AUTO[,sameuser|,anyuser]
Req/
Parameter Default Values Opt
or
■ your own security implementation (option
anyuser is supported for compatibility reasons
if you need different broker and server user IDs -
the customer-written security implementation
must validate the calling RPC client using the RPC
client user ID).
■ sameuser
The RPC Server for Batch checks whether the
broker client user ID matches the RPC client user ID.
This is the default if AUTO is used.
■ anyuser
The RPC client user ID is used for impersonation.
The broker client user ID is ignored.
Example:
impersonation=auto,anyuser
Req/
Parameter Default Values Opt
Example:
logon=no
marshalling COBOL The RPC Server for Batch can be configured to support O
either COBOL, PL/I or C. See also Locating and Calling the
Target Server.
marshalling=(LANGUAGE=COBOL|PLI|C)
Req/
Parameter Default Values Opt
removed. To change the password, add the parameter
password with the new password as value. If the
Configuration File is an inline data set in the Started Task
JCL, password encryption does not take place.
Example:
password=MyPwd
restartcycles 15 Number of restart attempts if the broker is not available. O
This can be used to keep the RPC Server for Batch running
while the broker is down for a short time. A restart cycle
will be repeated every 60 seconds.
Example:
restartcycles=30
Example:
return_code=yes
runoption no default This parameter is for special purposes. It provides the RPC O
Server for Batch with additional information. The
runoptions are normally set to meet the platform's
requirements. Set this parameter only if a support
representive provides you with an option and asks you to
do so.
Example:
runoption=<option>
runoption=<option>
Req/
Parameter Default Values Opt
servername SRV1 Server name part of the server address used by the server. R
The server address must be defined as a service in the broker
attribute file. See Service-specific Attributes. Case-sensitive,
up to 32 characters. Corresponds to SERVER of the broker
attribute file.
Example:
servername=mySrv
service CALLNAT Service part of the server address used by the server. The R
server address must be defined as a service in the broker
attribute file. See Service-specific Attributes. Case-sensitive,
up to 32 characters. Corresponds to SERVICE attribute of
the broker attribute file.
Example:
service=MYSERVICE
svm ERXSVM Usage and location of server-side mapping files (Designer O
files with extension .svm) at runtime; see Server-side
Mapping Files in the RPC Server. If the svm parameter is
omitted, the RPC server tries to open the server-side
mapping container using DD name ERXSVM. If this DD name
is not available, no server-side mapping files are used. If
you use server-side mapping files at runtime, the server-side
mapping container must be installed and configured; see
Installing the Server-side Mapping Container for an RPC Server
for Batch (Optional) under Installing the EntireX RPC Servers
under z/OS.
svm = no|ddname
Example:
svm=MYSVM
Req/
Parameter Default Values Opt
For the example above, define the DD name MYSVM in the
started task JCL of the RPC Server for Batch (see Started
Task JCL) as:
//MYSVM DD DISP=SHR,DSN=<svm.cluster>
Example:
timeout=300
tracedestination DD:ERXTRACE The name of the destination file for trace output. See also O
Activating Tracing for the RPC Server.
Example:
tracedestination=DD:MYTRACE
//MYTRACE DD DISP=SHR,DSN=<rpctrace-file>
tracelevel None Trace level for the server. See also Activating Tracing for O
the RPC Server.
tracelevel=None|Standard|Advanced|Support
Example:
tracelevel=standard
traceoption None Additional trace option if trace is active. See also Activating O
Tracing for the RPC Server.
Req/
Parameter Default Values Opt
Example:
traceoption=(STUBLOG,NOTRUNC)
userid ERX-SRV The user ID for access to the broker. The default ERX-SRV O
will be used if this parameter is omitted or specified without
a value: "userid=".
Example:
userid=MyUid
workermodel SCALE,1,3,slowshrink The RPC Server for Batch can be configured to O
workermodel=(SCALE,from,thru
[,slowshrink|fastshrink])
workermodel=(FIXED,number)
Req/
Parameter Default Values Opt
■ slowshrink
Default. The RPC server stops all worker threads
not used in the time specified by the timeout
parameter, except for the number of workers
specified as minimum value.
■ fastshrink
The RPC server stops worker threads
immediately as soon as it has finished its
conversation, except for the number of workers
specified as minimum value.
Example:
workermodel=(SCALE,2,5)
The IDL library and IDL program names that come from the RPC client are used to locate the RPC
server. See library-definition and program-definition under Software AG IDL Grammar in the
IDL Editor documentation. This two-level concept (library and program) has to be mapped to the
RPC Server for Batch environment. Different mechanisms are used depending on the language:
■ COBOL
■ PL/I
■ C
■ Assembler (IBM 370)
COBOL
The z/OS module name for the RPC server called is taken from the server mapping if one is
available. See Usage of Server Mapping Files for an introduction. If no server mapping is used,
the IDL program name is used as the z/OS module name of the RPC server and the IDL library
name is ignored.
■ are compiled with IBM's Language Environment (see IBM Z Publications Library Archive
for more information)
■ use COBOL calling conventions
■ can be called dynamically ("fetched") from any Language Environment program
■ are accessible through the RPC Server for Batch started task JCL STEPLIB concatenation.
See Started Task JCL.
marshalling=COBOL
See also Scenario I: Calling an Existing COBOL Server or Scenario II: Writing a New COBOL
Server.
PL/I
There is a simple mechanism to derive the RPC server z/OS module name:
■ are compiled with IBM's Language Environment (see IBM Z Publications Library Archive
for more information)
■ use PL/I calling conventions
■ can be called dynamically ("fetched") from any Language Environment program
■ are accessible through the RPC Server for Batch started task JCL STEPLIB concatenation.
See Started Task JCL.
See also Scenario III: Calling an Existing PL/I Server or Scenario IV: Writing a New PL/I Server.
The approaches needed to derive the dynamic-link library (DLL) names for the RPC server are
more complex for C, for the following reasons:
Either you restrict yourself in short IDL library names (up to 8 characters) and use the flexible
PREFIX configuration, or, if you need independence from the IDL library length and names, use
the FIX configuration. The parameter library is used for this purpose.
1 Make sure all dynamic-link libraries (DLLs) called as RPC servers and client interface objects
are accessible through the RPC Server for Batch started task JCL STEPLIB concatenation. See
Started Task JCL.
2 Configure the parameter marshalling for C, for example marshalling=C.
3 Configure the parameter library either with the FIX configuration or PREFIX configuration,
depending on how you have built your DLLs. See Using the C Wrapper for the Server Side (z/OS,
Linux, Windows, BS2000).
There is a simple mechanism to derive the RPC server z/OS module name:
■ are accessible through the RPC Server for Batch started task JCL STEPLIB concatenation.
See Started Task JCL.
■ Use PL/I or COBOL calling conventions. Configure the parameter marshalling for PL/I or
COBOL.
RPC servers can use Secure Sockets Layer/Transport Layer Security (SSL/TLS) as the transport
medium. The term “SSL” in this section refers to both SSL and TLS. RPC-based servers are always
SSL clients. The SSL server can be either the EntireX Broker, Broker SSL Agent, or Direct RPC in
webMethods Integration Server (IS inbound). For an introduction see SSL/TLS, HTTP(S), and Cer-
tificates with EntireX in the platform-independent Administration documentation.
SSL delivered on a z/OS mainframe will typically use the Resource Access Control Facility (RACF)
as the certificate authority (CA). Certificates managed by RACF can only be accessed through the
RACF keyring container. A keyring is a collection of certificates that identify a networking trust
relationship (also called a trust policy). In an SSL client/server network environment, entities
identify themselves using digital certificates called through a keyring. Server applications on z/OS
that wish to establish network connections to other entities can use keyrings and their certificate
contents to determine the trustworthiness of the client or peer entity. Note that certificates can
belong to more than one keyring, and you can assign different users to the same keyring. Because
of the way RACF internally references certificates, they must be uniquely identifiable by owner
and label, and also unique by serial number plus data set name (DSN).
For establishing an SSL connection on z/OS, IBM's Application Transparent Transport Layer Se-
curity (AT-TLS) can be used, where the establishment of the SSL connection is pushed down the
stack into the TCP layer.
Configure the AT-TLS rules for the policy agent (PAGENT) using an appropriate client and the
z/OS Management Facility (z/OSMF) . Together with SSL parameters (to provide certificates
stored in z/OS as RACF keyrings) define AT-TLS rules, for example by using the application
job name and remote TCP port number. If the rules match, the TCP connection is turned into an
SSL connection . Refer to your IBM documentation for more information, for example the IBM
Redbook Communications Server for z/OS VxRy TCP/IP Implementation Volume 4: Security and Policy-
Based Networking.
Notes:
1. The client may vary per operating system, for example a Web browser for z/OS 2.1.
2. z/OSMF includes other administration and management tasks in addition to policy manage-
ment.
3. Policy Management includes other rules, such as IP filtering, network address translation
etc.
1 To operate with SSL, certificates need to be provided and maintained. Depending on the
platform, Software AG provides sample certificates, but we strongly recommend that you
create your own. See SSL/TLS Sample Certificates Delivered with EntireX in the EntireX Security
documentation.
2 Set up the RPC Server for Batch for a TCP/IP connection. On mainframe platforms, use
Transport-method-style Broker ID. Example:
ETB024:1699:TCP
3 Configure AT-TLS to turn the TCP/IP connection to an SSL connection, using a client to interact
with the z/OS Management Facility (z/OSMF) See z/OSMF Considerations in the z/OS Admin-
istration documentation. The outcome of this configuration is a Policy Repository with AT-
TLS rules stored as z/OS files. This file is the configuration file for the Policy Agent, MVS task
PAGENT.
4 Make sure the SSL server to which the RPC Server for Batch connects is prepared for SSL
connections as well. The SSL server can be EntireX Broker, Broker SSL Agent, or Direct RPC
in webMethods Integration Server (IS inbound). See:
1 Modify the member EXPSRVB (see EntireX job library EXX109.JOBS) according to your system
requirements and copy the started task JCL to your system PROCLIB concatenation. See Started
Task JCL.
2 Modify the server parameters Configuration File according to your system requirement. For
details, see Configuring the RPC Server.
3 Start the task manually with
/s EXPSRVB
Or:
/p EXPSRVB
/f EXPSRVB,STOP
Or:
1 Set the parameters tracelevel, traceoption and tracedestination. See Configuring the
RPC Server.
2 Start the RPC Server for Batch. See Starting the RPC Server.
3 Temporarily change the trace level with the operator command
F EXPSRVB,TRACELEVEL=tracelevel,
The TRACELEVEL command without any value will report the currently active trace options,
for example:
F EXPSRVB,TRACELEVEL
Tracelevel=0 TraceFile=DD:ERXTRACE
■ Introduction .................................................................................................................................... 34
■ Scope ........................................................................................................................................... 35
■ CA Librarian Support ........................................................................................................................ 35
■ Enabling the Extractor Service ........................................................................................................... 36
■ Disabling the Extractor Service .......................................................................................................... 36
■ Restrictions .................................................................................................................................... 37
33
Extractor Service
Introduction
■ The Extractor Service provides access to PDS data sets and CA Librarian DA master files defined
within the z/OS catalog.
■ The Extractor Service provides access to security-protected data sets (protected e.g. by RACF,
CA ACF2, CA Top Secret).
■ It is a built-in service of the RPC Server for Batch and can be enabled/disabled by RPC server
configuration settings.
■ Depending on the platform where the broker is running, you can restrict usage of the Extractor
Service to certain users or group of users, using EntireX Security. See Authorization of Client and
Server in the EntireX Security documentation.
Scope
The Extractor Service uses the same class and server names as defined for the RPC server, and
"EXTRACTOR" as the service name, resulting in class/server/EXTRACTOR as the broker service.
Note: EXTRACTOR is a service name reserved by Software AG. See SERVICE under Service-
specific Broker Attributes.
CA Librarian Support
■ Supported Features:
■ Traditional CA Librarian DA master files are supported.
■ Extraction from multiple CA Librarian data sets is possible.
■ CA Librarian archive levels (history) are supported for the COBOL (main) source where the
extraction starts.
■ Security RACROUTE is supported.
■ PDS data sets and CA Librarian data sets can be mixed, that is:
■ the COBOL source can reside in a PDS, and some copybooks in CA Librarian, and others
in PDS
■ the COBOL source can reside in CA Librarian, and some copybooks in PDS and others in
CA Librarian
■ -INC and COBOL COPY statements can be mixed in one source
1 Set the RPC Server for Batch parameter extractor=yes. See extractor under Configuring
the RPC Server.
2 Define in the broker attribute file, under the RPC service, an additional broker service with
"EXTRACTOR" as the service name and values for class and server identical to those used for
the RPC service. For example, if your RPC service is named
the extractor service requires the following additional service definition in the Broker attribute
file:
3 Optional. If you need to restrict the use of the Extractor Service to a selected group of users,
use EntireX Security and define security rules for the class/server/EXTRACTOR broker service.
The service name EXTRACTOR is a constant.
■ For a z/OS broker, see Resource Profiles in EntireX Security under EntireX Security under z/OS
in the EntireX Security documentation.
■ For a Linux or Windows broker, see Authorization Rules in the platform-independent Ad-
ministration documentation.
■ Not applicable to a BS2000 broker.
4 Optional. Use the impersonation feature of the RPC Server for Batch to enable access to se-
curity-protected data sets (protected e.g. by RACF, CA ACF2, CA Top Secret). See
impersonation under Configuring the RPC Server.
■ Set the RPC Server for Batch parameter extractor=no. See extractor under Configuring the
RPC Server.
The RPC Server for Batch will not register the extractor service in the broker.
Restrictions
■ Filtering with programmer and type, as is done by the CA Librarian ELIPS (Extended Librarian
Interactive Productivity Services) application, is not supported.
■ CA Librarian Wide Record Master Files (PDS/E - PO) are not supported.
■ CA Librarian MCD Security is not supported
■ CA Librarian member passwords (NOBYPP installations) are not supported
■ The optional syntax elements seq1, seq2 and ARC of the CA Librarian
-INC module-name[,seq1[,seq2][,ARC={date | Lx | -y}]] statement are not supported.
Therefore CA Librarian archive levels (history) are not supported for COBOL copybooks. It is
always the most recent member (last update) that is delivered by the extractor service.
No access is provided to other data sets (e.g. CA Panvalet) or to data sets not defined in the z/OS
catalog (e.g. defined in VTOC only).
■ Introduction .................................................................................................................................... 40
■ Scope ........................................................................................................................................... 41
■ Enabling the Deployment Service ....................................................................................................... 42
■ Disabling the Deployment Service ...................................................................................................... 42
39
Deployment Service
Introduction
The deployment service is the (server-side) counterpart to the deployment wizard; see Server
Mapping Deployment Wizard, the tool used when Migrating Server Mapping Files. It is a built-in service
of the EntireX RPC server, which can be enabled/disabled by EntireX RPC server configuration
settings.
Usage can be restricted to certain users or group of users, using EntireX Security; see Authorization
of Client and Server in the EntireX Security documentation.
You need to configure the deployment service only when server-side mapping files (Designer files
with extension .svm) are used or you want to migrate them using the Server Mapping Deployment
Wizard.
Server mapping files with extension .svm are no longer supported at design time by the Designer.
You can still use them at runtime in a server-side mapping container. All special COBOL syntax
and features supported by server mapping files with extension .svm are also covered by server
mapping files with extension .cvm. See When is a Server Mapping File Required?
We recommend migrating .svm files to .cvm files. See Migrating Server Mapping Files under Server
Mapping Files for COBOL in the Designer documentation.
When migration is finished, disable the deployment service. See also Server Mapping Files for COBOL
in the Designer documentation.
Scope
The deployment service is used to synchronize or undeploy server mapping files when Migrating
Server Mapping Files.
The deployment service uses the same class and server names as defined for the EntireX RPC
server, and DEPLOYMENT as the service name, resulting in class/server/DEPLOYMENT as the broker
service.
Note: DEPLOYMENT is a service name reserved by Software AG. See broker attribute SERVICE.
1 For an RPC Server for Batch, the server-side mapping container (VSAM file) must be installed
and configured. See Installing the Server-side Mapping Container for an RPC Server for Batch
(Optional) under Installing the EntireX RPC Servers under z/OS.
2 Set the RPC server parameter deployment=yes. See deployment under Configuring the RPC
Server.
3 Define in the broker attribute file, under the RPC service, an additional broker service with
DEPLOYMENT as the service name and values for class and server identical to those used for the
RPC service. For example, if your RPC service is named
the deployment service requires the following additional service definition in the broker at-
tribute file:
4 Optional. If you need to restrict the use of the deployment service to a selected group of users,
use EntireX Security and define security rules for the class/server/DEPLOYMENT broker service.
The service name DEPLOYMENT is a constant.
■ Set the RPC Server for Batch parameter deployment=no. See deployment under Configuring
the RPC Server.
The RPC Server for Batch will not register the deployment service in the broker.
43
Server-side Mapping Files
Server mapping files with extension .svm are no longer supported at design time by the Designer.
You can still use them at runtime in a server-side mapping container. All special COBOL syntax
and features supported by server mapping files with extension .svm are also covered by server
mapping files with extension .cvm. See When is a Server Mapping File Required?
We recommend migrating .svm files to .cvm files. See Migrating Server Mapping Files under Server
Mapping Files for COBOL in the Designer documentation.
See also Source Control of Server Mapping Files | Comparing Server Mapping Files | When is a Server
Mapping File Required? | Migrating Server Mapping Files in the Designer documentation.
Under z/OS, server-side mapping corresponds to lines of Designer files with extension .svm. See
Server Mapping Files for COBOL. The mapping information is stored as records within one VSAM
file, the server-side mapping container. This container contains all server-side mapping entries
from all Designer files with extension .svm. The unique key of the VSAM file file consists of the
first 255 bytes of the record: for the type (1 byte), for the IDL library (127 bytes) and for the IDL
program (127 bytes).
■ If one server requires a server-side mapping file (.svm), you need to provide the server-side
mapping container to the RPC server. See configuration parameter svm.
■ If no server requires server-side mapping (.svm) or you use server mapping files with extension
.cvm only, you can execute the RPC server without the server-side mapping container.
Use the Server Mapping Deployment Wizard to undeploy a server-side mapping file (Designer
file with extension .svm). See Server Mapping Files for COBOL.
To undeploy a server-side mapping file with the Server Mapping Deployment Wizard
1 Make sure your RPC server is active and that the Deployment Service of the RPC server is
properly configured. See Deployment Service.
2 Make sure your IDL file is within a Designer directory (folder) without the related server-side
mapping file (.svm) or renamed to extension .cvm if you are Migrating Server Mapping Files.
3 From the context menu of your IDL file, choose COBOL > Deploy/Synchronize Server
Mapping and call the Server Mapping Deployment Wizard. See Server Mapping Deployment
Wizard in the Designer documentation. Because there is no related server-side mapping file
(.svm) in the Designer, all server mapping information related to the IDL file in the server-
side mapping container of the RPC server will be removed.
Under z/OS, change management for a VSAM file (server-side mapping container, see Server-side
Mapping Files in the RPC Server) is similar to change management for a database. The complete
VSAM file can be backed up at any time, for example by using IDCAMS. All updates to the VSAM
file done after a backup must be kept.
All Designer server-side mapping files (.svm) added since the last backup should be available.
See Server Mapping Files for COBOL in the Designer documentation.
Use IDCAMS to list the contents of the server-side mapping container. See Server-side Mapping
Files in the RPC Server.
Use DUMP or CHAR format to print the server-side mapping records of the VSAM file.
Server-side mapping records in the server-side mapping container correspond to lines of Designer
file with extension .svm. See Server Mapping Files for COBOL in the Designer documentation. The
records contain a creation timestamp at offset 276 (decimal) in the format YYYYMMDDHHIISST. Pre-
cision is 1/10 of a second. The creation timestamp can be checked.
The timestamp can be found on the same offset in the records in the server-side mapping container
(VSAM file). See Server-side Mapping Files in the RPC Server.
To control the usage of the Server Mapping Deployment Wizard, use EntireX Security if the broker
is running on platforms z/OS, Linux or Windows. See Enabling the Deployment Service.
47
Scenarios and Programmer Information
COBOL Scenarios
1 Use the IDL Extractor for COBOL to extract the Software AG IDL and, depending on the
complexity, also a server mapping file. See When is a Server Mapping File Required? under
Server Mapping Files for COBOL in the Designer documentation.
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
See Client and Server Examples for z/OS Batch in the COBOL Wrapper documentation for COBOL
RPC Server examples.
1 Use the COBOL Wrapper to generate a COBOL server skeleton and, depending on the com-
plexity, also a server mapping file. See When is a Server Mapping File Required? under Server
Mapping Files for COBOL in the Designer documentation. Write your COBOL server and
proceed as described under Using the COBOL Wrapper for the Server Side.
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
See Client and Server Examples for z/OS Batch in the COBOL Wrapper documentation for COBOL
RPC Server examples.
PL/I Scenarios
1 Use the IDL Extractor for PL/I to extract the Software AG IDL.
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
See Client and Server Examples for z/OS Batch in the PL/I Wrapper documentation for PL/I RPC
Server examples.
1 Use the PL/I Wrapper to generate a PL/I server skeleton. Write your PL/I server and proceed
as described under Using the PL/I Wrapper for the Server Side.
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
See Client and Server Examples for z/OS Batch in the PL/I Wrapper documentation for PL/I RPC
Server examples.
C Scenarios
1 Use the C Wrapper to generate a C server skeleton and a C server interface object. Write your
C server and proceed as described under Using the C Wrapper for the Server Side (z/OS, Linux,
Windows, BS2000).
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
Assembler Scenarios
...
MyLabel DSECT
MyField1 DS H I2
MyField2 DS F I4
MyField3 DS E F4
MyField4 DS L F8
■ The RPC Server for Batch will not align these data types by default.
■ To force alignment by definition in your IDL file (see the aligned attribute within the at-
tribute-list under Software AG IDL Grammar in the IDL Editor documentation) before
generating your RPC client. For information on whether your client supports the aligned
attribute, see Mapping the ALIGNED Attribute in the respective Wrapper documentation.
2 Build an EntireX RPC client using any EntireX wrapper. For a quick test you can:
■ use the IDL Tester; see EntireX IDL Tester in the Designer documentation
■ generate an XML mapping file (XMM) and use the XML Tester for verification; see EntireX
XML Tester in the XML/SOAP Wrapper documentation
The RETURN-CODE special register (an IBM extension to the COBOL programming language) is
used by your RPC server to report an error.
Upon return, the value contained in the RETURN-CODE special register is detected by the RPC
Server for Batch and sent back to the RPC client instead of the application's data.
For IBM compilers the RETURN-CODE special register has the implicit definition:
Special registers are reserved words that name storage areas generated by the compiler. Their
primary use is to store information produced through specific COBOL features. Each such storage
area has a fixed name, and must not be defined within the program. See your compiler document-
ation for more information.
■ The value range for application errors is 1-9999. No other values are allowed.
■ On the RPC client side, the error is prefixed with the error class 1002 “Application User Error”
and presented as error 1002nnnn.
■ No application data is sent back to the RPC client in case of an error.
■ It is not possible to return an error text to the RPC client.
Example
. . .
IF error occurred THEN
MOVE <error-number> TO RETURN-CODE
GO TO MAIN-EXIT
END-IF.
. . .
MAIN-EXIT.
EXIT PROGRAM.
END PROGRAM RETCODE.
Note: To enable this feature, configure the RPC Server for Batch with return_code=yes.