Einrichten einer Natural RPC-Umgebung

#### Search Results

Search

# 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

- Einen Natural-Server einrichten

- Einrichten eines EntireX Broker-Zugangs

- Einrichten einer EntireX Broker-Umgebung

- Anwendungsfehler beim RPC-Server setzen

## 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

- Client-Interface-Objekt generieren

- RPC-Client-spezifische Natural-Parameter setzen

### 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:

- Einen Standard-Server adressieren
  Siehe Festlegen einer Standard-Serveradresse innerhalb einer Natural-Sitzung oder Schlüsselwort-Subparameter `DFS` des Profilparameters `RPC` oder des Parameter-Makros `NTRPC`.

- Einen Remote Directory Server verwenden
  Siehe Verwendung eines Remote Directory Servers oder Schlüsselwort-Subparameter `RDS` des Profilparameters `RPC` oder des Parameter-Makros `NTRPC`.

### 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.
`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

- Verwendung des Kommando-Modus in der Server-Sitzung sicherstellen

- Eindeutige Verwendung der Adabas ETID sicherstellen

- Eine Natural-Server starten

### 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- oder UNIX-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 S`ERVER-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

Um 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).

| 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 unter z/OS:

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

- API-Version

- TCP/IP als Transportmethode verwenden

### 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
- Zugriff auf den EntireX Broker Stub auf UNIX bereitstellen
- Zugriff auf den EntireX Broker-Stub unter Windows bereitstellen

#### 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:

- 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 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 auf 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.

## Anwendungsfehler beim RPC-Server setzen

Sie können die API `USR4012N` verwenden, um im Falle eines Fehlers in der Anwendung auf dem Natural RPC-Server die Rückgabe der Natural-Fehlermeldung NAT1999 mit dem von Ihnen in der API angegebenen Text an den RPC-Client zu erzwingen.

Weitere Informationen siehe Beschreibung im Text-Objekt `USR4012T` in der Library `SYSEXT`.

### On this page

- Einen Natural-Client einrichten
- Einen Natural-Server einrichten
- Einrichten eines EntireX Broker-Zugangs
- Einrichten einer EntireX Broker-Umgebung
- Anwendungsfehler beim RPC-Server setzen