Beenden eines Natural RPC Servers

In diesem Kapitel wird beschrieben, wie Sie einen Natural RPC Server beenden können. Dies kann entweder durch das Beenden eines einzelnen RPC-Server-Replikats oder des EntireX-Broker-Dienstes, der die RPC-Verbindung unterstützt, erfolgen. Es gibt mehrere Vorgehensweisen.


SYSRPC Utility benutzen

Diese Methode zum Beenden eines Natural RPC Servers kann entweder bei einem einzelnen RPC-Server-Replikat oder dem EntireX Broker-Dienst angewendet werden:

Mit SYSRPC ein einzelnes RPC-Server-Replikat beenden

Benutzen Sie das Kommando TE (Terminate RPC Server) in der SYSRPC Utility, wie unter RPC-Server beenden in der SYSRPC Utility-Dokumentation beschrieben.

Anmerkung:
Ein Natural RPC Server kann nur beendet werden, wenn der Server zurzeit weder ein entferntes CALLNAT ausführt noch auf die nächste CALLNAT-Anforderung in einer Konversation wartet.

Mit SYSRPC ein einzelnes RPC-Server-Replikat nach Folgenummer beenden

Mit dem Befehl LN (List Server with Sequence Number) können Sie die Server, die mit dem Kommando TE beendet werden sollen, aus einer detaillierten Liste von Replikaten auswählen, die die einem Server zugewiesene Folgenummer enthält. Weitere Informationen siehe RPC-Server beenden in der SYSRPC Utility-Dokumentation.

Mit SYSRPC einen EntireX-Broker-Dienst beenden

Verwenden Sie das Kommando TS (Terminate EntireX Broker Service) in der SYSRPC Utility, wie unter RPC-Server beenden in der SYSRPC Utility-Dokumentation beschrieben.

EntireX System Management Hub verwenden

Wählen Sie zum Abmelden die Schaltfläche Deregister in der Teilbaumstruktur Server des EntireX System Management Hub. Sie können auch die Schaltfläche Deregister in der Teilbaumstruktur Service des EntireX System Management Hub verwenden.

Anwendungsprogrammierschnittstelle USR2073N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR2073N ermöglicht es Ihnen, einen Natural RPC Server anzupingen oder zu beenden.

Die Schnittstelle sendet ein PING- oder TERMINATE-Kommando an einen RPC-Server, der durch den Knotennamen und den Servernamen angegeben wird. Die zurückgegebene Nachricht enthält die folgenden Informationen:

  • die Version des laufenden Servers (PING) bzw.

  • die Bestätigung der Beendigung (TERMINATE) oder

  • eine Fehlermeldung.

Beginn der AnweisungslisteUm USR2073N zu benutzen:

  1. Kopieren Sie das Subprogramm USR2073N aus der Library SYSEXT in die Library SYSTEM oder in die Steplib Library oder in eine beliebige Anwendung in der Serverumgebung.

  2. Geben Sie mit einem DEFINE DATA-Statement im Structured Mode oder einem RESET-Statement im Reporting Mode die folgenden Parameter an:

    Parameter Format I/O Beschreibung
    FUNCTION A10 I PING Fragt den RPC-Server nach seiner Version.
    TERMINATE Leitet die Beendigung der Natural RPC Server-Task ein.
    SRVNODE A192 I Knotenname.

    Siehe Schlüsselwort-Subparameter SRVNODE des Profilparameters RPC oder des Parameter-Makros NTRPC.

    SRVNAME A32 I Name des Servers.

    Siehe Schlüsselwort-Subparameter SRVNAME des Profilparameters RPC oder des Parameter-Makros NTRPC.

    LOGON A1 I Das Logon-Flag Y (ja) zeigt an, dass Anmeldedaten an den Natural RPC Server übermittelt werden müssen.
    USER-ID A8 I Wenn LOGON=Y, dann sind Benutzerkennung und Passwort die Anmeldedaten für Natural Security.

    Wenn der Client nicht unter Natural Security (NSC) läuft und das Logon-Flag gesetzt ist, müssen die Benutzerkennung und das Passwort angegeben werden, es sei denn, die Daten sind über die Anwendungsprogrammierschnittstelle USR1071N eingegeben worden. Siehe Verwendung von Security, Natural RPC mit Natural Security verwenden.

    PASSWORD
    MSG A79 O Zurückgegebene Nachricht.
    RC I2 O Rückgabecode. Mögliche Werte:
    0 MSG enthält eine normale Nachricht vom RPC-Server oder EntireX Broker.
    1 MSG enthält eine Fehlermeldung vom RPC-Server oder EntireX Broker.
    2 MSG enthält eine Fehlermeldung vom Interface.
    3 Natural Security-Fehler.
  3. Bevor Sie die API aufrufen, füllen Sie die oben aufgeführten Input-Variablen.

Anwendungsprogrammierschnittstelle USR2075N verwenden

Über die Anwendungsprogrammierschnittstelle (API) USR2075N können Sie einen EntireX-Brokerdienst aus Ihrer Anwendung heraus zu beenden.

Mit dem Kommando TERMINATE-SERVICE verwendet die Schnittstelle den Command and Information Service von EntireX, um die Aufgabe zu erfüllen. Zunächst sendet sie eine Anmeldeanforderung an den EntireX Broker. Dann erhält sie eine Liste aller Server, die nach Serverklasse, Servername und Diensttyp spezifiziert ist. Schließlich sendet sie an jeden Server eine Abschaltanforderung. Eine Meldung zeigt an, wie viele Server beendet wurden.

Mit dem Kommando PING wird der Identifikationsstring eines Servers zurückgegeben.

Beginn der AnweisungslisteUm USR2075N zu verwenden:

  1. Kopieren Sie das Subprogramm USR2075N aus der Library SYSEXT in die Library SYSTEM oder in die Steplib Library oder in eine beliebige Anwendung in der Serverumgebung.

  2. Geben Sie mit einem DEFINE DATA-Statement im Structured Mode oder einem RESET-Statement im Reporting Mode die folgenden Parameter an:

    Parameter Format I/O Beschreibung
    FUNCTION A17 I Geben Sie TERMINATE-SERVICE an.

    Dies sendet eine Abschaltanforderung an jeden mit den Parametern SRVCLASS, SRVNAME und SERVICE (Diensttyp) angegebenen Server, siehe unten.

    Oder:

    Geben Sie PING an.

    Dadurch wird der Identifikationsstring eines Servers zurückgegeben.

    SRVNODE A192 I Geben Sie den Knotennamen an.

    Siehe Schlüsselwort-Subparameter SRVNODE des Profilparameters RPC oder des Parameter-Makros NTRPC.

    SRVCLASS A32 I Geben Sie die Serverklasse an. Für Natural RPC Server ist dies RPC.
    SRVNAME A32 I Name des Servers.

    Siehe Schlüsselwort-Subparameter SRVNAME des Profilparameters RPC oder des Parameter-Makros NTRPC.

    SERVICE A32 I Geben Sie die Art des Dienstes an. Bei Natural RPC Servern ist dies CALLNAT.
    IMMEDIATE L   TRUE Sofortige Beendigung aller Konversationen für den angegebenen Server.
    FALSE Bestehende Konversationen dürfen normal beendet werden; neue Konversationen werden nicht akzeptiert.
    USER-ID A32 I Geben Sie die Benutzerkennung für die Anmeldung beim EntireX Broker an.
    PASSWORD A32 I Wenn die EntireX Broker Security aktiv ist: Geben Sie das Passwort für den EntireX Broker an.

    Wenn die Security von EntireX Broker aktiv ist, müssen Sie ein Passwort angeben. Wenn die Security von EntireX Broker die Trusted User ID- Technik verwendet (nur auf Großrechnern), können Sie anstelle eines Benutzerpassworts das reservierte Passwort *TRUSTED verwenden.

    MSG A (dynamic) O Zurückgegebene Nachricht.
    RC I2 O Rückgabecode. Mögliche Werte:
    0 MSG enthält eine normale Nachricht vom EntireX Broker.
    1 MSG enthält eine Fehlermeldung vom EntireX-Broker..
    3 MSG enthält eine Fehlermeldung von Natural Security auf der Client-Seite.
  3. Bevor Sie die API aufrufen, geben Sie die oben aufgeführten Input-Variablen ein.

Anwendungsprogrammierschnittstelle USR8208N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR8208N ist eine erweiterte Version der API USR2075N mit den folgenden neuen Funktionen:

  • Mit dem Kommando TERMINATE-SERVICE verwendet die Schnittstelle den Command and Information Service von EntireX, um die Aufgabe zu erfüllen. Das Kommando SHUTDOWN-SERVICE wird an den EntireX Broker gesendet, wenn dessen Version 5 oder höher ist. Es werden Versionsinformationen über den EntireX-Broker und den Befehls- und Informationsdienst selbst zurückgeliefert. Ansonsten wird die gleiche Methode wie in USR2075N verwendet.

  • Mit dem Kommando INFO-SERVICE werden zusätzliche Informationen über den/die angegebenen Dienst(e) vom EntireX Broker zurückgegeben, wie SERVER-CLASS, SERVER-NAME, SERVICE, TRANS, CONV-NONACT usw. Eine ausführliche Beschreibung finden Sie in der webMethods EntireX V9.0.1 Dokumentation unter Components and Features of EntireX > ACI Programming > Broker CIS Data Structures > Information Reply Structures > SERVICE-OBJECT (Struct INFO_SV).

Beginn der AnweisungslisteUm USR8208N zu verwenden:

Anwendungsprogrammierschnittstelle USR8213N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR8213N fährt einen Server auf einem EntireX Broker-Knoten herunter.

Diese Schnittstelle ruft zunächst eine Liste der auf einem bestimmten EntireX Broker registrierten RPC-Server-Replikate ab. Für jeden Server gibt die Liste das Startdatum/die Startzeit, den Hostnamen, den Anwendungsnamen und die IP-Adresse (falls verfügbar) an. Sie gibt auch die Ordnungszahl an, die jedem Server während der Registrierung zugewiesen wurde. Die Schnittstelle sendet dann eine Shutdown-Anforderung mit der Ordnungszahl an den EntireX Broker.

Beginn der AnweisungslisteUm USR8213N zu verwenden:

  • Copy the subprogram USR8213N from the library SYSEXT to the library SYSTEM or to the steplib library, or to any application in the Natural RPC server environment and proceed as described on the text object USR8213T in the library SYSEXT.

    Kopieren Sie das Subprogramm USR8213N aus der Bibliothek SYSEXT in die Bibliothek SYSTEM oder in die Steplib-Bibliothek oder in eine beliebige Anwendung in der Natural-RPC-Server-Umgebung und verfahren Sie wie im Textobjekt USR8213T in der Bibliothek SYSEXT beschrieben.

Anwendungsprogrammierschnittstelle USR8220N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR8220N löst die Beendigung des Natural RPC Servers aus. Nach dem Aufruf von USR8220N können Sie eine Bestätigungsmeldung an den RPC-Client senden. Diese API ist nützlich, um den Natural RPC Server bei schweren Fehlern explizit zu beenden.

Beginn der AnweisungslisteUm USR8220N zu verwenden:

  1. Kopieren Sie das Subprogramm USR8220N aus der Library SYSEXT in die Library SYSTEM oder in die Steplib Library oder in eine beliebige Anwendung in der Natural RPC Server-Umgebung.

  2. Erstellen Sie ein Natural RPC Server-Subprogramm, das die API USR8220N aufruft und eine optionale Bestätigungsmeldung an das RPC-Client-Programm sendet.

Anwendungsprogrammierschnittstelle USR9175N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR9175N ist eine verbesserte Version der API USR2073N mit einem erweiterten Parameter PASSWORD (Format A128).

Beginn der AnweisungslisteUm USR9175N zu verwenden:

  • Siehe die ähnliche Anleitung bei USR2073N.

Anwendungsprogrammierschnittstelle USR9176N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR9176N ist eine erweiterte Version der API USR8208N mit einem erweiterten Parameter PASSWORD (Format A128).

Beginn der AnweisungslisteUm USR9176N zu verwenden:

  • Siehe die ähnliche Anleitung bei USR8208N.

Anwendungsprogrammierschnittstelle USR9177N verwenden

Die Anwendungsprogrammierschnittstelle (API) USR9177N ist eine erweiterte Version der API USR8213N mit dem erweiterten Parameter PASSWORD (Format A128).

Beginn der AnweisungslisteUm USR9177N zu verwenden:

  • Siehe die ähnliche Anleitung bei USR8213N.

Server-Beendigung bei Verwendung eines Attach Manager

Der Schlüsselwort-Subparameter SRVTERM des Profilparameters RPC oder des Parameter-Makros NTRPC beeinflusst das Beendigungsverhalten eines Natural RPC Servers. Standardmäßig wird ein Server nie beendet (SRVTERM=NEVER), es sei denn, eine der zuvor beschriebenen Beendigungsmethoden wird angewendet.

Wenn Sie einen Attach Manager verwenden, um einen Natural RPC Server auf Anforderung dynamisch zu starten, sollten Sie SRVTERM auf TIMEOUT setzen. Mit dieser Parametereinstellung wird ein Natural RPC Server automatisch beendet, wenn die Wartezeit für die nächste Client-Anforderung außerhalb einer RPC-Konversation überschritten wird.

User Exit NATRPC99

Dieser Exit wird aufgerufen, nachdem sich der Natural RPC Server vom Serverknoten per Deregister und Logoff abgemeldet hat.

  • Wird kein Programm NATRPC99 gefunden, dann wird der Server sofort wie normalerweise beendet.

  • Wird das Programm NATRPC99 gefunden, läuft der Server als normale Natural-Sitzung weiter.

NATRPC99 wird mit einem FETCH-Statement ohne Parameter aufgerufen, d.h. es werden keine Daten auf den Natural Stack gelegt, bevor NATRPC99 aufgerufen wurde.

Sie können in NATRPC99 beliebiges Coding hinzufügen, auch Statements zur Übergabesteuerung (FETCH, CALLNAT, PERFORM) und Statements zur Beendigung des Programms (STOP, ESCAPETERMINATE).

Wenn NATRPC99 mit einem RETURN- oder STOP-Statement beendet wird, kehrt Natural zum NEXT-Prompt zurück. Wenn der NEXT-Prompt in der verwendeten Umgebung nicht unterstützt wird (Profilparameter CM=OFF, asynchrone Natural-Sitzung usw.), bricht die Sitzung ab. Andernfalls versucht die Sitzung, den nächsten Befehl aus der primären Eingabedatei bzw. dem primären Dataset für Natural-Befehle und INPUT-Daten zu lesen.

Wichtige Hinweise:

  1. NATRPC99 muss ein Natural-Programm sein.

  2. NATRPC99 muss sich in der Library SYSTEM in der Systemdatei FUSER befinden. Die Steplib-Verkettung der Library, bei der der Server gerade angemeldet ist, wird nicht ausgewertet, um NATRPC99 zu finden.

  3. Natural-Objekte, die von NATRPC99 aufgerufen werden (FETCH, CALLNAT, PERFORM), müssen sich entweder in der Library befinden, bei der der Server angemeldet ist, oder in einer seiner Steplibs (einschließlich SYSTEM in der Systemdatei FUSER).

  4. NATRPC99 wird für alle Arten von normalen Natural RPC Server-Beendigungen aufgerufen. Er wird nicht bei Abbrüchen (Abends) aufgerufen.