Checkliste: Integrationsprozesse richtig
einsetzen
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.
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.
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.
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.
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
Verwenden Sie Integrationsprozesse nicht dazu, Anwendungslogik aus den Anwendungssystemen heraus auf den Integration Server auszulagern.
Verwenden Sie Integrationsprozesse nicht zur Anbindung von synchroner Endbenutzerkommunikation (z. B. Call-Center-Szenarien).
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
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.

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.
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
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. |
|
Festlegen, in welcher Reihenfolge vom Integrationsprozess empfangene Messages gesendet werden. |
|
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 aus einem Integrationsprozess synchron an mehrere Empfänger senden. Die erste eintreffende Response-Message soll weiterverarbeitet werden. |
|
Für den Empfang einer Response-Message eine Fristüberwachung definieren. |
|
Checkliste: Korrelationen richtig einsetzen
Checkliste: Dynamische Parallelität richtig einsetzen