Umsetzung durch Auslösen von Ereignissen

Ereignisse stellen einen Mechanismus für Bestandteile der Anwendung mit flexiblen Verbindungen dar, mit dessen Hilfe Informationen über Statusänderungen im System übermittelt werden können. Wenn durch ein Modul in der Anwendung ein Ereignis ausgelöst wird, erhalten ein oder mehrere andere Module eine diesbezügliche Benachrichtigung, sofern sie als Zuhörer des betreffenden Ereignisses registriert sind.

Um diese Funktion nutzen zu können, müssen Ereignisse definiert werden. Zudem ist Anwendungscode zur Ereignisauslösung erforderlich, und es müssen Ereignishandler als Zuhörer für entsprechende Ereignisse definiert und registriert werden. Entwickler müssen Ereignishandler (Klassen, die bei der Ereignisauslösung eine Aktion ausführen) und optional Ereignisfilter (Logik, mit der festgelegt wird, ob der Handler für ein bestimmtes Ereignis aufgerufen wird oder nicht) schreiben und registrieren. Das WMS (Workflow Management System) verfügt über einen Ereignishandler, der automatisch als Zuhörer für mit Workflows verknüpfte Ereignisse registriert ist.

Es ist darüber hinaus möglich, einen Prozess als Reaktion auf ein ausgelöstes Ereignis zu starten. Dazu müssen bestimmte Konfigurationsdaten festgelegt werden (entweder über eine Administrationsschnittstelle oder als vorkonfigurierte Datenbankeinträge). Durch die Konfiguration wird festgelegt, welche Prozesse als Reaktion auf ein bestimmtes ausgelöstes Ereignis gestartet werden sollen. Die Zuordnung der Ereignisdaten zu den vom Prozess benötigten Umsetzungsdaten kann ebenfalls auf diese Weise konfiguriert werden.

Die Ereigniskonfiguration für die Prozessumsetzung wird in der Datenbank gespeichert, und es wird eine Benutzeroberfläche bereitgestellt, über die diese Daten bearbeitet werden können. Eine auf diese Weise erstellte Prozessumsetzung kann zur Laufzeit aktiviert, deaktiviert, geändert und sogar entfernt werden. Der Nachteil dieses Ansatzes besteht jedoch darin, dass nur Prozessdefinitionen, die eine entsprechend kleine Menge an Umsetzungsdaten benötigen, auf diese Weise umgesetzt werden können, da Ereignisse nur über eine begrenzte Datenmenge verfügen.

Mit der Anwendung wird ein Ereignishandler für die Prozessumsetzung bereitgestellt, der automatisch als Zuhörer für in der Anwendung ausgelöste Ereignisse registriert ist. Wenn ein Prozess so konfiguriert wurde, dass er durch ein Ereignis umgesetzt wird, werden die Ereignisdaten den Umsetzungsdaten des Prozesses zugeordnet, und der Prozess wird gestartet.

Weitere Details zur Umsetzung von Prozessen durch Auslösen von Ereignissen enthält das Kapitel Prozessumsetzung im Referenzhandbuch zu Cúram Workflow.