Version 4.2.6
 —  Operations  —

RPC Server Front-End

This document describes how to set up the RPC server front-end for an RPC batch server environment under BS2000/OSD with the print file/work file server NATPWSV2.

The following topic is covered below:


Setup

For the generation of the Natural RPC batch server, the front-end part of the Natural batch driver (macro NAMBS2) has to be assembled with the new keyword parameter SERVER=YES.

Example:

SERVFRNT NAMBS2  CODE=FRONT,                                      -
                 APPLNAM=NATSERV,                                 -
                 NUCNAME=RPCSERV,                                 -
                 DYNPAR=SYSDTA,       For server parameters       -
                 SERVER=YES,          Generate RPC server         -
                 ROLLTSZ=384,         Roll thread size in KB      -
                 .                    All other parameter definitions as for 
                 .                    the generation of the front-end part 
                 .                    of the Natural batch driver
         END

For the generation of the reentrant part of the Natural RPC batch server, you can use the same keyword parameter definitions as for the generation of the Natural batch driver.

For the generation of the module BS2STUB (front-end part of the RPC batch server), you have to define the necessary common memory pools.

If you intend to use the print file/work file server NATPWSV2, define a print file/work file control pool and replace the module NATWKFB2 with the module NATFSTB2 in the Natural reentrant part.

RPCSTUB2 BS2STUB PARMOD031,PROGMOD=ANY,UNRES=*DBLOPT
         ADDON NAME=RPCSERV,              Name of reentrant part (load pool)        -
               .
               . 
               .
         ADDON definition for Natural Buffer Pool       
               .
         ADDON definition for Natural Editor Pool
               .
         ADDON  definition for Natural Swap Pool
               .
         ADDON  NAME = PWK#POOL,         Name of print file/work file control pool   -
                TYPE=PWK,                Pool type                                   -
                SIZE=1MB,                Pool size in MB                             -
                STAT=LOCAL,              Pool status is local                        -
                SCOP=GLOBAL,             Scope is global                             -
                POSI=ABOVE,              Pool position is above                      -
                PFIX=YES,                Pool address is fixed                       -
                ACCS=WRITE               No pool protection
         ADDEND

The Natural RPC batch server stores the different client context in user threads. These user threads are managed either in the swap pool or in the Natural roll file. Hence, a Natural roll file and a Natural swap pool is required.

For the processing of print files and work files, a print file/work file server has to be generated (see Print File/Work File Server NATPWSV2), using the new type "PWK".

Data interchange between RPC batch server and print file/work file server takes place in a common memory pool (print file/work file control pool), using the new type "PWK".

Communication between RPC batch server (module NATFSTB2) and print file/work file server (module NATPWSV2) is accomplished by way of P1 forward eventing. If you intend to work with the print file/work file server, then the module NATWKFB2 has to be replaced by the module NATFSTB2 in the link job for the reentrant part.

Example of linking the front-end part of the Natural RPC batch server:

/EXEC $TSOSLNK
PROG SERVER,FILENAM=BATCH.SERVER,LOADPT=X'1000000',XREF=YES
TRAITS RMODE=ANY,AMODE=31
INCLUDE NATSFED2,NATvrs.MOD       Must be bound as first module
INCLUDE RPCSFE,NATvrs.MOD         RPC front-end stub
INCLUDE SERVFRNT,USERLIB          Front-end part of Natural batch driver
INCLUDE SERVRENT,USERLIB          Reentrant part of Natural batch driver
INCLUDE RPCSTUB2,USERLIB          BS2STUB (see above)
INCLUDE SWPRMSRV,USERLIB          Swap pool parameter module
INCLUDE NATPRMSV,USERLIB          Natural parameter module
INCLUDE ADAUSER,ADAvrs.MOD
INCLUDE SSFB2C,ADAvrs.MOD
BIND

where:

vrs stands for the current version of Natural for Mainframes or Adabas for Mainframes and
USERLIB stands for the user-specific library.

For information on how to generate the swap pool parameter module, refer to the section Defining the Natural Swap Pool, Keyword Parameters of Macro NTSWPRM.

Example of linking the reentrant part of the Natural RPC batch server:

/EXEC $TSOSLNK
MOD RPCSERV,XREF=Y,MAP=Y,XDSEC=Y,SORT=YES
TRAITS RMODE=ANY,AMODE=ANY
LINK-SYMBOLS *NOESD
INCLUDE NATINV,NATvrs.MOD      Must be bound as first module
INCLUDE NATURAL,NATvrs.MOD     Natural nucleus
COMMENT NATWKFB2,NATvrs.MOD    Is replaced by
INCLUDE NATFSTB2,NATvrs.MOD    print file/work file server stub
.                All other
.                moduls
INCLUDE NATLAST,,NATvrs.MOD 
BIND

where vrs stands for the current version of Natural for Mainframes.

Example of parameters for the Natural batch server:

AUTO=ON,
STACK=(LOGON DFSERVER),
RPC=(
SERVER=ON,
SRVNODE='10.20.91.202:3860:TCP',SRVNAME=DFSRV1,
RPCSIZE=128,MAXBUFF=30,
TRACE=2
),
RCA=BROKER,RCALIAS=(BROKER,BKIMBTIA),
MADIO=0,MAXCL=0,MT=0,MENU=OFF,
PRINT=((10),AM=STD),WORK=((1-10),AM=STD)

Example of parameters for the Natural RPC server client:

STACK=(LOGON DFCLIENT),
RPC=(
DFS=(DFSRV1,BKR043,,,NOSERVDIR),
RPCSIZE=128,MAXBUFF=30,
AUTORPC=ON,TRYALT=OFF
),
RCA=BROKER,RCALIAS=(BROKER,BKIMBTIA),
MADIO=0,MAXCL=0,MT=0,ETID=' '

The Natural RPC batch server requires the file named P10 for the output of server messages. If the print file/work file server is used, this file has to be defined using the FILE instruction in the job control for the print file/work file server, unless it is defined in the job control of the Natural RPC batch server.

Example of a start job:

/.SERVER LOGON
/SYSFILE SYSOUT=SERVER.OUT
/SYSFILE SYSLST=SERVER.LIST
/FILE NATvrs.EDIT.WORKFILE,LINK=CMEDIT
/FILE NATvrs.SERVER.ROLLFILE,LINK=PAMNAT,SHARUPD=YES
/FILE SERVER.MSG,LINK=P10        Is required for the server messages 
/FILE ADAvrs.MOD,LINK=DDLIB
/FILE ADAPARM,LINK=DDLNKPAR
/FILE EXXvrs.LIB,LINK=BLSLIB01   Broker
/FILE EXXvrs.LIB,LINK=ETBLIB     Load library 
/SYSFILE SYSDTA=SERVERPARMS
/EXEC BATCH.SERVER
/LOGOFF N

where vrs stands for the current version of Natural for Mainframes, Adabas for Mainframes or EntireX Communicator.

For information on how to generate and start the EntireX Broker, refer to the EntireX Communicator documentation.

Top of page