Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

LTERM-Bündel

Mit einem LTERM-Bündel (Verbindungsbündel) verteilen Sie Asynchron-Nachrichten an eine logische Partner-Anwendung gleichmäßig auf mehrere parallele Verbindungen. Hinter der logischen Partner-Anwendung können sich auch mehrere Instanzen der Partner-Anwendungen (z.B. UTM-Cluster-Anwendung) verbergen. Eine solche Verteilung kann dann sinnvoll sein, wenn eine UTM-Anwendung sehr viele asynchrone Nachrichten an eine Partner-Anwendung schickt und dadurch eine Transportverbindung überlastet werden könnte.

Sie definieren ein LTERM-Bündel mit LTERM- und PTERM-Anweisungen, wie bereits im Abschnitt "Clients über LTERM-Partner anschließen" dargestellt. Der folgende Text beschreibt die Punkte, die Sie für LTERM-Bündel zusätzlich beachten müssen.

Ein LTERM-Bündel besteht aus einem Master-LTERM und mehreren zugeordneten Slave-LTERMs. Die Slave-LTERMs, die einem PTERM mit PTYPE=APPLI oder PTYPE=SOCKET zugeordnet sein müssen, werden per Generierung einem Master-LTERM zugewiesen.

Bild 10: Beispiel LTERM-Bündel

FPUT-/DPUT-Aufrufe

FPUT-Aufrufe, die Teilprogramme an das Master-LTERM richten, werden beim Transaktionsende einem der Slave-LTERMs zugewiesen:

  • openUTM versucht dabei zuerst, ein Slave-LTERM zu finden, zu dessen PTERM eine Verbindung aufgebaut ist. Findet openUTM keine solche Verbindung, so wird ein Slave-LTERM gesucht, das mit RESTART=YES generiert ist.

    Findet openUTM ein Slave-LTERM, dann werden alle asynchronen Nachrichten, die in dieser Transaktion an dieses Master-LTERM gerichtet wurden, dem Slave-LTERM zugeordnet.

  • Findet openUTM kein solches Slave-LTERM, werden alle an das Master-LTERM gerichteten Asynchron-Nachrichten verworfen.

  • Ist ein Slave-LTERM mit RESTART=NO generiert und die Verbindung wird abgebaut oder geht verloren, werden alle Nachrichten verworfen, die an diesem LTERM zur Ausgabe anstehen.

Teilprogramme können FPUT- und DPUT-Aufrufe auch direkt an die Slave-LTERMs richten. Diese Nachrichten unterliegen dann allerdings nicht dem oben beschriebenen Verteilalgorithmus.

Anzeige im KB-Kopf

Über die Slave-LTERMs eines LTERM-Bündels können auch Nachrichten empfangen werden. In Vorgängen, die für empfangene Nachrichten gestartet werden, zeigt openUTM im KB-Kopf immer den Namen des LTERM an, über das die Nachricht empfangen wurde. Für LTERM-Bündel gilt also:
In Vorgängen, die für Nachrichten gestartet werden, die über ein Slave-LTERM empfangen wurden, wird im KB-Kopf der Name dieses Slave-LTERMs angezeigt und nicht der Name des Master-LTERMs.

Mit Hilfe des KDCS-Aufrufs INIT PU können Sie sich darüber informieren, ob das LTERM im KB-Kopf Slave eines LTERM-Bündels ist und wie das Master-LTERM heißt (siehe openUTM-Handbuch „Anwendungen programmieren mit KDCS“).

LTERM-Anweisung im Abschnitt "LTERM - LTERM-Partner für Clients und Drucker definieren"
Zusätzlich zu den bereits aufgeführten Eigenschaften für LTERM-Partner (siehe Abschnitt "Clients über LTERM-Partner anschließen"), müssen für LTERM-Bündel folgende Operanden angegeben werden:

  • BUNDLE=

    Gibt bei der Definition eines Slave-LTERM das zugehörige Master-LTERM an. Das hier angegebene Master-LTERM muss in einer vorangegangenen LTERM-Anweisung generiert worden sein:

    LTERM master , ...
    LTERM slave1 , BUNDLE= master , ...
    LTERM slave2 , BUNDLE= master , ...

    PTERM slave1 , LTERM= slave1 , PTYPE=APPLI|SOCKET, ...
    PTERM slave2 , LTERM= slave2 , PTYPE=APPLI|SOCKET, ...

  • RESTART=

    Bestimmt die Behandlung von Asynchron-Nachrichten bei Verbindungsabbau zum Client. Nachrichten, die an einem LTERM zur Ausgabe anstehen, das mit RESTART=NO generiert ist, werden ggf. verworfen (siehe Abschnitt "FPUT-/DPUT-Aufrufe").

Alle LTERM-Parameter der Slave-LTERMs, mit Ausnahme von ltermname, USER, QAMSG, RESTART und STATUS müssen mit denen des Master-LTERMs übereinstimmen. Andernfalls werden sie von KDCDEF mit den Angaben beim Master-LTERM überschrieben. Dabei wird keine Meldung ausgegeben.

Beim Zuweisen der Asynchron-Nachrichten zu einem Slave-LTERM am Transaktionsende werden die Einstellungen von QAMSG und RESTART am Slave-LTERM ausgewertet.

Alle Slave-LTERMs in einem LTERM-Bündel sollten identisch generiert werden. KDCDEF überprüft dies jedoch nicht.

PTERM-Anweisung im Abschnitt "PTERM - Eigenschaften von Clients und Druckern und Zuordnung zum LTERM-Partner festlegen"
Zusätzlich zu den bereits aufgeführten Eigenschaften für physische Clients (siehe Abschnitt "Clients über LTERM-Partner anschließen") müssen für die den Slave-LTERMs in einem LTERM-Bündel zugeordneten PTERMs folgende Operanden angegeben werden:

      • PTYPE=APPLI | SOCKET

        Alle PTERMs eines LTERM-Bündels müssen mit PTYPE=APPLI oder
        PTYPE=SOCKET generiert werden. Für alle PTERMs eines LTERM-Bündels muss hier derselbe PTYPE angegeben werden.

      • USAGE=D (nur BS2000-Systeme)

        Alle PTERMs eines LTERM-Bündels müssen mit USAGE=D generiert werden.

Alle PTERMs eines LTERM-Bündels sollten die gleiche bzw. eine gleichartige Partner-Anwendung adressieren. KDCDEF überprüft dies jedoch nicht.