Definition

Komplexe Ereignisverarbeitung (Complex Event Processing, CEP)

Was ist komplexe Ereignisverarbeitung (Complex Event Processing, CEP)?

Unter Complex Event Processing (CEP), zu Deutsch komplexe Ereignisverarbeitung oder Verarbeitung komplexer Ereignisse, versteht man den Einsatz von Technologien zur Vorhersage von High-Level-Ereignissen, die wahrscheinlich aus bestimmten Gruppen von Low-Level-Faktoren resultieren. Durch die Identifizierung und Analyse von Ursache-Wirkungs-Beziehungen zwischen Ereignissen in Echtzeit ermöglicht CEP Mitarbeitern, effektive Maßnahmen als Reaktion auf bestimmte Chancen oder Bedrohungen zu ergreifen. So kann ein Team beispielsweise ein Ereignis erstellen, das mehrere niedrigschwellige Risikoindikatoren wie Adressänderungen, neue Ausgabengewohnheiten und neue Arten von Einkäufen zusammenfasst, die das Betrugsrisiko erhöhen.

Das Konzept und die Techniken der komplexen Ereignisverarbeitung wurden in den 1990er Jahren entwickelt. Der Ansatz wurde in der Blütezeit der serviceorientierten Architekturen (SOA) und Enterprise Service Buses (ESB) populär, Architekturen, die inzwischen von Cloud-Architekturen verdrängt wurden. Ebenso wurde CEP von Event Stream Processing (ESP) und Streaming Analytics überschattet, zwei Ansätzen zur Verarbeitung und Analyse von Datenströmen, die einige, aber nicht alle Kernideen von CEP umsetzen.

Trotz der Tatsache, dass heute häufig eine andere Terminologie für die Verarbeitung und Analyse von Echtzeitereignissen verwendet wird, sind Experten der Meinung, dass CEP für die Verbesserung von Unternehmensarchitekturen und insbesondere für seine Anwendung im Geschäftsprozessmanagement weiterhin relevant ist.

Donncha Carroll, Partner im Revenue Growth Practice bei Axiom Consulting Partners, sagt, dass die Tools für die Modellierung von Geschäftsprozessen (BPMS) neue Funktionen anbieten, die es den Benutzern ermöglichen, CEP zu handhaben und so die Verbindung zu mehreren Quellen von Unternehmensdaten zu erleichtern. Diese neuen CEP-Funktionen in BPMS-Tools ermöglichen es Geschäftsprozessmanagern und Geschäftsinhabern, Ereignisse oder Entwicklungen zu identifizieren, die kritische Benachrichtigungen oder Aktionen auslösen, die mit Unternehmenssoftware, die eine breitere Palette von Anforderungen bedient, wie CRM- und ERP-Anwendungen, im Allgemeinen nicht identifiziert werden können.

Ein gutes Beispiel für einen CEP-Anwendungsfall dieser Art ist ein Anbieter von Unternehmenssoftware, bei dem ein großer, wichtiger Kunde seine Systeme erneuern möchte. Der Kunde hat eine Serviceunterbrechung, von der niemand außer der Kundendienstabteilung etwas weiß, wodurch die Erneuerung gefährdet ist. CEP kann beide Informationen – anstehende Vertragsverlängerung und Serviceunterbrechung – zusammenführen und das System dazu veranlassen, eine Benachrichtigung auszulösen und eine Reihe von Aktivitäten zu starten, die der Betreuung dieses Kunden Vorrang einräumen.

Abbildung 1: Eine schematische Darstellung des CEP-Prozesses.
Abbildung 1: Eine schematische Darstellung des CEP-Prozesses.

Geschichte von CEP

Die Geschichte von CEP beginnt mit der Arbeit von Professor David Luckman an der Stanford University.

In den 1990er Jahren arbeitete Luckham an verteilten Programmiersprachen, die parallel laufen und über Ereignisse kommunizieren können.

„Es wurde klar, dass man Low-Level-Ereignisse in Higher-Level-Ereignisse abstrahieren und dies zwei- oder dreimal tun musste, um genaue Simulationen zu erstellen“, erklärte Luckham, jetzt emeritierter Professor in Stanford, in einem Interview mit TechTarget.

Intel wandte sich zum Beispiel an Luckhams Team, als man herausfinden wollte, warum der Addierer auf einem neuen Chip nicht richtig funktionierte. Zunächst dachte man, die Simulationsbibliothek sei mangelhaft, aber es stellte sich heraus, dass die Analyse der Ergebnisse nicht in der Lage war, die Rohdatenströme sinnvoll zu nutzen.

„Damals wurden die Simulationsergebnisse von Menschen als Ströme von Einsen und Nullen betrachtet, und es war leicht, auf dieser Ebene etwas zu übersehen“, sagt Luckham. Er erfand den Begriff komplexe Ereignisse (Complex Events), um Ereignisse auf höherer Ebene zu charakterisieren, die aus einer Reihe von Ereignissen auf niedrigerer Ebene zusammenhängen.

Luckhams Team skizzierte drei Kernprinzipien des CEP: Synchronisation des Timings von Ereignissen, Ereignishierarchien und Kausalität.

  • Die Synchronisierung bezieht sich auf die Beobachtung, dass die Zeitpunkte von Ereignissen aufgrund von Unterschieden in der Verarbeitungszeit, den Netzwerkwegen und der Latenzzeit oft kalibriert werden müssen.
  • Ereignishierarchien beziehen sich auf die Entwicklung von Modellen zur Beschreibung von Ereignissen auf niedrigerer Ebene, zum Beispiel wie Klicks in Ereignisse auf höherer Ebene, wie zum Beispiel User Journeys, übersetzt werden können. Forscher entwickeln heute Tools zur Erstellung synthetischer Sensoren, die Verhaltensereignisse erkennen, indem sie Daten von verschiedenen Sensoren zusammenführen.
  • Die Kausalanalyse bietet einen Rahmen für die Verknüpfung von Ursache-Wirkungs-Beziehungen, die in einem Strom von Ereignissen verborgen sind.

Luckham stellt fest, dass sich die meisten Tools auf die Synchronisierung konzentriert haben. Es wird jedoch noch mehr Arbeit nötig sein, um die Wissenschaft hinter den Ereignishierarchien und der Kausalität in moderne Tools einzubinden, um das ursprüngliche Versprechen von CEP zu nutzen.

Inzwischen sind die CEP-Techniken zur Identifizierung, Analyse und Verarbeitung von Daten in Echtzeit für viele Unternehmensprojekte von grundlegender Bedeutung.

„Viele Unternehmen planen heute strategische Initiativen unter Bezeichnungen wie ‚Business Analytics‘ und ‚Optimierung‘. Auch wenn sie es vielleicht nicht wissen, ist die komplexe Ereignisverarbeitung in der Regel ein Eckpfeiler solcher Initiativen“, erläutert Luckham.

Vorteile der komplexen Ereignisverarbeitung

Die Fähigkeit von CEP, komplexe Muster in verschiedenen Datenquellen zu erkennen, bietet viele Vorteile, darunter:

  • macht es einfacher, die Beziehung zwischen Ereignissen zu verstehen
  • unterstützt dabei, einzelne Ereignisse zu komplexeren Ketten zu verbinden
  • vereinfacht die Entwicklung und Abstimmung der Geschäftslogik
  • kann in Betrugserkennungs-, Logistik- und IoT-Anwendungen eingebettet werden
  • unterstützt bei der Erstellung genauerer Simulationen, Modelle und prädiktiver Analysen

Anwendungsfälle für komplexe Ereignisverarbeitung

Unternehmen nutzen CEP heute unter anderem um:

  • Börsenhandelsalgorithmen zu verbessern
  • ein reaktionsschnelleres Echtzeit-Marketing zu entwickeln
  • eine anpassungsfähigere und genauere vorausschauenden Wartung zu schaffen
  • Betrug zu erkennen
  • ein differenzierteres IoT zu entwickeln
  • belastbarere und flexiblere Lieferketten und Logistik zu ermöglichen

Unterschied zwischen Complex Event Processing und Event Stream Processing

Mit dem Wachstum von Cloud-Architekturen beginnen neue Begriffe wie Event Stream Processing (ESP), Real-Time Stream Processing und Streaming-Architekturen, den Begriff Complex Event Processing in vielen technischen Diskussionen und im Produktmarketing zu ersetzen.

Roy Schulte, Distinguished Vice President und Analyst bei Gartner, hat sich mit CEP fast von Anfang an beschäftigt. „Complex Event Processing als mathematisches Konzept ist immer noch gültig“, sagt er, „aber der Begriff selbst wird nicht mehr so oft verwendet. Er wird im Zusammenhang mit der Erkennung von zeitlichen Mustern – dem Auffinden neuer Muster in Streaming-Daten - und der Integration von Streaming-Daten, das heißt dem Laden von Streaming-Daten in Datenbanken (Streaming Extract, Transform and Load) verwendet.“

Dass der Begriff nicht mehr verwendet wird, liegt zum Teil daran, wie komplexe Ereignisse definiert werden. So werden beispielsweise Ereignisse, die auf arithmetischen Aggregationsoperatoren basieren (zum Beispiel die Anzahl der Tweets in den letzten zehn Minuten zum Thema COVID oder andere Zähl-, Summen- und Durchschnittsberechnungen), oft nicht als komplexe Ereignisse bezeichnet. Sie sind relativ einfach zu berechnen, so dass die Software nicht so ausgeklügelt sein muss wie die, die für die Mustererkennung in CEP verwendet wird. Einfache Formen der Stream-Analyse sind heute in gängigen BI-Tools wie Tibco Spotfire, Tableau und Microsoft Power BI verfügbar.

„Die Technologie des CEP wird heute allgemein als Stream Analytics oder Streaming Analytics bezeichnet“, erläutert er. Streaming Analytics ist weit verbreitet, da Unternehmen aus der riesigen Menge an Streaming-Daten, die durch ihre Netzwerke (und Internetverbindungen) fließen, Erkenntnisse nahezu in Echtzeit gewinnen müssen. Dies ermöglicht ein situatives Bewusstsein.

Anspruchsvolle Formen der Stream-Analyse, wie zum Beispiel Mustererkennung, werden in Event-Stream-Processing-Plattformen wie Apache Flink, IBM Streams, Kafka Streams, Microsoft Azure Stream Analytics, Spark Streaming und Tibco StreamBase implementiert. „Solche ESP-Plattformen sind oft unsichtbar in SaaS, Anwendungspakete oder andere Tools eingebettet, so dass der Käufer möglicherweise nicht merkt, dass sie vorhanden sind“, sagt Schulte. 

Die Stream-Processing-Eigenschaft von CEP wird manchmal auch manuell in SaaS, Anwendungspaketen oder anderen Tools kodiert, so dass das Produkt die gleiche Mathematik wie CEP implementiert, ohne eine CEP/ESP-Plattform zu verwenden.

Dennoch werden die meisten der frühen CEP-Tools immer noch angeboten - in der Regel unter dem Namen Stream Analytics – und sind weiterhin brauchbar. Neuere Event-Stream-Processing-Plattformen wie das bereits erwähnte Microsoft Azure Stream Analytics und Open Source ESP-Plattformen wie Flink, Spark Streaming und Kafka Streams haben jedoch den Großteil der neuen Anwendungen übernommen.

Große Unternehmen nutzen bereits mehrere Stream-Analytics-Technologien, ob sie sich dieser Funktionalität bewusst sind oder nicht. Das liegt daran, dass diese Technologien inzwischen weit verbreitet in SaaS-Anwendungen oder in Pakete für wichtige Aktivitäten wie die Überwachung des Transportbetriebs, das Netzwerkmanagement oder die Betrugserkennung eingebettet sind. In anderen Fällen sind sie in BI-Tools oder Closed Source oder Open Source ESP-Plattformen eingebettet. „Aus demselben Grund, aus dem große Unternehmen ein Dutzend oder mehr DBMS haben, haben sie auch mehrere Stream-Analytics-Produkte“, erklärt Schulte.

Die meisten dieser Anwendungen, die eine ereignisgesteuerte Architektur verwenden, nutzen jedoch weder Stream Analytics noch CEP. Stattdessen verwenden sie eine einfache ereignisgesteuerte Ereignisverarbeitung. In diesem Sinne sind Stream Analytics und Stream Data Integration Teilmengen von Anwendungen mit ereignisgesteuerter Architektur.

Diese Definition wurde zuletzt im November 2023 aktualisiert

Erfahren Sie mehr über Cloud-Software

ComputerWeekly.de
Close