Zum Inhalt

Fehlerbehandlungsprozess

Beim Scheitern einer Aktivität kann ein Fehlerbehandlungsprozess ausgeführt werden. Mit diesem Prozess können die im SAR (Bearbeiterregel) hinterlegten Personen den Fehler ohne Monitor behandeln. Beispielsweise werden die berechtigten Personen (Admins) durch Arbeitsliste informiert, dass etwas fehlgeschlagen ist und Fehler wie Netzwerk/Datenbankprobleme behoben werden müssen. Den im Fehler zu startenden Prozess kann man auf drei Ebenen konfigurieren:

  • Am Knoten
  • Am Prozess
  • Systemweit

In dieser Reihenfolge wird nachgeschaut, ob ein Fehlerbehandlungsprozess existiert. Standardmäßig ist kein ErrorHandling definiert und der Fehler wird nur beim Server geloggt. Dann ist die Fehlerbehandlung nur über den Monitor möglich. Die Zuordnung auf der Knoten- und Prozess-Ebene erfolgt im Prozess Template Editor in der Properties Ansicht wie die nächste Abbildung darstellt. Durch Klick auf Select wird ein passender Prozess aus dem Server gewählt. Wenn es auf diese Ebenen keinen Fehlerbehandlungsprozess gefunden wird, dann wird die systemweite Konfiguration genommen. Der systemweite Fehlerbehandlungsprozess wird in der Monitor-Anwendung wie in der nächsten Abbildung festgelegt.

Die Templates zur Fehlerbehandlung erhalten vom Ausführungsmanager bestimmte Input- Parameter (z.B. Parameter über den aktuellen Ausführungszustand) und Details zum Fehler. Standardmäßig gibt es im Installationsverzeichnis des AristaFlow Servers unter ../examples/errorhandling/ einige Beispiele für solche Templates. Diese müssen zur Ausführung freigegeben und vom Benutzer "system" instantiierbar sein (Also Starter-Rule muss z.B. Agent(username='system') sein). Dazu wird der Templatestatus nach dem Hochladen auf den Server angepasst.

Die Prozessvorlage ErrorHandlingTemplate hat die richtige API, d.h. die Eingabeparameter, die für den Aufruf als Fehlerbehandlungsprozess notwendig sind. Diese Parameter sind wie folgt:
Für Ihren eigenen Fehlerbehandlungsprozess können Sie diese Vorlage nach Ihren Bedürfnissen erweitern und auf dem Server bereitstellen. Sie können dann in anderen Templates oder als Standardtemplate für den Fehlerbehandlungsprozess über den Monitor darauf verweisen.
Der Fehlerbehandlungsprozess DefaultResetErrorHandling ist so konfiguriert, dass der User festlegen kann, wie der Prozess nach der Fehlerstelle fortgesetzt wird. Da hat man drei Möglichkeiten zur Auswahl:

  • Reset Activity: Macht die Änderungen rückgängig und setzt den Prozessschritt in den Startzustand zurück.
  • Abort Instance: Die Prozessinstanz wird abgebrochen.
  • No Reaction: Nach dem Fehler im Monitor z.B. über eine AdHoc-Änderung beseitigt wird, wird der Fehlerbehandlungsprozess abgeschlossen.

Tipp

Mit der Activity GeneratedForm können Sie Ihren Fehlerbehandlungsprozess testen, da diese Aktivität einen Button Fail and discard zur Verfügung stellt.

Wenn eine Aktivität fehlschlägt und eine Exception wirft, wechselt der Knoten in den Zustand NS_FAILED. Nächste Abbildung zeigt Ausführungszustand und -historie eines fehlgeschlagenen Prozessschritts im AristaFlow Monitor.

Danach werden die Fehlerinformationen gesammelt und dem Benutzer als Hilfe bei der Fehlerbehandlung angezeigt. Die Fehlermeldung unterscheidet sich je nach Aktivitäten- und Fehlertyp. Durch Doppelklick auf den fehlgeschlagenen Eintrag im Instance History im Monitor gelangen Sie zu diesen Fehlerinformationen. Während der Fehlerbehandlung werden diese Informationen im Client dem User auch eingeblendet.

Nach dem Fehlschlag eines Knoten startet die BPM Platform automatisch einen neuen, konfigurierten Workflow: den hinterlegten Fehlerbehandlungsprozess.

Tipp

Möchten Sie die Ausführung des Templates DefaultResetErrorHandling schrittweise nachvollziehen oder die eingebundene UserForm Aktivität dabei testen, müssen Sie sich als Global Worklist authentifizieren. Nur dann erscheinen die Prozessschritte in Ihrer Arbeitsliste.

In unserem Beispiel Formular (siehe nächste Abbildung) können Sie in der Combobox Reaction bestimmen, was mit der fehlgeschlagenen Aktivität passieren soll. Für den weiteren Verlauf des unterbrochenen Prozesses wählen Sie die gewünschte Reaktion.