Workflow-Ereignisse
Das System verwendet zwei Arten von Ereignissen: Registrierte Plattformereignisse und Workflow-Ereignisse.
Registrierte Plattformereignisse
Registrierte Ereignisse werden in Business-Regeln erstellt und für Aufgaben wie das Senden von E-Mail-Benachrichtigungen verwendet, wenn Datensätze in die Datenbank eingefügt werden. Workflow-Ereignisse werden nur in Workflows registriert und werden nicht an anderer Stelle in der Plattform verwendet. Registrierte Plattformereignisse können von einem Workflow zur externen Verwendung ausgelöst werden, können jedoch nicht in einem Workflow verwendet werden.
Workflow-Ereignisse
Workflow-Ereignisse folgen anderen Regeln als Plattformereignisse, die über die Ereignisregistrierung registriert werden. Plattformereignisse werden in die Tabelle „Ereignisregistrierung“ [sysevent_Register] eingegeben und können Plattformprozesse verwenden. Workflow-Ereignisse werden ausschließlich für die Workflow-Engine ausgelöst und werden nur verwendet, um die Ausführung von Workflow-Kontexten zu steuern. Wenn ein Ereignis in einem Workflow registriert ist, wird es an eine derzeit ausgeführte Aktivität in angehängt Registered_Events Spalte der Tabelle „Ausführungsaktivität des Workflows [wf_Executing]“.
Workflow-Ereignisse können auch von jeder Skriptquelle, die Zugriff auf den Workflow-Kontext hat, an einen Workflow übertragen werden, z. B. eine Skripteinbindung oder ein Skript Ausführen Aktivität. In diesem Fall das Ereignis, z. B. Abbrechen , Wird für einen bestimmten Kontext an alle Datensätze in der Tabelle „Workflowausführung [wf_Executing]“ übergeben.
Unabhängig davon, ob durch Registrierung oder Übertragung, wird ein Ereignis von der Aktivitätsdefinition verarbeitet, die der derzeit ausgeführten Aktivität zugeordnet ist. Jede Aktivitätsdefinition enthält einen Satz von Handlern. Beispielsweise werden die meisten Aktivitäten mit geliefert Bei Ausführung , Bei Abbrechen , Und OnUpdate Ereignis-Handler. Als Beispiel für ein spezifischeres Ereignis: Genehmigung: Anwender Aktivität ist ebenfalls enthalten OnDetermineApprovalStatus , Die spezifisch für die Arbeit der Genehmigungsaktivität ist.
Mehrere parallele Ereignisse
Für einen einzelnen Workflow können mehrere Ereignis-Threads gleichzeitig ausgeführt werden, z. B. wenn ein Workflow Zeitgeber hat, die sich in separaten Workflow-Verzweigungen überschneiden. Wenn ein zusätzlicher Thread vor dem ersten Thread abgeschlossen wird, speichert das System Ereignisinformationen aus dem zusätzlichen Thread in der Tabelle „Befehle in Workflow-Warteschlange [wf_command]“. Nachdem der erste Thread abgeschlossen ist, ruft das System die vom zusätzlichen Thread gespeicherten Informationen ab und durchläuft den Workflow mit den Ereignisinformationen aus jedem Thread.