• Keine Ergebnisse gefunden

2.2 Konzept der Ereignisverarbeitung

2.2.1 Merkmale und Kriterien

Die Ereignisverarbeitung wird im Wesentlichen durch die drei Grundschritte Erkennen, Verarbeiten und Reagieren charakterisiert, woraus sich drei logische Strukturierungsschichten für Ereignisver-arbeitungssysteme ergeben: Ereignisquellen, Ereignisverarbeitung und Ereignisbehandlung.105Das Zusammenspiel dieser drei Schichten wird in schematischer Darstellung in Abbildung 2.3 mit ent-sprechenden Beispielen veranschaulicht.

Ereignisverarbeitung

Ereignisquellen Ereignisbehandlung

Ereignismodelle

Ereignisverarbeitungsregeln

Ereignisverarbeitungsengine Geschäsprozesse

Datenbanken

Sensoren

Anwendungen

Geschäsprozesse

Datenbanken

Anwendungen

Dashboards

Nachrichten

Ereignisobjekt im Format für Ereignisverarbeitungsengine (Grautöne deuten verschiedene Ereignistypen an) Legende:

Ereignisobjekte im System-spezifischen Format (Grautöne deuten verschiedene Ereignistypen an) Adapter zur Überführung der Formate von Ereignisobjekten

Abbildung 2.3:Logische Strukturierungsschichten von Ereignisverarbeitungssystemen106

An den Eingängen und Ausgängen der Ereignisverarbeitungsschicht überführen geeignete Adapter jeweils die Formate der ausgetauschten Ereignisobjekte. In der Ereignisverarbeitungsschicht selbst werden zum einen die Ereignismodelle mit der formalen Spezifikation aller Ereignistypen der für die Verarbeitung maßgeblichen Ereignisse hinterlegt. Zum anderen sind hier die Ereignisverarbei-tungsregeln enthalten, nach denen die Ereignisverarbeitungsengine als zentrale Recheneinheit die eingehenden Ereignisströme in Echtzeit analysiert und auf deren Basis ausgehende Ereignisse als Echtzeitreaktionen generiert.

Bei der Betrachtung des illustrierten Verlaufs der Ereignisströme in Abbildung 2.3 wird ersicht-lich, dass zwei Arten von Ereignisverarbeitungsregeln existieren: deduktive Regeln, die aus einge-henden Ereignissen neue Ereignisse definieren, welche wiederum in die eingeeinge-henden Ereignisströ-me zurückgeführt werden, und reaktive Regeln, die eine unmittelbare Reaktion in der

Ereignisbe-105vgl. Bruns und Dunkel 2010, S. 49 f. und 61–64 106in Anlehnung an Seeger 2010; Bruns und Dunkel 2010, S. 62; Etzion und Niblett 2010, S. 41

handlungsschicht auslösen.107 Zur Differenzierung von Ereignissen im Zusammenhang mit deduk-tiven Regeln werden folgende Bezeichnungen verwendet:108

○ Ein singuläres Ereignis, englisch Simple Event, basiert nicht auf einer Abstraktion oder einer Aggregation anderer Ereignisse.

○ Ein abgeleitetes Ereignis, englisch Derived Event, wird als Ergebnis der Anwendung einer Methode auf eines oder mehrere andere Ereignisse generiert.

○ Ein aggregiertes Ereignis, englisch Composite Event, wird als Ergebnis einer Aggregation mehrerer Ereignisse generiert und enthält diese Ereignisse weiterhin als seine Teile, zumin-dest in Form ihrer zusammengefassten Daten aus der Aggregationsoperation.

○ Ein komplexes Ereignis, englisch Complex Event, wird als Ergebnis der Identifikation eines Beziehungsmusters generiert und verdichtet, repräsentiert oder kennzeichnet eine Menge von Ereignissen auch unterschiedlicher Ereignistypen als Abstraktion. Im Gegensatz zu einem aggregierten Ereignis werden die zugrunde liegenden Ereignisse nicht nur zusammengefasst, sondern mittels intelligenter Regeln für Rückschlüsse herangezogen.

Durch Aggregation und Abstraktion von Ereignissen entstehen mehrere Abstraktionsebenen von Ereignisströmen, wodurch einzelne Details von Ereignisdaten auf höheren Ebenen ausgespart und nur noch die relevanten Informationen betrachtet werden.109

Zur Formulierung der Ereignisverarbeitungsregeln existieren im Rahmen einer Ereignisverarbei-tungssprache, englisch Event Processing Language (EPL), verschiedene Ansätze:110

○ Datenstromorientierte Sprachen basieren meist auf der Datenbankabfragesprache SQL und funktionieren nach dem Prinzip, Datenströme, in denen Ereignisse als Datensätze enthalten sind, in Relationen zu transformieren, auf denen dann Abfragen zu jedem Zeitpunkt einer diskreten Zeitachse ausgeführt werden.

○ Regelbasierte Sprachen arbeiten gemeinhin nach dem ECA-Prinzip (Event, Condition, Action), wonach ein Ereignis spezifiziert wird, das die Ausführung einer Regel triggert, welche bei Vorliegen einer wahren Bedingung eine vordefinierte Aktion unmittelbar auslöst.

○ Imperative Sprachen sind eigens für eine spezifische Ereignisverarbeitungsengine entworfene Skriptsprachen, die sich stilistisch an den Programmiersprachen C oder Java orientieren.

Ein wesentliches Merkmal der Ereignisverarbeitung, insbesondere im Kontext von reaktiven Regeln, stellt das Erkennen eines sogenannten Ereignismusters dar, englisch Event Pattern, das vielfältige Beziehungen zwischen Ereignissen im Ereignisstrom repräsentieren kann.111Eine Ereignisverarbei-tungsregel besteht grundsätzlich aus zwei Teilen, einem Bedingungsteil, in dem eine kontinuierliche Mustererkennung, englisch Pattern Matching, durch Abgleich des betrachteten Ereignismusters mit dem Ereignisstrom erfolgt, und einem Aktionsteil, in dem bei Vorliegen dieses Ereignismusters die

107vgl. Eckert und Bry 2009, S. 164 f.

108vgl. Luckham und Schulte 2008, S. 9 f.; Bruns und Dun-kel 2010, S. 91–93

109vgl. Luckham 2002, S. 56 f.; Chandy und Schulte 2010, S. 118–120; Bruns und Dunkel 2010, S. 86 f.

110vgl. Etzion und Niblett 2010, S. 256–263; Eckert und Bry 2009, S. 165 f.

111vgl. Luckham 2002, S. 119

unmittelbare Ausführung einer Aktion, meist das Generieren eines oder mehrerer neuer Ereignisse oder der Aufruf eines Dienstes, ausgelöst wird.112

Ein Ereignismuster besteht aus einer Menge eingehender Ereignisse, die anhand ihrer Ereignisty-pen spezifiziert werden, sowie verschiedenen Operatoren, welche die Beziehungen zwischen einge-henden Ereignissen ausdrücken, und beinhaltet dabei bestimmte Variablen, die mit den Werten der eingehenden Ereignisinstanzen abgeglichen werden. Eine Menge von Ereignisinstanzen, welche die im Ereignismuster spezifizierten Bedingungen erfüllt, stellt eine sogenannte Ereignismusterinstanz dar, englisch Event Pattern Instance.113Folgende Operatoren spielen im Rahmen von Ereignismus-tern eine wesentliche Rolle:114

○ Sequenzoperator: Auftreten der spezifizierten Ereignisinstanzen in der spezifizierten zeitli-chen Reihenfolge

○ Konjunktionsoperator: Auftreten aller spezifizierten Ereignisinstanzen in beliebiger zeitlicher Reihenfolge

○ Disjunktionsoperator: Auftreten mindestens einer der spezifizierten Ereignisinstanzen

○ Negationsoperator: Abstinenz der spezifizierten Ereignisinstanz

○ Kardinalitätsoperator: Erforderliche Anzahl Ereignisinstanzen des spezifizierten Ereignistyps

○ Funktionsoperator: Funktionen auf Attributwerte der spezifizierten Ereignisinstanzen meist zur Aggregation, beispielsweise Summe, Durchschnitt, Minimum oder Maximum

○ Filteroperator: Abgleich des Attributwerts einer spezifizierten Ereignisinstanz mithilfe der üblichen Vergleichsoperatoren, beispielsweise<,>,≤,≥,=oder≠

Neben diesen Bausteinen von Ereignismustern ist zudem das Konzept der Fenster in der Ereignis-verarbeitung von besonderer Relevanz. Da ein Ereignisstrom prinzipiell eine unendliche Menge an Ereignissen enthält, kann dieser mithilfe eines Fensters beschränkt werden, sodass der Abgleich des Ereignismusters sinnvollerweise nur mit diesem beschränkten Ereignisstrom erfolgt.115Dabei kann zwischen Zeitfenstern mit einem definierten Zeitraum und Längenfenstern mit einer definierten Anzahl an Ereignissen unterschieden werden.

Im Kontext der Echtzeitverarbeitung spielen neben festen Fenstern, die einen festen Startaus-löser und einen festen EndausStartaus-löser besitzen, insbesondere sogenannte gleitende Fenster, englisch Sliding Windows, eine wesentliche Rolle. Diese werden stets in Relation zum aktuellen Zeitpunkt oder zum zuletzt aufgetretenen Ereignis definiert und beschränken den Ereignisstrom in gleiten-der Weise nach dem sogenannten FIFO-Prinzip (First In, First Out). Aufgrund des Ausschlusses vergangener Ereignisse aus der Betrachtung bei fortschreitender Zeit oder neu hinzugekommenen Ereignissen betonen gleitende Fenster demnach die Aktualität der betrachteten Ereignisse und die Echtzeitorientierung der Ereignisverarbeitung.116

112vgl. Bruns und Dunkel 2010, S. 107 f.

113vgl. Luckham und Schulte 2008, S. 12

114vgl. Zimmer und Unland 1999, S. 395; Bruns und Dun-kel 2010, S. 108–122

115vgl. Eckert und Bry 2009, S. 164; Luckham und Schulte 2008, S. 14

116vgl. Bruns und Dunkel 2010, S. 113

Für eine Bewertung der Mächtigkeit des Konzepts der Ereignisverarbeitung im Kontext dieser Arbeit sind verschiedene Kriterien von Bedeutung, die in Tabelle 2.3 beschrieben werden.

Kriterium Bedeutung

Echtzeitverarbeitung von Ereignissen

Eintreffende Ereignisse verschiedener Ereignistypen und aus diversen Ereignis-quellen sollen unmittelbar in Echtzeit weiterverarbeitet werden.

Echtzeitreaktionen auf Ereignismuster

Komplexe Beziehungen zwischen Ereignissen sollen mittels Ereignisverarbei-tungsregeln spezifiziert werden können, sodass deren Identifikation unmittelbare Reaktionen in Echtzeit auslöst.

Unterstützung durch Methoden

Umfassende und etablierte Methoden zur strukturierten und systematischen Ent-wicklung von Ereignisverarbeitungsregeln sollen verfügbar sein.

Erfahrungswissen und Verbreitung

Durch intensive Nutzung und Verbreitung von Konzepten und Systemen der Er-eignisverarbeitung soll eine hohe Praxiserfahrung vorhanden sein.

Unterstützung des Echt-zeitunternehmens

Insbesondere die Schlüsselkonzepte Integration, Automatisierung und Individua-lisierung sollen durch Ereignisverarbeitung unterstützt werden.

Integration mit Ge-schäftsprozessmodellen

Die Ereignisverarbeitungsregeln sollen adäquat und möglichst nahtlos mit Ge-schäftsprozessmodellen integrierbar sein, um die zugrunde liegenden Echtzeitkon-zepte zur Dynamisierung von Geschäftsprozessen nutzen zu können.

Standards für Ereignis-verarbeitungssprachen

Anerkannte Industriestandards für Ereignisverarbeitungssprachen sollen verfüg-bar und bestenfalls durch eine unabhängige Organisation vereinheitlicht sein.

Standards für Ereignis-modelle

Anerkannte Industriestandards für Ereignismodelle sollen verfügbar sein, die zu-mindest für bestimmte Domänen gelten.

Werkzeugunterstützung Dedizierte Softwarewerkzeuge für die Entwicklung und Ausführung von Ereignis-verarbeitungsregeln sollen verfügbar sein und eine praxistaugliche Umgebung für die wesentlichen Aspekte der Ereignisverarbeitung besitzen.

Tabelle 2.3:Kriterien für Funktionalitäten der Ereignisverarbeitung