
In der Praxis kann es erforderlich sein, dass ein Benutzer zur Laufzeit entscheidet, in welchem Verarbeitungszweig ein Integrationsprozess fortgesetzt wird. Folgendes Beispiel erläutert dies:
Ein Integrationsprozess sammelt Bedarfe, die von verschiedenen Produktionsstätten gesendet werden. Für das Sammeln der Bedarfe ist eine Frist definiert. Treffen nicht alle Bedarfe rechtzeitig ein, soll ein Administrator von Fall zu Fall entscheiden können, wie der Integrationsprozess fortgesetzt wird:
Der Integrationsprozess wartet weiterhin.
Die Frist wird verlängert.
Der Integrationsprozess verwendet die Bedarfe, die zuletzt ermittelt wurden.
Entscheidungsalternativen
Um einem Benutzer eine solche Entscheidung zu ermöglichen, fügen Sie in die Definition des Prozesses einen Schritt des Typs Benutzerentscheidung ein. Dann definieren Sie die gewünschten Entscheidungsalternativen. Für jede Entscheidungsalternative fügt das System einen Verarbeitungszweig ein. In diese Verarbeitungszweige fügen Sie die gewünschten Verarbeitungsschritte ein.
Benachrichtigung zur Laufzeit
Zur Laufzeit erhält der vorgesehene Benutzer im Workflow-Eingang ein Dialog-Workitem. Dieses zeigt für jede Entscheidungsalternative, die Sie definiert haben, eine entsprechende Schaltfläche. Wählt der Benutzer eine der Schaltflächen, setzt das System den Integrationsprozess im zugehörigen Verarbeitungszweig fort.
Lokale Variablen
Bei der Definition der Texte, die dem Benutzer zur Laufzeit angezeigt werden, können Sie Variablen verwenden. Das System ersetzt diese zur Laufzeit durch die aktuellen Daten aus dem Prozess. Als Variablen können Sie bestehende Containerelemente verwenden oder lokale Variablen definieren.
Eine lokale Variable verwenden Sie, um ein bestimmtes Feld einer Message zu referenzieren. Zur Laufzeit ersetzt das System die lokale Variable durch den aktuellen Inhalt des Feldes. Durch die Angabe eines Textes mit entsprechenden lokalen Variablen können Sie dem Bearbeiter den Kontext der zu treffenden Entscheidung verdeutlichen, wie folgendes Beispiel zeigt:
"Von &msgt_total& Bedarfsnachrichten sind innerhalb einer Frist von &deadline& erst ¤t_msg_count& Nachrichten eingegangen. Wie soll der Prozess fortgesetzt werden?"
&msgt_total& kann dabei z. B. eine lokale Variable sein, die ein Feld einer Message referenziert.
Beachten Sie, dass Sie in Texten nur über lokale Variablen auf den Inhalt von Feldern einer Message zugreifen können. Die direkte Angabe eines XPath im Text ist nicht möglich.
Im Titel der Benutzerentscheidung kann das System maximal vier Variablen mit aktuellen Werten ersetzen.
Konfigurierbare Parameter zur Angabe des Bearbeiters
Um festzulegen, welcher Benutzer zur Laufzeit benachrichtigt werden soll, definieren Sie einen konfigurierbaren Parameter des Typs Bearbeiter und verwenden diesen in den gewünschten Benutzerentscheidungen.
Zur Konfigurationszeit ordnen Sie im Integration Directory diesem konfigurierbaren Parameter den gewünschten Benutzer zu. Dieser Benutzer wird dadurch der Bearbeiter für alle Benutzerentscheidungen, in denen der entsprechende konfigurierbare Parameter verwendet wird. So können Sie die Bearbeiterzuordnung zentral definieren und müssen bei einer Änderungen nicht die einzelnen Benutzerentscheidungen anpassen.
Der Benutzer, der als Bearbeiter angegeben werden soll, muss auf dem Integration Server definiert sein.
Schritt einfügen
Bearbeiter definieren
Texte für Benutzerentscheidung definieren
Sie können folgende Texte definieren:
Beachten Sie, dass das System maximal vier Variablen im Titel mit aktuellen Werten ersetzen kann.
Beschreiben Sie in diesem Text, was der Bearbeiter im Rahmen der Benutzerentscheidung entscheiden soll. Sie können auch Hinweise zur nachfolgenden Verarbeitung geben.
Variablen einfügen
Sie können vorhandene Containerelemente als Variablen in den Text einfügen oder lokale Variablen definieren. Für Variablen und lokale Variablen in Texten sind nur einfache xsd-Datentypen zulässig.
Achten Sie darauf, dass Sie die dem Bearbeiter über die Texte und Variablen genügend Informationen zur Verfügung stellen, um zur Laufzeit eine Entscheidung treffen zu können. Insbesondere lokale Variablen, die bestimmte Felder einer Message referenzieren, sind dabei sehr wichtig.
Um ein vorhandenes Containerelement als Variable einzufügen, haben Sie folgende Möglichkeiten:
Um eine lokale Variable zu definieren, gehen Sie wie folgt vor:
Der Eigenschaftenbereich zeigt nun die lokale Variable unter Lokale Variablen.
Siehe auch: Ausdruckseditor verwenden
Weitere Informationen: Integrationsprozess-Komponente