Schedenig, M. (2008). Leveraging ESB and SEDA technologies for complex event correlation : Naiad: a real-time event correlation framework based on Mule [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/179738
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2008
-
Number of Pages:
133
-
Keywords:
Events; Complex Event Correlation; Correlation; Event Streams; Complex Event Processing; Information Retrieval; Enterprise Service Bus; SEDA
de
Events; Complex Event Correlation; Correlation; Event Streams; Complex Event Processing; Information Retrieval; Enterprise Service Bus; SEDA
en
Abstract:
Diese Arbeit fasst die Entstehung von Enterprise Application Integration und Event-Verarbeitung zusammen und behandelt dabei insbesondere den Enterprise Service Bus sowie das SEDA-Konzept, welche in der Mule-Plattform umgesetzt sind. "Complex Event Processing" wird beschrieben und bestehende Ansätze für "Complex Event Correlation" werden vorgestellt, was zur Besprechung von Naiad führt, worin diese Konzepte aufsetzend auf dem Mule-Framework implementiert wurden. Naiad erlaubt es Entwicklern, die Beziehungen zwischen Eventtypen durch deklarative Event-Korrelationen in Form von XML-Dateien zu beschreiben. Jede beliebige Datenstruktur kann in das Framework übernommen und als Event zur Korrelierung genützt werden. Nach der Korrelierung der Events können Entwickler Naiads Correlation Sessions nutzen, um Daten, welche für eine Gruppe von Events relevant sind, zu sammeln und speichern, sodass die entsprechenden Aktionen ausgeführt werden können, sobald alle nötigen Events eingetroffen sind. Eine einheitliche Schnittstelle löst den Zugriff auf Event-Daten vom konkreten Format der Events und führt so zu übersichtlicherem und leichter portierbarem Code. Folglich können sich Applikationsentwickler auf die Businesslogik konzentrieren anstatt sich um komplexe, asynchrone Techniken zur Zuordnung und Korrelierung asynchroner, systemnaher Nachrichten zu sorgen. Das Framework wurde modular angelegt, um höchstmögliche Flexibilität zu bieten. Alle Teile des Systems können erweitert oder durch eigene Implementierungen ersetzt werden, sodass das Framework an bestehende Systeme angepasst und integriert werden kann. Mule als Basis bietet zusätzlich eine große Zahl an Konnektoren für die Interaktion mit vielen etablierten Kommunikationsstandards.
This thesis summarises the evolution of Enterprise Application Integration and event processing, with special focus on the Enterprise Service Bus and the SEDA concept, as embodied by the Mule platform. Complex event processing is described and existing approaches to complex event correlation are presented, leading to the discussion of Naiad, which implements these concepts on top of the Mule framework. Naiad allows developers to define the relationships between event types through declarative event correlation definitions in the form of XML files. Any custom data structure can be incorporated into the framework to be used as events for correlation. Once events are correlated, developers can use Naiad's correlation sessions to collect and store data relevant for a group of events, so the appropriate action can be taken based on this data once all necessary events have been collected. A standardised interface makes accessing event data independent from the event format, leading to clearer and easily portable code. This allows application developers to focus on the business logic of an application instead of having to care about complex tasks for matching and correlating asynchronous low-level messages in a concurrent fashion. The framework is designed in a modular way for maximum flexibility and all parts can be extended or substituted for custom implementations, ensuring that the system can be adapted and incorporated in existing systems. Mule as a basis further provides a large number of connectors for interaction with many established communication standards.