Einrichten einer Natural RPC-Umgebung

Um eine Natural RPC-Umgebung einzurichten und in Betrieb zu nehmen, müssen Sie die unten beschriebenen Schritte für alle Client-Naturals und Server-Naturals durchführen und die plattformspezifischen Hinweise und Aspekte lesen.


Einen Natural-Client einrichten

Wenn nicht anders vermerkt, gilt diese Anleitung für alle Umgebungen.

Um eine Natural RPC-Umgebung einzurichten, müssen Sie die folgenden Schritte ausführen:

Den Namen des Servers definieren

Benutzen Sie die Funktion Service Directory Maintenance der SYSRPC Utility, um den Namen des Servers zu definieren, der für jedes remote auszuführende CALLNAT-Statement verwendet werden soll.

Einzelheiten und Beispiel-Bildschirme finden Sie unter Funktion Service Directory Maintenance aufrufen (in der Debugger und Dienstprogramme-Dokumentation).

Das generierte Directory-Subprogramm NATCLTGS muss der Natural-Client-Anwendung zur Verfügung gestellt werden. Wenn Sie NATCLTGS nicht in Ihrer Client Library generiert haben, verschieben Sie NATCLTGS in diese Library oder in eine der Steplibs.

Wahlweise können Sie eine der folgenden Möglichkeiten zur Serverauswahl verwenden:

Client-Interface-Objekt generieren

Dieser Schritt gilt nur, wenn Sie nicht mit automatischer Natural RPC-Ausführung arbeiten wollen oder können (siehe Betrieb einer Natural RPC-Umgebung , Mit automatischer Natural RPC-Ausführung arbeiten).

Verwenden Sie für jedes remote auszuführende CALLNAT-Statement die Funktion Interface Object Generation der SYSRPC Utility (siehe Interface-Objekte erstellen).

Beachten Sie, dass das generierte Interface-Objekt der Natural-Client-Umgebung zur Verfügung gestellt werden muss. Wenn Sie das Interface-Objekt nicht in Ihrer Client-Library generieren, verschieben Sie das Interface-Objekt in diese Library oder in eine der Steplib Libraries.

RPC-Client-spezifische Natural-Parameter setzen

Setzen Sie die Schlüsselwort-Subparameter des Profilparameters RPC oder des Parameter-Makros NTRPC, die für die Client-spezifische Behandlung von Remote Procedure Calls relevant sind.

Zwingend erforderliche Parameter:

Schlüsselwort-Subparameter Funktion
MAXBUFF Maximale Puffergröße (nur bei automatischer RPC-Ausführung).
RPCSIZE Größe des von Natural RPC verwendeten Puffers (nur für Mainframe-Clients).

Optionale Parameter:

Schlüsselwort-Subparameter Funktion
ACIVERS Dieser Parameter ist obsolet und wird ignoriert. Die höchste ACI-Version wird durch den RPC-Nukleus und EntireX ausgehandelt.
AUTORPC Automatische Natural RPC-Ausführung.
COMPR Einstellen der RPC-Pufferkomprimierung.

Siehe auch Betrieb einer Natural RPC-Umgebung, Komprimierung verwenden.

CPRPC Codepage-Namen definieren.
DFS Standard-Serveradresse des RPC-Clients festlegen.
RDS Remote Directory Server definieren.
RPCSDIR Geben Sie den Namen der Natural Library an, in der sich das Service Directory befindet (nur für Großrechner-, UNIX- und OpenVMS-Server).
TIMEOUT Wartezeit auf Antwort des RPC-Servers.
TRYALT Alternative Serveradresse versuchen.

Die folgenden Hinweise gelten für die Verwendung des EntireX-Brokers.

Anmerkungen:

  1. Die mit dem Schlüsselwort-Subparameter DFS angegebenen Namen müssen einen aktiven EntireX Broker identifizieren und einer Serverdefinition in der EntireX Broker-Attributdatei entsprechen (siehe Einrichten einer EntireX Broker-Umgebung).
  2. Die mit dem Schlüsselwort-Subparameter TIMEOUT angegebene Wartezeit wird verwendet, um das Feld WAIT des EntireX Broker ACI zu setzen. Wenn TIMEOUT auf Null gesetzt wird, wird WAIT=YES gesetzt und der Client wartet auf die CLIENT-NONACT-Zeit. Ist die Wartezeit abgelaufen, wird der Remote Procedure Call mit einer entsprechenden Fehlermeldung beendet. Die Verwendung von TIMEOUT ermöglicht es Ihnen, die Vorteile des Transport-Timeout-Mechanismus zu nutzen, der von den EntireX Broker-Stubs bereitgestellt wird.

Einen Natural-Server einrichten

Ein Natural-Server ist eine Natural-Task (Server-Task), die Natural-Subprogramme (Services, d.h. Dienste) ausführen kann. Diese Natural-Task ist in der Regel eine asynchrone oder Hintergrund-Task (detached process). Der EntireX-Broker und der Client identifizieren ihn über einen Knotennamen (nodename) und einen Servernamen (servername).

Um einen Natural-Server einzurichten, führen Sie die im Folgenden beschriebenen Schritte aus:

RPC-Server-spezifische Natural-Parameter setzen

Setzen Sie die plattformabhängigen Natural-Parameter, die für die allgemeine und serverspezifische Behandlung von Remote Procedure Calls für das Server-Natural relevant sind.

Für Großrechner-Server:

  1. Erstellen Sie ein RPC-spezifisches Natural-Parametermodul.

  2. Setzen Sie die Schlüsselwort-Subparameter des Profilparameters RPC oder des Parameter-Makros NTRPC (siehe Tabelle unten) wie gewünscht.

Für Windows-, UNIX- oder OpenVMS-Server:

  1. Erstellen Sie eine RPC-spezifische Natural-Parameterdatei.

  2. Setzen Sie die Natural-Profilparameter (siehe Tabelle unten) wie gewünscht.

Zwingend erforderliche Parameter:

Schlüsselwort-Subparameter Funktion
MAXBUFF Maximale Puffergröße.
RPCSIZE Größe des von Natural RPC verwendeten Puffers (nur für Großrechner-Server)
SERVER Natural-Sitzung als RPC-Server-Sitzung starten.
SRVNAME Name des RPC-Servers, siehe Hinweis für EntireX Broker unten.
SRVNODE Name des Knotens, siehe Hinweis für EntireX Broker unten.

Optionale Parameter:

Schlüsselwort-Subparameter Funktion
ACIVERS Dieser Parameter ist obsolet und wird ignoriert. Die höchste ACI-Version wird durch den RPC-Nukleus und EntireX ausgehandelt.
CPRPC Name der Codepage festlegen.
LOGONRQ Anmeldung für RPC-Server-Anforderung erforderlich.
NTASKS Mindest- und Höchstwert der Anzahl der Server-Replikate (nur bei Großrechner-Servern).
SRVCMIT Zeit, zu der ein Natural RPC Server eine RPC-Konversation oder eine nicht konversationelle RPC-Anfrage automatisch festschreibt (Commit).
SRVRTRY Anzahl der Versuche eines RPC-Servers, sich mit einem nicht aktiven EntireX-Broker zu verbinden/neu zu verbinden (REGISTER), und die Wartezeit zwischen zwei aufeinanderfolgenden Versuchen.
SRVTERM Server-Beendigungsereignis.
SRVUSER Benutzerkennung für die RPC-Server-Registrierung.
SRVWAIT Wartezeit des RPC-Servers auf eine Client-Anforderung.
TRACE Definition der zu verfolgenden Komponenten.
TRANSP Server-Transportprotokoll (nicht mehr erforderlich).

Die folgenden Hinweise gelten für die Verwendung des EntireX-Brokers.

Anmerkungen:

  1. Der mit dem Schlüsselwort-Subparameter SRVNODE angegebene Name muss einen aktiven EntireX Broker identifizieren und der mit dem Schlüsselwort-Subparameter SRVNAME angegebene Name muss einer Serverdefinition in der EntireX Broker-Attributdatei entsprechen, siehe Einrichten einer EntireX Broker-Umgebung.
  2. Die mit dem Schlüsselwort-Subparameter SRVWAIT angegebene Wartezeit wird verwendet, um das Feld WAIT des EntireX Broker ACI zu setzen. Wenn SRVWAIT nicht angegeben oder auf Null gesetzt ist, wird WAIT=YES gesetzt, und der Server wartet auf die SERVER-NONACT-Zeit. Ist die Wartezeit verstrichen, wird eine entsprechende Meldung in die RPC-Server-Trace-Datei geschrieben, und der RPC-Server wartet weiter auf die nächste Client-Anforderung. Die Verwendung des SRVWAIT-Parameters ermöglicht es Ihnen, den Transport-Timeout-Mechanismus zu nutzen, der von den EntireX Broker-Stubs bereitgestellt wird.
  3. Wenn Sie die Anzahl der Versuche eines RPC-Servers, eine Verbindung zu einem EntireX Broker herzustellen oder wiederherzustellen, auf einen Wert größer als Null gesetzt haben, wird der RPC-Server nicht mehr sofort beendet, wenn der EntireX Broker heruntergefahren wird (z. B. für ein IPL oder einen längeren Wartungszeitraum). In diesem Fall müssen Sie den RPC-Server explizit beenden, bevor Sie den EntireX Broker auf eine der folgenden Arten herunterfahren: Verwenden Sie das Kommando Terminate Service (TS) der Funktion Server Command Execution der SYSRPC Utility, oder verwenden Sie die Anwendungsprogrammierschnittstelle USR2075N oder USR8208N, oder verwenden Sie den System Management Hub for EntireX.

Verwendung des Kommando-Modus in der Server-Sitzung sicherstellen

Beginn der AnweisungslisteUm sicherzustellen, dass Ihre Natural-Server-Sitzung in den Kommando-Modus wechselt:

  • Deaktivieren Sie den Natural-Menü-Modus, indem Sie den Natural-Profilparameter MENU auf =OFF setzen (gilt nur bei Großrechner-Servern).

Warning
Vermeiden Sie, ...
  • ein Programm auf den Natural-Stack zu legen, das nie beendet wird.

  • ein STARTUP-Programm zu verwenden, das nie beendet wird.

  • den NEXT-Modus in Natural Security für Ihre Server Library zu deaktivieren.

Eindeutige Verwendung der Adabas ETID sicherstellen

Stellen Sie sicher, dass die von der Natural-Server-Sitzung verwendete Adabas ETID innerhalb eines bestimmten Adabas-Nukleus singulär ist.

Eine Natural-Server starten

Um einen Natural Server zu starten, gehen Sie wie im Abschnitt Starten eines Natural RPC Servers beschrieben vor.

Dieser Server wartet dann auf remote CALLNAT-Anforderungen von einem Client.

Anmerkung zu Natural im Batch-Modus auf z/OS oder auf z/VSE:

Informationen zu Servern, die den Schlüsselwort-Subparameter NTASKS des Profilparameters RPC oder des Parameter-Makros NTRPC verwenden, finden Sie unter Besondere Aspekte bei Großrechner-Natural RPC Servern mit Replicaten.

Einrichten eines EntireX Broker-Zugangs

Um eine EntireX Broker-Schnittstelle einzurichten, führen Sie die unten beschriebenen Schritte durch:

Zugriff auf den EntireX Broker Stub einrichten

Ermöglichen Sie für Ihre Natural-Umgebung den Zugang zum EntireX Broker Stub. Dieser Schritt hängt von der verwendeten Plattform ab.

Zugang zum EntireX Broker Stub auf dem Großrechner bereitstellen

Verlinken Sie den EntireX Broker Stub NATETB23 mit Ihrem Natural oder geben Sie den Profilparameter RCA=BROKER an, damit NATETB23 dynamisch zur Laufzeit geladen wird.

In den folgenden Fällen kann NATETB23 nicht verwendet werden und Sie müssen einen anderen EntireX Broker-Stub verwenden:

  • Auf z/VSE müssen Sie stattdessen BKIMB oder BKIMC verwenden.

  • Wenn Sie das TCP/IP-Protokoll unter BS2000 verwenden wollen, müssen Sie stattdessen BKIMBTIA verwenden.

  • Wenn Sie Impersonation im z/OS-Batch-Modus verwenden wollen, müssen Sie stattdessen BROKER verwenden.

  • Wenn Sie Impersonation unter CICS verwenden wollen, müssen Sie stattdessen CICSETB verwenden.

Um BKIMBTIA, BROKER oder CICSETB dynamisch zur Laufzeit zu laden, geben Sie RCA=BROKER RCALIAS=(BROKER,stubname) an.

Weitere Einzelheiten finden Sie in der Dokumentation zum EntireX Communicator.

Anmerkung:
Bitte prüfen Sie die Voraussetzungen für den Einsatz von CICSETB hinsichtlich der erforderlichen PPT-Einträge und der Adabas-Link-Routine.

Zugriff auf den EntireX Broker Stub auf UNIX und OpenVMS bereitstellen

Der EntireX Broker Stub wird im Zuge der EntireX-Installation automatisch zur Verfügung gestellt.

Zugriff auf den EntireX Broker-Stub unter Windows bereitstellen

Der EntireX-Broker-Stub wird im Zuge der EntireX-Installation automatisch zur Verfügung gestellt.

API-Version

Die mögliche ACI-Version wird zwischen dem RPC-Nukleus und EntireX ausgehandelt und auf den höchstmöglichen Wert gesetzt. Diese Version von Natural schränkt die ACI-Version 13 ein, auch wenn EntireX eine höhere ACI-Version unterstützt.

TCP/IP als Transportmethode verwenden

Wenn TCP/IP als Transportmethode verwendet wird und Sie den Serverknoten über einen Hostnamen adressieren, haben Sie folgende Möglichkeiten:

  • Definieren Sie den Serverknoten im Hosts and Services Directory Ihrer TCP/IP-Installation.

  • Verwenden Sie ein Domain Name System (DNS) für die Auflösung des Domänennamens.

Einrichten einer EntireX Broker-Umgebung

Fügen Sie in der EntireX Broker-Attributdatei Folgendes hinzu:

  1. Für jeden Natural RPC Server muss eine Dienstdefinition wie folgt angegeben werden:

    CLASS=RPC, SERVICE=CALLNAT, SERVER=servername.

  2. Wenn Sie die Konvertierungsdienste verwenden wollen, setzen Sie CONVERSION=userexit. In diesem Fall müssen Sie den Schlüsselwort-Subparameter CPRPC des Profilparameters RPC oder des Parameter-Makros NTRPC entsprechend einstellen.

    Wenn Sie Reliable RPC verwenden möchten, sind zusätzliche Einstellungen für jeden Natural RPC Server erforderlich, der Reliable RPC unterstützen soll:

  • Das EntireX Broker-Attribut MAX-UOWS muss auf einen Wert größer Null gesetzt werden.

  • Das EntireX Broker-Attribut DEFERRED (aufgeschoben) muss auf YES gesetzt werden, wenn der Client in der Lage sein soll, Reliable RPC-Nachrichten an einen RPC-Server zu senden, der dem EntireX Broker bekannt ist, aber noch nicht gestartet wurde.

  • Das EntireX Broker-Attribut STORE muss auf BROKER gesetzt werden, wenn eine Wiederherstellung von Reliable RPC-Nachrichten nach einem Systemausfall möglich sein soll. Außerdem muss der persistente Speicher von EntireX Broker aktiviert sein.

  • Die Lebensdauer der Reliable RPC Nachricht selbst (EntireX Broker Attribut UWTIME) und die Lebensdauer ihres Status (EntireX Broker Attribut UWSTAT-LIFETIME) müssen an Ihre Bedürfnisse angepasst werden.