Prozesslogik
Einleitung
Wenn Sie Workflows erstellen und ändern, ist es wichtig, die Grundprinzipien der Workflow-Engine zu kennen, die das Verhalten von Tickets während des Prozesses bestimmen. Deshalb erhalten Sie hier eine kurze Übersicht über die Grundregeln der Ticketverarbeitung in ConSol CM.
Aktivitäten
Grundregeln:
- Beim Durchlaufen eines Workflows wartet das Ticket immer hinter der letzte Aktivität und nicht vor der nächsten!
- Danach schaut es, welche Aktivität als nächstes ausgeführt/durchlaufen werden kann.
- Wenn die nächste mögliche Aktivität eine manuelle Aktivität ist, bleibt das Ticket an der Position nach der vorherigen Aktivität
- Wenn die nächste mögliche Aktivität eine automatische Aktivität oder ein Entscheidungsknoten ist, wird die Aktivität bzw. der Entscheidungsknoten ausgeführt, d. h. das Ticket durchläuft diese Aktivität oder diesen Knoten.
- Eine Aktivität kann eine oder mehrere manuelle Folgeaktivitäten haben oder eine Aktivität kann (nur) eine automatische Aktivität als Folgeaktivität haben.
- Wenn Sie einen Workflow speichern, führt der Process Designer automatisch eine Konsistenzprüfung durch. Wenn Inkonsistenzen festgestellt werden (z. B. zwei automatische Aktivitäten, die auf dieselbe Vorgängeraktivität folgen), wird eine Fehlermeldung angezeigt und der Workflow kann nicht gespeichert werden.
Beispiel 1:
Abbildung 125: ConSol CM Process Designer - Prozesslogik, Beispiel 1
- Das Ticket wird erstellt und wartet hinter dem Startknoten (1)
- Aktivität1 wird manuell ausgeführt. Das Ticket wartet hinter Aktivität1 (2).
- Aktivität4 wird manuell ausgeführt. Das Ticket wartet hinter Aktivität4 (3).
- Ende1 wird manuell ausgeführt. Das Ticket wird geschlossen.
Beispiel 2:
Abbildung 126: ConSol CM Process Designer - Prozesslogik, Beispiel 2
- Das Ticket wird erstellt und wartet hinter dem Startknoten (1).
- Aktivität1 wird manuell ausgeführt. Das Ticket wartet hinter Aktivität1 (2).
- Aktivität3 wird manuell ausgeführt. Das Ticket läuft automatisch durch den Entscheidungsknoten und nimmt je nach dem Ergebnis des Skripts den Ausgang FALSE oder TRUE. Dann wartet es (3). Es wird nur eine Aktivität angeboten, entweder JA oder NEIN.
- Entweder JA oder NEIN wird manuell ausgeführt. Das Ticket wartet hinter der Aktivität JA oder NEIN (4).
- Ende1 wird manuell ausgeführt. Das Ticket wird geschlossen.
Interrupts und Exceptions
Im Prozessverlauf, d. h. während das Ticket offen ist und die Bearbeiter daran arbeiten, können Ereignisse eintreten, um die sich ein Mitarbeiter kümmern muss. Wenn das Ticket zum Beispiel eine E-Mail erhält oder wenn eine Zeitspanne für eine SLA abgelaufen ist, ist es wichtig, dieses Ereignis zu erfassen und entsprechend zu reagieren.
Die Reaktion und das Verhalten der Tickets können auf zwei Wegen definiert werden. Sie können Folgendes implementieren ...
- Interrupt
Dies ist eine Workflow-Architektur, bei der das Ereignis erfasst wird, eine oder mehrere Aktivitäten ausgeführt werden, und das Ticket an seine vorherige Position im Workflow zurückkehrt.
- Exception
Dies ist eine Workflow-Architektur, bei der das Ereignis erfasst wird und aufgrund der folgenden manuellen oder automatischen Aktivitäten seine vorherige Position verlässt und eine neue Position innerhalb des Workflows oder in einem anderen Workflow einnimmt.
Interrupts
Interrupts ...
- werden durch Trigger aktiviert.
- führen zu einer kurzen Unterbrechung des Prozesses, um auf das Ereignis des Triggers zu reagieren.
- verwenden automatische Aktivitäten (eine oder mehrere aufeinanderfolgende automatische Aktionen).
- bringen das Ticket an seine vorherige Position im Workflow zurück, d. h. an die Position, an der sich das Ticket befand, als das Interrupt-Ereignis gefeuert hat.
- werden häufig verwendet, um das Ticket-Icon mit einem Overlay zu markieren, z. B. wenn eine E-Mail eingegangen ist (siehe Abbildung unten) oder wenn eine Eskalationszeit erreicht wurde.
Abbildung 127: ConSol CM Process Designer - Zwei Interrupts
Exceptions
Exceptions ...
- werden durch Trigger aktiviert.
- verschieben das Ticket von seiner alten Position im Workflow an eine neue Position. Letztere kann sich im gleichen oder in einem anderen Workflow befinden.
- führen dazu, dass der Prozess an der neuen Position fortgesetzt wird.
Abbildung 128: ConSol CM Process Designer - Exception
Schleifen (Fehler in Workflows)
(Endlos-)Schleifen führen zu Fehlern im Prozess. Sie werden vom Process Designer nicht erkannt. Es ist also möglich, einen Workflow zu installieren, der eine Schleife enthält, wie in der folgenden Abbildung gezeigt.
Die Prozess-Engine erkennt solche Schleifen aber zur Laufzeit und wirft eine InfiniteWorkflowLoopException, um einen vollständigen Systemausfall zu verhindern. Sie können diese Exception in der Datei server.log sehen. Im Web Client wird eine Fehlermeldung angezeigt.
Abbildung 129: ConSol CM Process Designer - Schleife im Workflow
Im Web Client wird kurz eine Fehlermeldung angezeigt. Es ist nicht möglich, das Ticket zu speichern, wenn dadurch eine Endlosschleife hervorgerufen würde.
Sie sehen die entsprechende Exception in der Datei server.log, die ähnliche Zeilen wie unten gezeigt enthält:
2017-08-02 10:30:46,684 ERROR [flow.engine.WorkflowEngineImpl] [Susan-917e766e-775c-11e7-a9f8-c5c4447a9199] Error during firing ticket change event: com.consol.cmas.workflow.common.InfiniteWorkflowLoopException: Path: defaultScope/Service_Desk/Forwarding_Activity-defaultScope/Service_Desk/Do_something was already executed
Event-Trigger können ebenfalls Schleifen hervorrufen, wenn die automatische Aktivität nach dem Trigger den Parameter ändert, auf den der Trigger reagiert. Siehe Abschnitt Vermeiden von sich selbst auslösenden Event-Triggern.
Prozesslogik von Zeit-Triggern
Siehe Abschnitt Geschäftslogik und Initialisierung eines Zeit-Triggers.
Prozesslogik von Event-Triggern
Siehe Abschnitt Geschäftslogik von Event-Triggern .