Show TOC

Queue-Zuordnung der Eingangsverarbeitung konfigurierenLocate this document in the navigation structure

Verwendung

Über die Konfiguration der Queue-Zuordnung können Sie Schritt 1 der Eingangsverarbeitung beeinflussen: Sie können festlegen, ob die Messages für einen Prozesstyp in eine qRFC-Queue eingereiht werden oder auf mehrere qRFC-Queues aufgeteilt werden können.

Weitere Informationen über die Grundlagen der Eingangsverarbeitung: Eingangsverarbeitung konfigurieren

Lastverteilung: Bei mehreren qRFC-Queues können Sie eine Lastverteilung erreichen: Messages in unterschiedlichen qRFC-Queues können parallel verarbeitet werden. Dadurch können Sie den Message-Durchsatz verbessern. Allerdings sind nicht alle Prozesse für eine solche Lastverteilung geeignet. Ob sich ein Prozess für Lastverteilung eignet, hängt von der Prozesssemantik ab: Die Messages müssen der jeweiligen Prozessinstanz trotz Lastverteilung in der korrekten Reihenfolge zugestellt werden können.

Hinweis

Eine ungeeignete Einstellung bezüglich der Lastverteilung kann zu einer fehlerhaften Message-Verarbeitung bis hin zu Datenverlust führen.

Konfigurierbare qRFC-Queue: Ist ein Prozess nicht für Lastverteilung geeignet, können Sie dennoch durch Konfiguration der entsprechenden qRFC-Queue Performance-Steigerungen erzielen. Sie können beispielsweise festlegen, auf welchem Server die Einträge der qRFC-Queue eines bestimmten Prozesstyps verarbeitet werden.

Einstellungen für Lastverteilung

Bei Lastverteilung legen Sie die Anzahl der Queues fest und geben an, ob das System die Messages zufällig oder inhaltsabhängig auf die Queues verteilt.

Mehrere Queues (zufällig)

Bei dieser Einstellung verteilt das System die Messages nach dem Zufallsprinzip auf die qRFC- Queues. Dadurch werden die Messages dem Prozess nicht mehr in der Reihenfolge zugestellt, in der der Integration Server sie empfangen hat.

Voraussetzungen: Wählen Sie diese Einstellung nur, wenn der Prozess folgende Bedingung erfüllt:

Alle Messages, die dem Prozesstyp zugestellt werden, sind unabhängig voneinander: Die Reihenfolge, in der Messages verarbeitet werden, spielt keine Rolle.

Diese Bedingung ist immer erfüllt, wenn der Prozess keine Korrelation hat. Ein solcher Prozess empfängt mit dem startenden Empfangsschritt genau eine Message. Dies ist z. B. in einem einfachen Split-Szenario der Fall: Ein Prozess empfängt eine Message, die ein Transformationsschritt in mehrere Messages auftrennt.

Für ein erweitertes Split-Szenario, wie im folgenden Beispiel, ist die Einstellung hingegen nicht geeignet: Ein Prozess empfängt eine Message, die ein Transformationsschritt in mehrere Messages auftrennt. Der Prozess sendet im weiteren Verlauf die erzeugten Messages und wartet über eine Korrelation auf die jeweilige Antwort.

Verwenden Sie diese Einstellung nicht, um einer Prozessinstanz über mehrere Queues Messages zuzustellen. Selbst wenn die Reihenfolge der Verarbeitung der Messages keine Rolle spielt, ist diese Einstellung nicht geeignet: Es können Sperrkonflikte auftreten, die die Vorteile der Parallelverarbeitung zunichte machen.

Mehrere Queues (inhaltsabhängig)

Bei dieser Einstellung berücksichtigt das System bei der Verteilung der Messages auf die Queues den Inhalt der Messages: Das System berechnet den Namen der Queue aus den Message-Feldern im Korrelations-Container. Dadurch werden alle Messages, die dieselbe Korrelation erfüllen, von derselben Queue verarbeitet, wie folgendes Beispiel zeigt:

Hinweis

In einem Collect-Szenario sammelt eine Prozessinstanz alle Auftrags-Messages zu einem bestimmten Kunden. Die Korrelation ist über die Kundennummer definiert. Daher berechnet das System den Namen der Queue in diesem Fall aus der Kundennummer. Dadurch ist sichergestellt, dass alle Messages zu diesem Kunden über dieselbe Queue verarbeitet werden. Deshalb ist die Reihenfolge der Zustellung zum Prozess identisch mit der Reihenfolge, in der der Integration Server die Messages empfangen hat.

Voraussetzungen: Verwenden Sie diese Einstellung nur, wenn der Prozess folgende Bedingungen erfüllt:

  • Die Prozessdefinition enthält nur eine Korrelation.
  • Alle Inbound-Interfaces sind Teil dieser einen Korrelation im Prozess.

Im Falle eines synchronen Interfaces muss das entsprechende asynchrone Interface der Request-Message Teil der Korrelation sein. Die Request-Message, entspricht dem Containerelement des Empfangsschritts, der die Sync/Async-Bridge öffnet.

  • Der Inhalt des Korrelationscontainers ändert sich während der Lebenszeit einer Prozessinstanz nicht.

    Eine Korrelation wird also nicht mehrfach mit unterschiedlichen Werten aktiviert.

  • Die Korrelation ist so selektiv, dass die Ermittlung des Queue-Namens aus den Korrelationswerten zu einer geeigneten Lastverteilung führt.

Angaben zur Lastverteilung in der Prozessdefinition

Die möglichen Einstellungen bezüglich der Lastverteilung hängen von der Prozesssemantik ab. Daher kann der Prozess-Entwickler bei der Definition des Prozesses im Prozess-Editor angeben, welche Einstellungen maximal möglich sind. Dazu klicken Sie im Prozess-Editor eine beliebige Stelle im Editierbereich. Der Eigenschaftenbereich zeigt dann die Eigenschaften des Prozesses mit den Einstellungsmöglichkeiten für die Queue-Zuordnung. Der Prozess-Entwickler kann z. B. angeben, dass der Prozess für Lastverteilung über mehrere Queues geeignet ist.

Als Administrator können Sie bei der Konfiguration der Eingangsverarbeitung für den entsprechenden Prozess jedoch schwächere Einstellungen wählen. Ist die Performance eines bestimmten Prozesses z. B. unkritisch, können Sie festlegen, dass er ohne Lastverteilung verarbeitet wird, obwohl die Prozesssemantik Lastverteilung zulassen würde.

Konfigurierbare qRFC-Queue

Ist ein Prozess nicht für Lastverteilung geeignet, müssen alle Messages für diesen Prozesstyp in eine qRFC-Queue eingereiht werden. Diese Queue können Sie allerdings konfigurierbar machen und durch eine geeignete Konfiguration Performance-Steigerungen erzielen.

Eine Queue pro Prozesstyp

Bei dieser Einstellung gibt es pro Prozesstyp eine qRFC-Queue, in die alle Messages für diesen Prozesstyp eingereiht werden (XBQO$PE_WS…). Dabei basieren alle prozesstyp-spezifischen Queues auf der XI-Standard-Queue XBQO und können daher nicht individuell konfiguriert werden.

Einstellungen, wie maximale Laufzeit und Destination können Sie nur für alle XBQO…-Queues gemeinsam festlegen. Wenn Sie die Einstellungen ändern, beeinflusst dies alle Queues mit dem Präfix XBQO, nicht nur die prozesstyp-spezifischen Queues.

Eine konfigurierbare Queue pro Prozesstyp

Bei dieser Einstellung gibt es pro Prozesstyp eine qRFC-Queue, in die alle Messages für diesen Prozesstyp eingereiht werden (XBPE_<Aufgabe>_0). Dabei können Sie jede Queue individuell konfigurieren. Sie können z. B. die qRFC-Queue eines besonders zeitkritischen Prozesstyps auf einem bestimmten Server ausführen. Dabei kann es sich z. B. um einen Hochleistungs-Server oder einen dedizierten Server für Batch-Verarbeitung handeln.

Queue-Zuordnung konfigurieren - Grundlegende Vorgehensweise

Sie können die Eingangsverarbeitung pro Prozesstyp und Mandant konfigurieren.

...

  1. Wählen Sie die Transaktion SWF_INB_CONF.

    Sie sehen nach Komponenten gruppiert alle Prozesse, die im Laufzeit-Cache vorhanden sind. Haben Sie für einen Prozess noch keine Konfigurationseinstellungen festgelegt, sehen Sie den Prozess in der Baumdarstellung unter dem Eintrag Initiale Konfiguration.

    Prüfen Sie die Statusanzeige für den Prozesstyp, für die Sie die Einstellungen ändern möchten. Solange der Status Rekonfiguration läuft (gelb) angezeigt wird, können Sie keine Änderungen vornehmen.

  2. Navigieren Sie zu dem Prozesstyp, für den Sie die Einstellungen ändern möchten.
  3. Um die Einstellungen für den Prozesstyp anzuzeigen, markieren Sie den Prozesstyp und drücken die Eingabetaste.
  4. Wechseln Sie in den Änderungsmodus und wählen Sie für Queue-Zuordnungdie gewünschte Einstellung.

    Details zu den einzelnen Einstellungen finden Sie unten.

  5. Sichern Sie Ihre Einstellungen.

    Abhängig von der gewählten Einstellung erscheint ein Dialogfenster, in dem Sie angeben müssen, ob der Prozess nur Messages empfängt, für die EO als Quality of Service festgelegt ist. Empfängt der Prozess auch Messages, für die EOIO angegeben ist, müssen Sie die Namen der Queues angeben, über die diese Messages empfangen werden.

    Weitere Informationen: Quality-of-Service

    Wenn Sie einen neuen Eintrag angelegt haben, wird eine Queue mit dem Namen XBPE_<Aufgabe> registriert. <Aufgabe> ist hierbei die ID des entsprechenden Workflow-Musters, z. B. XBPE_WS99999888

Lastverteilung konfigurieren
Hinweis

Hat der Prozess-Entwickler einen Prozess im Prozess-Editor so geändert, dass dies Auswirkungen auf die Lastverteilung hat, müssen Sie zunächst auf Verarbeitung über eine Queue umstellen. Sonst kann Datenverlust die Folge sein.

Auswirkungen auf die Lastverteilung können sich in folgenden Fällen ergeben:

  • Durch Änderungen in der Prozessdefinition sind die Bedingungen für Lastverteilung nicht mehr erfüllt
  • Der Datenfluss zwischen Message und Korrelation wurde geändert

Ist für den Prozess im Prozess-Editor die Einstellung Eine Queue gesetzt, in der Konfiguration hingegen Lastverteilung über mehrere Queues, können Sie den Prozess nicht aktivieren. Sie müssen dann zunächst in der Konfiguration auf Verarbeitung über eine Queue umstellen.

  1. Bevor Sie den Prozess aktivieren, stellen Sie die Queue-Zuordnung mit der Transaktion SWF_INB_CONF auf eine Queue um (Eine Queue oder Eine konfigurierbare Queue).
  2. Warten Sie bis die Statusanzeige zeigt, dass die Rekonfiguration abgeschlossen ist.
  3. Konfigurieren und aktivieren Sie den Prozess im Integration Directory.
  4. Konfigurieren Sie die Queue-Zuordnung gemäß der neuen Prozesssemantik.
Queue konfigurieren
  1. Möchten Sie die Queue für einen bestimmten Prozesstyp auf einem bestimmten zum Integration Server gehörenden Anwendungs-Server ausführen, definieren Sie die entsprechende Destination.

    Diese Konfigurationsmöglichkeit steht Ihnen zur Verfügung, wenn Sie eine der folgenden Einstellungen gewählt haben:

    • Eine konfigurierbare Queue
    • Mehrere Queues (zufällig)
    • Mehrere Queues (inhaltsabhängig)
  1. Wählen Sie Werkzeuge → Systemadministration → Verwaltung → Netzwerk → RFC-Destinationen (Transaktion SM59).

    Wählen Sie Anlegen.

  2. Legen Sie den Namen für die RFC-Verbindung fest.

    Merken Sie sich diesen Namen, da Sie ihn später bei der Konfiguration benötigen.

  3. Wählen Sie im Feld Verbindungstyp den Typ 3.
  4. Machen Sie auf derRegisterkarte Technische Einstellungenund auf der Registerkarte Anmeldung/Sicherheit die erforderlichen Angaben.

    Als Anmeldebenutzer sollten Sie WF-BATCH verwenden. Dieser Anwender wird normalerweise beim automatischen Customizing (SWF_XI_CUSTOMIZING) automatisch angelegt. Um das zugehörige Passwort zu Verfügung zu haben, sollten Sie WF-BATCH manuell definieren.

  1. Wählen Sie die Transaktion SMQR, um die gewünschte Konfiguration festzulegen:
    1. Markieren Sie die gewünschte qRFC-Queue und wählen Sie Registrierung.
    2. Um die Queue auf einem bestimmten Server laufen zu lassen, geben Sie die entsprechende RFC-Destination im Feld USERDEST an.

      Geben Sie die Destination an, die Sie in der Transaktion SM59 definiert haben.

    3. Um die Anzahl der Wiederholungsversuche bei temporären Fehlern festzulegen, geben Sie diese im Feld NRETRY an.