Starten eines Natural RPC Servers

In diesem Kapitel wird beschrieben, wie Sie einen Natural RPC Server auf den verschiedenen Plattformen starten.

Die folgenden Themen werden behandelt:


Vorbereitungen vor dem Start eines Natural RPC Servers

Jede Art von Natural-Sitzung kann als Natural RPC Server verwendet werden, aber normalerweise ist ein Natural-Server eine Natural-Sitzung, die als asynchrone Task oder als Hintergrund-Task gestartet wird.

Auf Großrechnern:

Um einen Server zu starten, haben Sie folgende Möglichkeiten:

  • Erstellen Sie ein RPC-Server-spezifisches Natural-Parametermodul.

    Eine Liste der relevanten Parameter finden Sie im Abschnitt Einrichten einer Natural RPC-Umgebung, RPC-Server-spezifischen Natural-Parameter setzen.

    Dieses Parametermodul wird mit Ihrem Natural verlinkt.

  • Alternativ dazu können Sie die RPC-Server-spezifischen Natural-Profilparameter auch dynamisch angeben.

    The RPC server-specific Natural profile parameters may also be specified in a Natural profile created with the SYSPARM utility. Natural would then be started with

    Die RPC-Server-spezifischen Natural-Profilparameter können auch in einem Natural-Profil angegeben werden, das mit der SYSPARM Utility erstellt wurde. Natural würde dann gestartet mit PROFILE=serverprofile,

    wobei serverprofile wobei

Unter Windows, UNIX oder OpenVMS:

Um einen Server zu starten, haben Sie die folgenden Möglichkeiten:

  • Erstellen Sie eine RPC-Server-spezifische Natural-Parameterdatei.

    Eine Liste der relevanten Parameter finden Sie im Abschnitt Einrichten einer Natural RPC-Umgebung, RPC-Server-spezifischen Natural-Parameter setzen. Da dringend empfohlen wird, einen Natural RPC Server mit dem Natural-Profilparameter BATCHMODE zu starten, sollten Sie zusätzlich die Natural-Profilparameter CMSYNIN, CMOBJIN und CMPRINT angeben.

    Natural wird dann gestartet mit

    PARM=serverparm

    wobei serverparm der Name der Parameterdatei ist.

  • Alternativ können Sie die RPC-Server-spezifischen Natural-Profilparameter auch dynamisch angeben.

Wie ein Natural-Server gestartet wird, hängt von der Umgebung ab und wird in den entsprechenden Abschnitten weiter unten beschrieben. Der Einfachheit halber werden hier nur die zwingend erforderlichen RPC-Server-spezifischen Profilparameter aufgeführt. Die optionalen RPC-Server-spezifischen Profilparameter können entsprechend angegeben werden.

Starten eines Natural RPC Servers in einer Online-Großrechner-Umgebung (alle TP-Monitore)

Beginn der AnweisungslisteUm einen Natural-Server in einer Online-Großrechner-Umgebung zu starten:

  • Geben Sie in Ihrer TP-Monitor-Umgebung das folgende Kommando ein:

    <natural> PROFILE=serverprofile

    Oder:

    <natural> RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename,RPCSIZE=n,MAXBUFF=n)

Dabei ist <natural> der Name, mit dem Sie Ihr Natural starten (Transaktionscode, Transaktionskennung, umgebungsabhängiger Nukleusname), und serverprofile ist der Name des Natural-Profils.

Starten eines Natural RPC Servers in einer Online-Großrechner-Umgebung (nur CICS)

In einer CICS-Umgebung werden Sie einen Natural RPC Server normalerweise im asynchronen Modus starten. Zusätzlich zu den oben beschriebenen Optionen für alle TP-Monitoren haben Sie für diesen Zweck die folgenden Möglichkeiten:

  • Sie können das Natural-Programm STARTSRV in der Library SYSRPC verwenden, um einen Natural-Server im asynchronen Modus zu starten (siehe unten).

  • Sie können einen Natural RPC Server im asynchronen Modus während des Starts von CICS starten (siehe unten).

Beim Starten des asynchronen Natural RPC Servers wird empfohlen, zusätzlich die Natural-Profilparameter TTYPE, INTENS, SENDER mit folgenden Einstellungen anzugeben:

TTYPE=ASYL,INTENS=1,SENDER=CSSL

Dies bewirkt, dass jede Ausgabe in das primäre Ausgabeziel im Zeilenmodus und nicht im 3270-Modus geschrieben wird. Anstelle von CSSL können Sie auch jedes andere CICS-Ausgabeziel angeben.

Starten eines Natural RPC Servers im asynchronen Modus mit STARTSRV

STARTSRV ist ein Beispiel-Frontend für RPCSSRV, das die asynchrone Natural-Sitzung startet.

Standardmäßig wird das asynchrone Natural mit der gleichen Transaktionskennung in der gleichen Library wie die aktuelle Sitzung gestartet.

Wenn Natural Security (NSC) verwendet wird, wird auch die Benutzerkennung der aktuellen Natural-Sitzung weitergegeben. Sie können die Eingabe an Ihre Anforderungen anpassen.

Beachten Sie, dass einige Natural-Profilparameter von RPCSSRV implizit hinzugefügt werden. Dies gilt insbesondere für den Schlüsselwort-Subparameter RPCSIZE des Profilparameters RPC. RPCSIZE ist standardmäßig auf MAXBUFF+4 eingestellt, wobei MAXBUFF der Wert ist, der im Masken-Feld Receiving buffer eingetragen ist. Sie können den Standardwert für RPCSIZE überschreiben, indem Sie RPC=(RPCSIZE=n) in das Masken-Feld Session parameter eintragen.

Wenn Sie beim Starten der Natural-Sitzung ein Natural-Programm ausführen wollen, können Sie das Masken-Feld User Stack verwenden. Der Inhalt von User Stack wird auf dem Natural STACK abgelegt und ausgeführt, bevor der Natural-Server aktiviert wird.

Um die beteiligten Natural-Profilparameter anzuzeigen, geben Sie *SHOW* in das Feld Transaction ID ein. STARTSRV zeigt Ihnen alle dynamischen Profilparameter an, die von RPCSSRV verwendet werden, um die asynchrone Natural-Sitzung zu starten.

Starten einer Natural RPC Server-Sitzung im asynchronen Modus während des Starts von CICS

Um eine Natural RPC Server-Sitzung im asynchronen Modus während des Starts von CICS zu starten, gehen Sie wie folgt vor:

Verwenden Sie das PLTPI, um ein Programm zu starten, das mit EXEC CICS START eine Natural-Sitzung mit allen erforderlichen RPC-spezifischen Natural-Profilparametern startet. Sie können das PLTPI-Beispielprogramm XNCIFRNP anpassen, das in der Natural CICS Source Library enthalten ist.

Bitte beachten Sie, dass die Natural-Sitzung unter der CICS-Standard-Benutzerkennung gestartet wird, die standardmäßig CICSUSER lautet. Diese Benutzerkennung wird den Natural-Systemvariablen *INIT-USER und *USER zugewiesen. Wenn Ihre Natural-Sitzung unter Natural Security läuft, müssen Sie daher eventuell ein Natural LOGON-Kommando auf den Natural STACK legen.

Starten eines Natural RPC Servers in einer Großrechner-Online-Umgebung (nur Com-plete)

In einer Com-plete-Umgebung werden Sie einen Natural RPC Server normalerweise im asynchronen Modus starten. Zusätzlich zu den oben beschriebenen Optionen für alle TP-Monitore haben Sie zu diesem Zweck die folgenden Möglichkeiten:

  • Sie können das Natural-Programm STARTSRV in der Library SYSRPC verwenden, um einen Natural-Server im asynchronen Modus zu starten (siehe unten).

  • Sie können einen Natural RPC Server im asynchronen Modus während des Starts von Com-plete starten (siehe unten).

Starten eines Natural RPC Servers im asynchronen Modus mit STARTSRV

STARTSRV ist ein Beispiel-Frontend für RPCSSRV, das die asynchrone Natural-Sitzung startet.

Standardmäßig wird das asynchrone Natural mit demselben Natural-Namen in derselben Library wie die aktuelle Sitzung gestartet.

Wenn Natural Security (NSC) verwendet wird, wird auch die Benutzerkennung der aktuellen Natural-Sitzung weitergegeben. Sie können die Eingabe an Ihre Anforderungen anpassen.

Beachten Sie, dass einige Natural-Profilparameter von RPCSSRV implizit hinzugefügt werden. Dies gilt insbesondere für den Schlüsselwort-Subparameter RPCSIZE des Profilparameters RPC. RPCSIZE ist standardmäßig auf MAXBUFF+4 eingestellt, wobei MAXBUFF der im Masken-Feld Receiving buffer eingetragene Wert ist. Sie können den Standardwert für RPCSIZE überschreiben, indem Sie RPC=(RPCSIZE=n) in das Masken-Feld Session parameter eintragen.

Wenn Sie beim Starten der Natural-Sitzung ein Natural-Programm ausführen wollen, können Sie das Masken-Feld User Stack verwenden. Der Inhalt vom User Stack wird auf dem Natural STACK abgelegt und ausgeführt, bevor der Natural-Server aktiviert wird.

Um die beteiligten Natural-Profilparameter anzuzeigen, geben Sie *SHOW* in das Feld Transaction ID ein. STARTSRV zeigt Ihnen alle dynamischen Profilparameter an, die von RPCSSRV verwendet werden, um die asynchrone Natural-Sitzung zu starten.

Starten einer Natural RPC Server-Sitzung im asynchronen Modus während des Starts von Com-plete

Um eine Natural RPC Server-Sitzung im asynchronen Modus während des Starts von Com-plete zu starten, gehen Sie wie folgt vor:

Verwenden Sie die Startoption (sysparms) STARTUPPGM, um eine Natural-Sitzung mit allen erforderlichen RPC-spezifischen Natural-Profilparametern zu starten. Sie können die benötigten RPC-spezifischen Parameter entweder einzeln angeben oder sie über ein Natural-Profil wie folgt festlegen:

STARTUPPGM='<natural> PROFILE=<serverprofile>'

Beachten Sie, dass die Natural-Sitzung unter der Benutzerkennung gestartet wird, unter der auch Com-plete gestartet wird. Diese Benutzerkennung ist den Natural-Systemvariablen *INIT-USER und *USER zugewiesen. Wenn Ihre Natural-Sitzung unter Natural Security läuft, müssen Sie daher eventuell ein Natural LOGON-Kommando auf den Natural STACK legen.

Starten eines Batch-Servers in einer Großrechner-Umgebung

Ein Batch-Server ist eine Standard-Natural-Batch-Sitzung, die mit den RPC-Parametern gestartet wird, die im Abschnitt Einrichten einer Natural RPC-Umgebung, RPC-Server-spezifischen Natural-Parameter setzen beschrieben sind.

Die folgenden Themen werden behandelt:

Anmerkung:
Ein Beispiel für eine JCL, die die Trace-Funktion verwendet, finden Sie unter Betrieb einer Natural RPC-Umgebung , Verwendung der Server Trace Facility.

Starten eines Batch-Servers unter z/OS

Beispiel-JCL für z/OS

//NATRPC   JOB  CLASS=K,MSGCLASS=X
//         EXEC PGM=NATOS,REGION=8M               <== Note 1 
//STEPLIB  DD   DISP=SHR,DSN=SAG.NAT.LOAD
//         DD   DISP=SHR,DSN=SAG.EXX.LOAD
//         DD   DISP=SHR,DSN=SAG.ADA.LOAD         <== Note 2
//         DD   DISP=SHR,DSN=DB2_load_library     <== Note 3
//CMPRMIN  DD   *
IM=D,MADIO=0,MT=0,OBJIN=R,AUTO=OFF,MAXCL=0,ID=',',INTENS=1,
RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename)
RPC=(RPCSIZE=m,MAXBUFF=n),
STACK=(LOGON serverlibrary,userID,password)
/*
//CEEOPTS  DD *                                   <== Note 4
POSIX(ON)
/*
//SYSUDUMP DD SYSOUT=X
//CMPRINT  DD SYSOUT=X
/*

Anmerkungen:

  1. Wenn der RPC-Server mit Subtasks läuft, werden mit der EXEC PARM-Anweisung Natural-Parameter nur an die Haupt-Task übergeben. Verwenden Sie stattdessen die CMPRMIN-Anweisung, um Parameter gleichzeitig an die Haupt-Task und die Subtasks zu übergeben.
  2. Gilt nur, wenn die Adabas-Link-Routine ADAUSER oder der Natural-Profilparameter ADANAME verwendet wird.
  3. Gilt nur für DB2-Benutzer.
  4. Gilt nur, wenn SSL verwendet wird.

Beispiel-JCL für eine gestartete Task

Ein Beispiel für eine JCL für eine gestartete Task finden Sie in der Installations-Dokumentation von Natural for Mainframes; siehe Installing Natural on z/OS.

Ausführen eines Batch-Servers mit Replikaten

Sie können einen Batch-Server auch mit Replikaten laufen lassen, indem Sie den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC auf einen Wert größer als 1 setzen.

Replikate werden als zusätzliche Server-Tasks an eine Natural-Haupt-Task angehängt. Sie ermöglichen es Ihnen, mehrere identische Server in derselben Region zu starten.

Starten eines Batch-Servers unter z/VSE

Beispiel-JCL für z/VSE

// LIBDEF PHASE,SEARCH=(SAGLIB.NATvrs,SAGLIB.EXXvrs,SAGLIB.ADAvrs),TEMP
// ASSGN SYS000,READER
// ASSGN SYSLST,FEE
// EXEC NATVSE,SIZE=AUTO,PARM='SYSRDR'
IM=D,MADIO=0,MT=0,OBJIN=R,AUTO=OFF,MAXCL=0,ID=',',INTENS=1,
RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename)
RPC=(RPCSIZE=m,MAXBUFF=n),
STACK=(LOGON serverlibrary,userID,password)
/*

wobei vrs für die jeweilige Produktversion steht. Siehe auch Version im Glossar.

Einen Batch-Server mit Replikaten ausführen

Sie können einen Batch-Server auch mit Replikaten laufen lassen, indem Sie den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC auf einen Wert größer als 1 setzen.

Replikate werden als zusätzliche Server-Tasks an eine Natural-Haupt-Task angebunden. Sie ermöglichen es Ihnen, mehrere identische Server in derselben Region zu starten.

Starten eines Batch-Servers unter BS2000

Beispiel-JCL für BS2000

/.NATRPC      LOGON
/             SYSFILE   SYSOUT=output-file
/             SYSFILE   SYSDTA=(SYSCMD)
/             SYSFILE   SYSIPT=(SYSCMD)
/             STEP
/             SETSW      ON=2
/             EXEC NATBS2
IM=D,MADIO=0,MT=0,OBJIN=R,AUTO=OFF,MAXCL=0,ID=',',INTENS=1,
RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename)
RPC=(RPCSIZE=m,MAXBUFF=n),
STACK=(LOGON serverlibrary,userID,password)
/             EOF

Starten eines Natural RPC Servers in einer Windows-Umgebung

Beginn der AnweisungslisteUm einen Natural RPC Servers unter Windows zu starten:

  1. Erstellen Sie ein Shortcut-Verknüpfung zu Natural.

  2. Geben Sie die Eigenschaften der Verknüpfung ein.

  3. Editieren Sie im Textfeld Target den Natural-Pfad und fügen Sie an:

    "<Path>\natural.exe" batchmode parm=serverparm

    Dabei ist serverparm der Name der Parameterdatei.

    Oder:

    "<Path>\natural.exe" batchmode
    server=on srvname=servername srvnode=nodename maxbuff=n cmsynin=cmsynin cmobjin=cmobjin cmprint=cmprint
    

Starten eines Natural RPC Servers in einer UNIX-Umgebung

Beginn der AnweisungslisteUm einen Natural RPC Server unter UNIX zu starten:

  • Geben Sie das folgende Kommando ein:

    natural batchmode parm=serverparm &

    Dabei ist serverparm der Name der Parameterdatei.

    Oder:

    natural batchmode
    server=on srvname=servername srvnode=nodename maxbuff=n cmsynin=cmsynin cmobjin=cmobjin cmprint=cmprint
     &

Starten eines Natural RPC Servers in an OpenVMS Environment

Beginn der AnweisungslisteUm einen Natural RPC Server unter OpenVMS zu starten:

  1. Geben Sie in der DCL-Kommando-Prozedur myserver.com die folgenden Kommandos ein:

    $ DEFINE NATOUTPUT NLA0:
    $ NAT batchmode parm=serverparm
  2. Übergeben Sie dann myserver.com an eine Batch-Warteschlange:

    $ SUBMIT myserver.com

Besondere Aspekte bei Großrechner-Natural RPC Servern mit Replicaten

Dieser Abschnitt gilt für Großrechner-Natural-Server unter z/OS und z/VSE.

Natural RPC Batch Server mit NTASKS >1

Die Haupt-Task und alle Replikate laufen in der gleichen z/OS-Region oder z/VSE-Partition.

  1. Use the reentrant batch link routine ADALNKR instead of ADALNK.

    Verwenden Sie die eintrittsinvariante (reentrant) Batch Link Routine ADALNKR anstelle von ADALNK.

    Wenn Sie ADAUSER verwenden wollen, dürfen Sie ADAUSER nicht mit Ihrem Frontend verlinken, da ADAUSER nicht eintrittsinvariant (reentrant) ist (siehe Punkt 5). Verwenden Sie stattdessen den Natural-Profilparameter ADANAME und setzen Sie ADANAME=ADAUSER. Dadurch wird Natural veranlasst, ADAUSER zur Laufzeit dynamisch zu laden.

    Hinweis für z/VSE: Wenn Sie ADAUSER verwenden, müssen Sie ADALNKR in ADALNK umbenennen.

  2. Im Natural-Parametermodul:

    • Setzen Sie den Schlüsselwort-Subparameter NTASKS=n des Profilparameters RPC oder des Parametermakros NTRPC, wobei n die Anzahl der zu startenden parallelen Server (< 100), einschließlich der Haupt-Task, ist.

      Hinweis für z/VSE: Die Anzahl der Subtasks ist durch das Betriebssystem begrenzt. Fragen Sie Ihren Systemadministrator.

    • Verwenden Sie den Natural-Profilparameter ETID, um die Adabas-Benutzerkennung als Leerzeichen anzugeben. Dies ist notwendig, um einen NAT3048-Fehler (ETID nicht eindeutig im Adabas-Nukleus) beim Starten der Subtask zu vermeiden.

  3. Bei Verwendung von dynamischen Natural-Profilparametern:

    Verwenden Sie den dynamischen Parameter-Dataset CMPRMIN, um die dynamischen Natural-Profilparameter an Natural zu übergeben. Verwenden Sie nicht die PARM-Karte oder den primären Kommando-Eingabe-Dataset CMSYNIN.

  4. Bei Verwendung eines lokalen Bufferpools (nur z/OS):

    Jede Subtask ordnet ihren eigenen lokalen Bufferpool zu, es sei denn, Sie geben einen gemeinsam genutzten lokalen Bufferpool an. Siehe Subparameter LBPNAME des Profilparameters OSP oder des Parametermakros NTOSP (in der Parameter-Referenz-Dokumentation.

  5. Im Natural Frontend-Link-Job (nur z/OS):

    Verlinken Sie das Frontend eintrittsinvariant (reentrant), indem Sie die Option RENT des Linkage-Editors verwenden.

    Wenn das Frontend nicht mittels der Option RENT verlinkt wäre, würde nur die Haupt-Task die Kommunikation mit dem EntireX Broker starten. Alle Subtasks würden von z/OS in einen WAIT-Status gesetzt, bis die Haupt-Task beendet worden wäre. Wenn Sie den RPC-Server später beenden würden, würde der Adressraum blockieren und müsste abgebrochen werden.

  6. Make sure that any other modules that are additionally linked to the Natural nucleus are reentrant. Any dynamically loaded programs must also be reentrant.

    Stellen Sie sicher, dass alle anderen Module, die zusätzlich mit dem Natural-Nukleus verlinkt sind, eintrittsinvariant (reentrant) sind. Dynamisch geladene Programme müssen ebenfalls eintrittsinvariant sein.

    Hinweis für z/OS: Wenn Sie ein Modul nicht reentrant machen können, verlinken Sie das Modul als nicht wiederverwendbar, d.h. Sie sollten die Link-Option RENT oder REUS nicht angeben. Damit wird sichergestellt, dass jede Subtask ihre eigene Kopie erhält.

Ausführen eines Batch-Servers mit Replikaten

Eine Beispiel-JCL finden Sie unter Verwendung der Server Trace Facility.

Starten eines Natural RPC Servers über das RPC-Server-Frontend (nur bei z/OS Batch-Modus)

Im z/OS-Batch-Modus kann ein Natural RPC Server alternativ über das RPC-Server-Frontend gestartet werden. Dieser Ansatz ist bei Impersonation erforderlich und in anderen Fällen optional.

Wenn Sie das RPC-Server-Frontend ohne Impersonation verwenden, wird empfohlen, den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parametermakros NTRPC auf einen Wert größer als 1 zu setzen, da sonst kein nutzbringender Effekt entsteht. Die Überlegungen im Abschnitt Besondere Aspekte bei Großrechner-Natural RPC Servers mit Replikaten gelten auch, wenn Sie das RPC-Server-Frontend verwenden.

Das RPC-Server-Frontend verwendet die Natural-Server-Funktionalität; siehe Natural as a Server under z/OS (in der Natural-Operations-Dokumentation). Es zeichnet sich durch die folgenden Eigenschaften aus:

  • Das Natural RPC Server-Frontend startet eine Reihe von Natural RPC Server-Sitzungen, die durch den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder das Parameter-Makro NTRPC festgelegt sind.

  • Alle Natural RPC Server-Sitzungen werden mit denselben Natural-Profilparametereinstellungen ausgeführt.

    Die Natural-Profilparametereinstellungen werden aus dem Natural-Parametermodul übernommen und können durch dynamisch angegebene Profilparameter, die mit der Transaktionskennung übergeben werden, überschrieben werden. Die dynamisch angegebenen Profilparameter müssen auf den Startup-Parameter folgen.

  • Wenn alle Natural RPC Server-Sitzungen gerade von Clients verwendet werden (Ausführung einer Client-Anforderung oder Warten auf die nächste Anforderung innerhalb einer Konversation) und wenn der Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC auf einen Wert größer als 1 gesetzt ist, werden zusätzliche Natural RPC Server-Sitzungen gestartet. Diese Natural RPC Server-Sitzungen werden beim ersten EntireX Broker-Timeout automatisch beendet, vorausgesetzt, es gibt mindestens eine weitere Natural RPC Server-Sitzung, die nicht von einem Client verwendet wird. Wenn alle anderen Natural RPC Server-Sitzungen gerade von Clients genutzt werden, bleibt die zusätzliche RPC-Server-Sitzung bis zum nächsten EntireX Broker-Timeout bestehen. Dadurch wird sichergestellt, dass immer ein Natural RPC Server zur Verfügung steht, um eine neue Client-Anforderung zu bearbeiten.

  • Die Natural RPC Server-Sitzungen werden in einer Thread-Umgebung ausgeführt, die der von Natural-Sitzungen ähnelt, die in einem TP-Monitor-System ausgeführt werden.

  • Mit Impersonation:
    Am Ende eines nicht-konversationellen CALLNAT und am Ende einer Konversation werden alle Datenbanksitzungen und alle Arbeitsdateien geschlossen. Dadurch wird sichergestellt, dass die nächste Client-Anfrage die Datenbank und die Arbeitsdateien mit der eigenen Benutzerkennung öffnet.

  • Ohne Impersonation:
    Nach dem ersten EntireX Broker Timeout werden alle Datenbanksitzungen und alle Arbeitsdateien geschlossen. Dadurch wird sichergestellt, dass keine Ressourcen während der Wartezeiten blockiert werden.

Startparameter:

Die erforderlichen Startparameter werden im Parameter PARM= der EXEC-Anweisung in der JCL übergeben. Diese Parameter sind:

  • Der Name des Natural z/OS-Batch-Nukleus,

  • die Größe eines Speicher-Threads,

  • das optionale Schlüsselwort UCTRAN.

    UCTRAN gibt an, dass alle Meldungen des RPC-Server-Frontends in Großbuchstaben umgewandelt werden.

Diese Parameter müssen durch Kommas getrennt sein und ohne führende oder nachfolgende Leerzeichen eingegeben werden:

PARM='Natural-z/OS-batch-nucleus,size-of-thread[,,UCTRAN]'

Aus Kompatibilitätsgründen müssen UCTRAN zwei aufeinanderfolgende Kommas vorangestellt werden.

Siehe auch die Beispiel-JCL unten.

Hinweise zur Ausführung:

  • Der Natural z/OS Batch-Nukleus wird dynamisch geladen.

    Die Load Library, die den z/OS-Batch-Nukleus enthält, muss in der Steplib-Verkettung verfügbar sein.

  • Der EntireX-Broker-Stub NATETB23 darf nicht verwendet werden.

    Auf den EntireX Broker wird außerhalb des Natural-Kontextes zugegriffen. Daher müssen Sie den EntireX-Broker-Stub BROKER verwenden, siehe Zugang zum EntireX Broker Stub auf dem Großrechner bereitstellen .

Nur bei Impersonation:
Wenn die Impersonation-Funktion verwendet wird, muss das RPC-Server-Frontend von einer Authorized Program Facility (APF) Library ausgeführt werden. Es wird empfohlen, das RPC-Server-Frontend von einer APF-autorisierten LINKLIST Library aus auszuführen. Dadurch entfällt die Notwendigkeit, die gesamte Steplib-Verkettung APF-autorisiert bereitzustellen.

Nur bei Natural Security:
Wenn das Natural RPC Server-Frontend mit dem Profilparameter AUTO=OFFAUTO=OFF gestartet wird, müssen Sie ein Natural-Systemkommando LOGON mit Library-Kennung, Benutzerkennung und Passwort auf dem Natural-Stack angeben:

STACK=(LOGON library-id;user-id;password)

Beispiel-JCL:

//NATRPC   JOB  CLASS=K,MSGCLASS=X
//         EXEC PGM=RPC-FRONT,REGION=8M
//         PARM='Natural-z/OS-interface-module,1000'
//STEPLIB  DD   DISP=SHR,DSN=SAG.NAT.LOAD
//         DD   DISP=SHR,DSN=SAG.EXX.LOAD
//         DD   DISP=SHR,DSN=SAG.ADA.LOAD         <== Note 1
//         DD   DISP=SHR,DSN=DB2_load_library     <== Note 2
//CMPRMIN  DD   *
IM=D,MADIO=0,MT=0,OBJIN=R,AUTO=OFF,MAXCL=0,ID=',',INTENS=1,
PRINT=((10),AM=STD)
RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename,NTASKS=3)
RPC=(RPCSIZE=m,MAXBUFF=n,TRACE=2),
RCA=BROKER,RCALIAS=(BROKER,BROKER)
STACK=(LOGON serverlibrary,userID,password)
/*
//CEEOPTS  DD *                                   <== Note 3
POSIX(ON)
*
//SYSUDUMP DD SYSOUT=X
//CMPRT10  DD SYSOUT=X
//CMPRT101 DD SYSOUT=X
//CMPRT102 DD SYSOUT=X
//CMPRT199 DD SYSOUT=X
//CMPRINT  DD SYSOUT=X
//CMPRINT1 DD SYSOUT=X
//CMPRINT2 DD SYSOUT=X
//CMPRIN99 DD SYSOUT=X
/*

Anmerkungen:

  1. Gilt nur, wenn die Adabas-Link-Routine ADAUSER oder der Natural-Profilparameter ADANAME verwendet wird.

  2. Gilt nur für DB2-Benutzer.

  3. Gilt nur, wenn SSL verwendet wird.

Starten eines Natural RPC Servers über das RPC Server Frontend (nur CICS)

In CICS kann ein Natural RPC Server alternativ auch über das RPC-Server-Frontend gestartet werden. Diese Vorgehensweise ist erforderlich, wenn Impersonation verwendet wird, und ist in anderen Fällen optional.

Wenn Sie das RPC-Server-Frontend ohne Impersonation verwenden, wird empfohlen, den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC auf einen Wert größer als 1 zu setzen. Andernfalls ergibt sich kein nutzbringender Effekt.

Das RPC-Server-Frontend verwendet die Natural Server-Funktionalität. Es zeichnet sich durch die folgenden Merkmale aus:

  • Das Natural RPC Server-Frontend wird über die Transaktionskennung gestartet, die im Schritt Customize CICS für das Natural RPC Server-Frontend definiert wurde. Siehe Installing the Natural CICS Interface on z/OS.

    Die Transaktionskennung können Sie entweder an einem Terminal eingeben oder Sie können das Natural-Programm STARTSFE in der Library SYSRPC verwenden, um das Natural RPC Server-Frontend im asynchronen Modus zu starten.

    Das Natural RPC Server-Frontend benötigt den Namen des Natural CICS-Interface-Nukleus als Startparameter. Dieser Startparameter wird mit der Transaktionskennung übergeben.

  • Das Natural RPC Server-Frontend startet eine Anzahl von Natural RPC Server-Sitzungen, die durch den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC festgelegt wird.

  • Alle Natural RPC Server-Sitzungen werden mit denselben Natural-Profilparametereinstellungen ausgeführt.

    Die Natural-Profilparametereinstellungen werden aus dem Natural-Parametermodul übernommen und können durch dynamisch angegebene Profilparameter, die mit der Transaktionskennung übergeben werden, überschrieben werden. Die dynamisch angegebenen Profilparameter müssen auf den Startparameter folgen.

  • Wenn alle Natural RPC Server-Sitzungen gerade von Clients verwendet werden (Ausführung einer Client-Anforderung oder Warten auf die nächste Anforderung innerhalb einer Konversation) und wenn der Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC auf einen Wert größer als 1 gesetzt ist, werden zusätzliche Natural RPC Server-Sitzungen gestartet. Diese Natural RPC Server-Sitzungen werden beim ersten EntireX Broker-Timeout automatisch beendet, vorausgesetzt, es gibt mindestens eine weitere Natural RPC Server-Sitzung, die nicht von einem Client verwendet wird. Wenn alle anderen Natural RPC Server-Sitzungen von Clients genutzt werden, bleibt die zusätzliche RPC-Server-Sitzung bis zum nächsten EntireX Broker Timeout bestehen. Damit wird sichergestellt, dass immer ein Natural RPC Server zur Verfügung steht, um eine neue Client-Anforderung zu bearbeiten.

  • Die Natural RPC Server-Sitzungen werden in einer Thread-Umgebung ausgeführt, die der von Natural-Sitzungen ähnelt, die in einem TP-Monitor-System ausgeführt werden.

  • Alle inaktiven Natural RPC Server-Sitzungen (Sitzungen, die auf eine Client-Anfrage warten) werden mit Hilfe der Natural Roll Facilities under CICS ausgelagert, die für den verwendeten Natural CICS-Schnittstellenkern definiert sind.

  • Mit Impersonation:
    Zu Beginn eines nicht-konversationellen CALLNAT und zu Beginn einer Konversation wird mit der Option USERID() des Kommandos EXEC CICS START TRANSID() eine neue CICS-Worker-Task unter der Benutzerkennung des Clients gestartet. Die Client-Anforderung wird von Natural in dieser Worker-Task ausgeführt. Während die Client-Anforderung ausgeführt wird, wartet die Natural RPC Server-Sitzung auf die Beendigung der Worker-Task.

    Am Ende eines nicht-konversationellen CALLNAT und am Ende einer Konversation wird die Worker-Task beendet, alle Datenbanken werden geschlossen und alle CICS-Ressourcen werden freigegeben. Dadurch wird sichergestellt, dass die nächste Client-Anfrage die Datenbank öffnet und auf die CICS-Ressourcen mit ihrer eigenen Benutzerkennung zugreift.

  • Ohne Impersonation
    Die Client-Anforderung wird von der Natural RPC Server-Sitzung selbst ausgeführt.

    Nach dem ersten EntireX Broker Timeout werden alle Datenbanken geschlossen und alle CICS-Ressourcen freigegeben. Dadurch wird sichergestellt, dass keine Ressourcen während der Wartezeiten blockiert werden.

Startparameter:

Die erforderlichen Startparameter werden mit der Transaktionskennung übergeben. Diese Parameter sind:

  • Der Name des Natural CICS Interface-Nukleus <ncistart>.

  • Das optionale Schlüsselwort UCTRAN.

    UCTRAN gibt an, dass alle Meldungen des RPC-Server-Frontends in Großbuchstaben umgewandelt werden.

  • Eine optionale Natural-Profilparameter-Zeichenkette.

Beispiel für den Start an einem Terminal:

<natural> <ncistart>[,UCTRAN]
RPC=(SERVER=ON,SRVNAME=servername,SRVNODE=nodename,RPCSIZE=n, MAXBUFF=n)
RCA=BROKER,RCALIAS=(BROKER,CICSETB)

Dabei ist <natural> die Transaktionskennung, mit der Sie Ihr Natural RPC Server-Frontend starten, und <ncistart> der Name Ihres Natural CICS-Interface-Nukleus.

Hinweise zur Ausführung:

  • Wenn der Natural Roll Server erforderlich ist (NCMDIR-Parameter ROLLSRV ist auf YES gesetzt), müssen Sie einen Natural Roll Server für die verwendete Subsystemkennung (wie durch den Natural-Profilparameter SUBSID definiert) starten, bevor das Natural RPC Server-Frontend gestartet wird.

  • Die Transaktionskennung des RPC-Server-Frontends wird verwendet, um die RPC-Server-Umgebung zu identifizieren.

    Starten Sie nicht mehr als ein Natural RPC Server-Frontend mit derselben Transaktionskennung.

  • Das ausführbare NCI-Modul wird dynamisch geladen.

    Die Load Library, die das ausführbare NCI-Modul enthält, muss in der DFHRPL-Verkettung verfügbar sein.

  • Der EntireX-Broker-Stub NATETB23 darf nicht verwendet werden.

    Auf den EntireX-Broker wird außerhalb des Natural-Kontextes zugegriffen. Daher müssen Sie den EntireX-Broker-Stub CICSETB verwenden, siehe Zugang zum EntireX Broker Stub auf dem Großrechner bereitstellen .

Nur bei Impersonation:
Wenn die Impersonation-Funktion verwendet wird, startet das RPC-Server-Frontend Worker-Tasks. Stellen Sie sicher, dass die Einstellung des CICS-System-Initialisierungsparameters MXT in Ihrer CICS-Installation hoch genug ist.

Nur bei Natural Security:
Wenn das Natural RPC Server-Frontend mit dem Profilparameter AUTO gestartet wird, müssen Sie auf den Natural-Stack ein Natural-Systemkommando LOGON mit Library-Kennung, Benutzerkennung und Passwort legen:

STACK=(LOGON library-id;user-id;password).