Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Checkliste: Integrationsprozesse richtig einsetzen  Dokument im Navigationsbaum lokalisieren

Anhand der nachfolgenden Überlegungen können Sie prüfen, ob Integrationsprozesse für Ihre Fragestellung eine geeignete Lösung sind und ob Ihre Integrationsprozesse sinnvoll definiert sind.

Voraussetzungen

Die nachfolgenden Voraussetzungen müssen für den sinnvollen Einsatz von Integrationsprozessen erfüllt sein:

      Message-basierte Kommunikation

Die Kommunikation zwischen den beteiligten Business-Systemen bzw. Anwendungen kann über XML-Messages realisiert werden.

      Semantische Beziehungen zwischen Messages (Korrelationen)

Die Messages, die im Prozess verarbeitet werden sollen, beziehen sich aufeinander, wie z. B. eine Bestellung und die zugehörige Bestellantwort.

Ist dies nicht der Fall, prüfen Sie, ob Sie den Prozess mit den Basisfunktionen des Integration Servers (ohne Integrationsprozesse) realisieren können.

      Eindeutige Korrelationen

Die Korrelationen können so definiert werden, dass sie zusammengehörige Messages eindeutig bestimmen.

      Klare Endebedingung

Für den Prozess gibt es eine klare Endebedingung. Eine Instanz des Prozesses sollte üblicherweise nicht länger als einige Tage laufen.

Um endlos laufende Prozesse zu verhindern, sollten Sie stets eine Frist als eindeutiges Abbruchkriterium definieren.

      Keine Benutzerinteraktion erforderlich

Der Prozess benötigt keine Benutzerinteraktionen.

Die Business Process Engine unterstützt die Message-Choreographie, sie ist hingegen nicht als zentrale Workflow-Engine konzipiert. Ist Benutzerinteraktion erforderlich, prüfen Sie, ob Sie den Prozess über Business Workflow oder Guided Procedures realisieren können.

Sie können lediglich über den Schritttyp Benutzerentscheidung für bestimmte Situationen Entscheidungsmöglichkeiten für einen Administrator vorsehen.

Effiziente Nutzung des Integration Servers

Integrationsprozesse werden zur Laufzeit von der Business Process Engine auf dem Integration Server ausgeführt. Da der Integration Server die zentrale Ressource für den Message-Austausch ist, sollten Sie darauf achten, diese Ressource nicht zu überlasten. Sonst kann es zu Engpässen oder Performance-Problemen kommen.

Beachten Sie auch den Hinweis 857530 zur Performance.

Ressourcenverbrauch

Jeder Schritt eines Integrationsprozesses kostet Ressourcen auf dem Integration Server:

      Jede Message, die an die Process Engine gesendet wird, wird verdoppelt.

      Jede Message, die aus der Process Engine gesendet wird, wird verdoppelt.

      Für den Prozess selbst und für jeden Schritt des Prozesses wird ein Workitem erzeugt.

Für einen Prozess, der lediglich eine Message empfängt und diese ohne weitere Verarbeitung sendet, werden also bereits vier Messages und drei Workitems erzeugt.

Sie sollten daher darauf achten, Integrationsprozesse möglichst ressourcenschonend zu definieren. 

Ressourcenverbrauch in Abhängigkeit vom Schritttyp und transaktionalem Verhalten

Unterschiedliche Schritttypen verursachen einen unterschiedlich hohen Ressourcenverbrauch:

      Schritttypen mit hohem Ressourcenverbrauch:

       Empfangsschritt

       Sendeschritt

Insbesondere asynchrone Sendeschritte mit Acknowledgments verursachen einen hohen Ressourcenverbrauch. Bei synchronen Sendeschritten hängt der Ressourcenverbrauch auch vom Zielsystem ab.

       Empfängerermittlung

       Transformationsschritt

Hier hängt der Ressourcenverbrauch insbesondere vom aufgerufenen Mapping ab.

       Block

       Warteschritt

      Schritttypen mit geringerem Ressourcenverbrauch:

       Steuerungsschritt

       Mehrfachbedingung

       Paralleler Abschnitt

       Schleife

       Unbestimmter Schritt

Wenn Sie das transaktionale Verhalten eines Integrationsprozesses so steuern, dass folgende Schritte nicht als eigene Transaktion ausgeführt werden, können Sie teilweise erhebliche Performance-Gewinne erzielen:

      Transformationsschritt

      Empfängerermittlung

      Sendeschritt (synchron oder asynchron)

Weitere Informationen: Transaktionales Verhalten eines Integrationsprozesses

Kein Auslagern von Anwendungslogik

Verwenden Sie Integrationsprozesse nicht dazu, Anwendungslogik aus den Anwendungssystemen heraus auf den Integration Server auszulagern.

Keine synchrone Endbenutzerkommunikation:

Verwenden Sie Integrationsprozesse nicht zur Anbindung von synchroner Endbenutzerkommunikation (z. B. Call-Center-Szenarien).

Sync-/Async-Kommunikation

Um die Kommunikation zwischen einem synchron rufenden Business-System (synchrones Outbound-Interface) und einem asynchron gerufenen Business-System (asynchrones In- und Outbound-Interface) zu ermöglichen, haben Sie folgende Möglichkeiten:

      Sync/Async-Bridge in einem Integrationsprozess definieren

Weitere Informationen: Beispiel: Sync/Async-Kommunikation

      Sync-/Async-Kommunikation über den JMS-Adapter einrichten

Weitere Informationen: Async/sync und sync/async-Bridge im JMS-Adapter konfigurieren

Kein Ersatz für Massenschnittstelle

Prüfen Sie, ob bestimmte Verarbeitungsschritte, wie z. B. das Sammeln von Messages, nicht besser auf dem Sender- oder Empfängersystem ausgeführt werden können.

Achtung

Möchten Sie lediglich Messages von einem Business-System sammeln, um sie gesammelt an ein zweites Business-System weiterzusenden, sollten Sie dies über eine Massenschnittstelle statt über einen Integrationsprozess realisieren.

Auch zum Auftrennen einer Message in viele einzelne Messages sollten Sie eine Massenschnittstelle statt eines Integrationsprozesses einsetzen. Eine Massenschnittstelle benötigt in diesem Falls sowohl auf dem Backend-System als auch auf dem Integration Server nur einen Bruchteil der Ressourcen, die ein Integrationsprozess benötigen würde.

Weitere Informationen: Mapping-basierte Message-Paketierung

Wenn Sie Messages eines Interfaces oder mehrerer Interfaces sammeln und bündeln wollen, setzen Sie die Message-Paketierung für Integrationsprozesse ein.

Message-Paketierung sinnvoll einsetzen

Die Message-Paketierung für Integrationsprozesse ermöglicht eine Steigerung der Performance durch die Zustellung von mehreren Messages an BPE-Prozessinstanzen innerhalb einer Transaktion.

Die Message-Paketierung eignet sich besonders für Anwendungsfälle mit hoher Last. Hier kommt es auf den Durchsatz einer großen Anzahl von Messages an. Aus diesem Grund ist für jeden Prozesstyp im Einzelfall zu prüfen, ob das Aktivieren der Message-Paketierung sinnvoll und hilfreich ist. Die Anwendungsfälle, die von der Message-Paketierung besonders profitieren, sind die so genannten „Collect-Szenarien“. Hierzu gehören die beiden folgenden Anwendungsfälle: Messages eines Interfaces sammeln und bündeln und Messages mehrerer Interfaces sammeln und bündeln.

Bei eingeschalteter Message-Paketierung stehen Ihnen die Transaktionen SWF_INB_MON bzw. SWF_INB_ADM für das Monitoring bzw. die Administration der Messages zur Verfügung.

Weitere Informationen: Message-Paketierung für Integrationsprozesse

Typische Anwendungsfälle

Sie setzen Integrationsprozesse typischerweise ein, wenn für Message-Verarbeitung innerhalb des Prozesses der Status der Verarbeitung gespeichert werden muss. Ist eine solche zustandbehaftete Verarbeitung nicht erforderlich, sollten Sie prüfen, ob Sie den Prozess mit den Basisfunktionen des Integration Servers (ohne Integrationsprozesse) realisieren können.

Die folgende Tabelle zeigt typische Anwendungsfälle für den Einsatz von Integrationsprozessen

Anwendungsfall

Weitere Informationen

Message an mehrere Empfänger senden und auf die Response-Message der Empfänger warten. Die Anzahl der Empfänger soll zur Laufzeit bestimmt werden.

Beispiel: Multicast - Mehrere Empfänger (mit Response-Message)

Festlegen, in welcher Reihenfolge vom Integrationsprozess empfangene Messages gesendet werden. 

Beispiel: Serialisierung - Sendereihenfolge festlegen

 

Mehrere Messages eines oder mehrerer Interfaces sammeln, zu einer Message bündeln und diese gebündelte Message weitersenden.

Diese Anwendungsfälle eignen sich besonders für die Message-Paketierung.

Weitere Informationen: Message-Paketierung sinnvoll einsetzen

Beispiel: Messages eines Interfaces sammeln und bündeln

Beispiel: Messages mehrerer Interfaces sammeln und bündeln

Message aus einem Integrationsprozess synchron an mehrere Empfänger senden. Die erste eintreffende Response-Message soll weiterverarbeitet werden.

Beispiel: Synchrones Senden an mehrere Empfänger

Für den Empfang einer Response-Message eine Fristüberwachung definieren.

Beispiel: Fristüberwachung für Empfang einer Response-Message

Weitere Checklisten

Checkliste: Korrelationen richtig einsetzen

Checkliste: Dynamische Parallelität richtig einsetzen

Checkliste: Mappings richtig einsetzen

 

Ende des Inhaltsbereichs