Würde man eine Gruppe Wirtschaftsinformatiker fragen, welche innovative Technik den IT-Markt der nächsten Jahre bestimmen wird, so würden diese wahrscheinlich Cloud-Computing antworten. Durchaus könnte man annehmen, es handle sich hierbei um eine weitere Abhandlung über das Cloud-Computing – keineswegs, denn diese Thesis stellt eine ebenso innovative Technik vor, deren Potenzial weitestgehend noch nicht erkannt wurde, da sie sich im Schatten des Cloud-Computing-Hypes befindet: das Complex Event Processing (CEP) in einer Event-Driven Archtiecture (EDA).
EDA als Architekturstil und CEP als Softwaretechnologie rücken Ereignisse als Strukturierungskonzept in das Zentrum der Softwarearchitektur. Die Grundidee ist hierbei Ereignisse in Echtzeit verarbeiten zu können, um ihre Auswirkungen auf die Unternehmensziele, -richtlinien und Geschäftsprozesse abbilden zu können.
Zunächst werden die Motive und Grundprinzipien der Ereignisverarbeitung aus Unternehmenssicht vorgestellt und diskutiert. Anschließend werden die wichtigsten Konzepte von EDA und CEP erläutert und deren praktische Umsetzung mittels Spring Integration und Esper veranschaulicht. Im Ergebnis wird deutlich: durch die zunehmende Digitalisierung von Ereignissen, dem Potenzial von EDA und CEP und den vielen möglichen Einsatzgebieten, wird diese Softwarearchitektur und -technolgie immer mehr an Bedeutung in zukünftigen Unternehmensanwendungen gewinnen.
Inhaltsverzeichnis
1 Einleitung
1.1 Ziel dieser Thesis
1.2 Aufbau
2 Grundlagen
2.1 Begriffe im Zusammenhang mit EDA
2.2 Schlagworte im Umfeld von EDA und CEP
2.3 Der Begriff „Softwarearchitektur“
2.3.1 Kohärenz
2.3.2 Kopplung
3 Ereignisse in betrieblichen Anwendungssystemen
3.1 Die Global Event Cloud – Herausforderungen im Umgang mit Ereignissen
3.2 Grenzen von konventionellen Softwarearchitekturen
3.2.1 Geschäftssicht in konventionellen Architekturen
3.2.1.1 Betrachtung einzelner Ereignisse
3.2.1.2 Vergangenheitsperspektive
3.2.2 Technologiesicht in konventionellen Architekturen
3.2.2.1 Kommunikationsmodell
3.2.2.2 Ereignisverarbeitung
4 Event-Driven Architecture
4.1 Geschäftssicht in einer EDA
4.1.1 Echtzeit
4.1.2 Geschäftsprozesse
4.1.2.1 Ereignisgesteuerte Geschäftsprozesse
4.1.2.2 Betrachtung von Ereignismustern
4.2 Technologiesicht in einer EDA
4.2.1 Ereignisströme
4.2.2 Ereignisverarbeitung
4.2.3 Kommunikation der Anwendungskomponenten
4.2.3.1 Asynchronität
4.2.3.2 Push-Modus
4.2.3.3 Publish-Subscribe
4.2.3.4 Pull-Modus
4.2.3.5 Kommunikationsstruktur
5 Vom Architekturstil zur Unternehmensanwendung – Konzeption einer CEP-Anwendung
5.1 CEP-Konzepte
5.1.1 Event Processing Agent
5.1.2 Ereignismodell
5.1.3 Ereignisregeln
5.1.4 Event Processing Engine
5.1.5 Event Processing Agent Typen
5.1.6 Event Processing Network
5.1.7 Vorteile eines Event Processing Networks
5.2 Vorgehensmodell
5.2.1 Vorgehen bei der Entwicklung einer CEP-Anwendung
5.3 E-Commerce Grundbegriffe
5.3.1 Abgrenzung
5.3.2 Transaktionsphasen bei E-Commerce
5.3.3 Elektronische Marktplätze
5.4 Einsatzmöglichkeiten und Ziele von CEP im Bereich E-Commerce
5.4.1 Überwachung von Artikelbeständen
5.4.2 CRM – E-Personalisierung
5.4.3 Erhöhung der Sicherheit in einem Online-Shop-System
5.5 Identifizierung der Ereignisquellen und –senken
5.6 Verwendete Technologien zur Implementierung der CEP-Anwendung
5.6.1 Spring
5.6.2 Spring Integration
5.6.3 Esper
5.6.4 RabbitMQ
5.7 Erstellung eines Ereignismodells
5.7.1 Ereignisse in Esper
5.8 Konzeption eines Event Processing Networks
5.8.1 Event Processing Agent in Esper
5.9 Aufbau und Formulierung von Ereignisregeln
5.10 Die Behandlung von komplexen Ereignissen
5.11 Implementierung vorgestellter Konzepte
5.11.1 Administration in einer CEP-Anwendung
5.11.2 Umsetzung eines dynamischen EPN
5.12 Installationsinstruktionen
6 Schlussbemerkung
6.1 Konzeption und Entwicklung der CEP-Anwendung
6.2 Aktueller Entwicklungsstand
6.3 Ausblick
Zielsetzung & Themen
Die Arbeit widmet sich der Konzeption und prototypischen Entwicklung einer CEP-Anwendung für den E-Commerce-Bereich, um durch die Analyse von Ereignissen in Echtzeit die Agilität und Effizienz von Unternehmensanwendungen zu steigern und auf aktuelle Ereignisse unmittelbar reagieren zu können.
- Grundlagen der Event-Driven Architecture (EDA) und Complex Event Processing (CEP)
- Herausforderungen in der ereignisgesteuerten Verarbeitung betrieblicher Anwendungssysteme
- Einsatzmöglichkeiten von CEP im E-Commerce (z.B. Bestandsüberwachung, E-Personalisierung, Sicherheit)
- Technische Realisierung mittels Spring, Spring Integration und der Engine Esper
- Vorgehensmodell für die Entwicklung von CEP-Anwendungen
Auszug aus dem Buch
3.2.1.1 Betrachtung einzelner Ereignisse
Ereignisse werden nur singulär betrachtet, wodurch sich lediglich eingeschränkte Erkenntnisse gewinnen lassen. Ein einzelnes Geschäftsereignis kann einen Geschäftsprozess auslösen, etwa setzt der Eingang einer Auftragsstornierung den Prozess der Auftragsstornierung in Gang. Zwischen Ereignissen können jedoch häufig komplexe Zusammenhänge existieren. Daher müssen sie in einem Kontext betrachtet werden. Beispielsweise ergibt sich aus dem Ereignis A: „Kunde A bezahlt in Berlin mit Kreditkarte 1234“ und Ereignis B: „Kunde A hebt in Kapstadt mit der Kreditkarte 1234 tausend Euro ab“, die im Abstand weniger Minuten auftreten, das komplexe Ereignis „Verdacht auf Kreditkartenbetrug“. Bei isolierter Betrachtung beider Ereignisse wäre der mögliche Kreditkartenbetrug erst wesentlich später erkannt worden.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Relevanz ereignisgesteuerter Systeme ein, formuliert das Ziel der Thesis und gibt einen Überblick über den Aufbau der Arbeit.
2 Grundlagen: Hier werden die zentralen Begrifflichkeiten wie EDA, CEP und Softwarearchitektur sowie deren Qualitätskriterien wie Kohärenz und Kopplung eingeführt.
3 Ereignisse in betrieblichen Anwendungssystemen: Dieses Kapitel erläutert die Herausforderungen der "Global Event Cloud" und zeigt auf, warum konventionelle Architekturen bei der Verarbeitung komplexer Ereigniszusammenhänge an ihre Grenzen stoßen.
4 Event-Driven Architecture: Es werden die geschäftlichen und technologischen Sichten einer EDA dargestellt, wobei der Schwerpunkt auf asynchronen Kommunikationsmodellen liegt.
5 Vom Architekturstil zur Unternehmensanwendung – Konzeption einer CEP-Anwendung: Dieser Hauptteil beschreibt die systematische Konzeption einer CEP-Anwendung, das zugrunde liegende Vorgehensmodell sowie die technische Implementierung mittels Spring, Spring Integration und Esper anhand eines E-Commerce-Fallbeispiels.
6 Schlussbemerkung: Der abschließende Abschnitt reflektiert die erzielten Ergebnisse, diskutiert den aktuellen Entwicklungsstand sowie die Herausforderungen bei der Etablierung von CEP-Standards und gibt einen Ausblick auf zukünftige Marktpotenziale.
Schlüsselwörter
Event-Driven Architecture, EDA, Complex Event Processing, CEP, Event Processing Agent, EPA, Event Processing Network, EPN, Event Processing Language, Esper, Spring Integration, E-Commerce, Ereignisverarbeitung, Echtzeit, Ereignismuster
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit behandelt die Konzeption und Entwicklung von ereignisgesteuerten Softwarearchitekturen, die Unternehmen in die Lage versetzen, Ereignisse aus ihren Geschäftsprozessen in Echtzeit zu verarbeiten.
Was sind die zentralen Themenfelder?
Zentral sind der Architekturstil Event-Driven Architecture (EDA) und die Technologie des Complex Event Processing (CEP), deren Integration in moderne Unternehmensanwendungen unter Berücksichtigung von Software-Qualitätskriterien.
Was ist das primäre Ziel oder die Forschungsfrage?
Ziel ist es, den fachlichen Nutzen, die konzeptionellen Grundlagen und die praktische Realisierbarkeit einer CEP-Anwendung für den E-Commerce-Bereich aufzuzeigen.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit folgt einem strukturierten Vorgehensmodell für CEP-Anwendungen, das aus der Literatur abgeleitet wurde, und validiert die theoretischen Konzepte durch eine prototypische Implementierung unter Verwendung von Java-basierten Frameworks wie Spring und Esper.
Was wird im Hauptteil behandelt?
Im Hauptteil werden Konzepte zur Ereignismodellierung und Mustererkennung erarbeitet, ein EPN konzipiert und die technische Implementierung, inklusive der Anbindung an Messaging-Middleware wie RabbitMQ, detailliert beschrieben.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit lässt sich durch Begriffe wie Event-Driven Architecture, Complex Event Processing, Event Processing Agent, EPN, Esper, Spring Integration und Echtzeitanalyse charakterisieren.
Wie wird in der Arbeit das Problem der "Spaßbestellungen" im E-Commerce gelöst?
Die CEP-Anwendung definiert ein spezifisches Ereignismuster (Mustererkennung), das erkennt, wenn ein Kunde innerhalb von 15 Minuten mehrfach Bestellungen über 500 EUR tätigt, woraufhin das System automatisch eine Sperrung des Nutzers veranlasst.
Warum ist die Wahl von Spring Integration für die Umsetzung des EPN wichtig?
Spring Integration ermöglicht eine modulare Architektur und die Implementierung von EAI-Mustern, was die lose Kopplung der Komponenten fördert und somit die Skalierbarkeit und Wartbarkeit des Gesamtsystems unterstützt.
- Arbeit zitieren
- Mario Schlegel (Autor:in), 2012, Konzeption und prototypische Entwicklung einer CEP-Anwendung im Bereich E-Commerce, München, GRIN Verlag, https://www.hausarbeiten.de/document/204174