complex event processing (cep) gets in touch with jsf
DESCRIPTION
TRANSCRIPT
Complex Event Processing (CEP) gets in touch with JSF
Andreas Hartmann, Stephan Müller
Complex Event Processing get in touch with JSF2
Andreas Hartmann (Principal Software Engineer):
► Leichtgewichtige Softwarearchitekturen und Frameworks auf Basis der JEE Plattform
► Serviceorientierte Architekturen und Portaltechnologien im Kontext der Versicherungs- und Banken-Branche
Stephan Müller (Senior Software Engineer)
► Konzeption und Implementierung von Portalen und Webanwendungen
► Serviceorientierte Architekturen und Webtechnologien
Motivation
Es war einmal ein bekanntes Internet-Versandhaus für Bücher, Filme, ...
Complex Event Processing get in touch with JSF3
BestellungWaren-eingang
Verpacken Versand
Kunde bestellt Artikel
Warenlieferungverzögert sich
Ware eingetroffen
Kunde ändertAdresse
Kunde ändertArtikelanzahl
Agenda
Complex Event Processing get in touch with JSF4
Complex Event Processing
Esper
Live Demo
Event Driven Architecture
Agenda
Complex Event Processing get in touch with JSF5
Complex Event Processing
Esper
Live Demo
Event Driven Architecture
Event Driven Architecture
Konventionelle Architekturen
► Vergangenheitssicht auf Unternehmenszustand
► Ablauforientierte Geschäftsprozesse
► Singuläre Betrachtung von Ereignissen
► starke bis lose Kopplung von Komponenten
► Synchrone- und asynchrone Kommunikation
► Client bestimmt Kontrollfluss durch Service-Aufruf
► Implizite Ereignisverarbeitung
Complex Event Processing get in touch with JSF6
Event Driven Architecture
Ereignisgesteuerte Architekturen
► Vergangenheit, Gegenwart � Echtzeit
► Ereignisgesteuerte Geschäftsprozesse
► Muster über mehrere Ereignisse
► Lose Kopplung / Entkopplung von Komponenten
► Asynchrone Kommunikation
► Empfänger bestimmt Kontrollfluss
► explizite Ereignisverarbeitung
Complex Event Processing get in touch with JSF7
CEP
Agenda
Complex Event Processing get in touch with JSF8
Complex Event Processing
Esper
Live Demo
Event Driven Architecture
Complex Event Processing
Complex Event Processing get in touch with JSF9
Reporting Analysis Action
Online TransactionProcessing
Daten erfassen und ordnen - was ist passiert?
Online AnalyticProcessing
Realtime AnalyticProcessing
Warum ist es passiert und was sollte jetzt getan werden?
Erkennen was passiert undAuslösen einer Handlung
Quelle: Michelmann, Stream Computing, JavaSpektrum 1/2010
Complex Event Processing
Online Transaction Processing (OLTP)
► Entwicklung hierarchischer und relationaler Datenbanken ab 1960
► sichere Speicherung von Daten> Verarbeitung erfolgt online (direkt)
> Transaktionssicherheit steht im Vordergrund
> Daten sollen nie unvollständig oder inkonsistent gespeichert werden
► Anwendung
> Tägliche Reports
Complex Event Processing get in touch with JSF10
Reporting Analysis Action
Complex Event Processing
Online Analytic Processing (OLAP)
► Aggregation von Geschäftsdaten aus dem operationalen Datenbestand
► Analyse in separatem System (Data-Warehouse)> komplexe Zusammenhänge zwischen (nicht verknüpften) Daten erkennen
> Basis für besser informierte Entscheidungen generieren
► Anwendung
> Operationales Tagesgeschäft und Unternehmens-Geschäftsprozesse
> Anomalie-Erkennung
Complex Event Processing get in touch with JSF11
Reporting Analysis Action
Complex Event Processing
Realtime Analytic Processing (RAP)
► Dienste müssen Informationen in „Echtzeit“ auswerten
> Analyse startet sobald Informationen verfügbar sind
► Datenströme werden kontinuierlich über Filter analysiert> um Ereignisse zu korrelieren
> und daraus direkt Handlungen ableiten zu können
► Anwendung
> Generieren von Kauf- und Verkaufaufträgen
> Erkennen von Identitätsdiebstahl und Kreditkartenbetrug
> Location Based Services
Complex Event Processing get in touch with JSF12
Reporting Analysis Action
Complex Event Processing
Complex Event Processing (CEP)
► Technologie zur dynamischen Verarbeitung von mehreren Ereignissen zur gleichen Zeit
> analysiert Ströme von Ereignissen aus unterschiedlichen Quellennach temporalen oder kausalen Ereignismustern
> kann beim Erkennen eines Musters Aktionen initiieren
► Fokus auf komplexe Operationen über mehrere Ereignisse
► Realisierung von Anwendungen mit sehr hohen Datenvolumina und kurzen Antwortzeiten
Complex Event Processing get in touch with JSF13
Complex Event Processing
Event Stream Processing (ESP)
► Technologie zur Verarbeitung von kontinuierlichen Ereignisströmen
> analysiert Ausschnitte aus dem Ereignisfluss nach Mustern
► Fokus auf kontinuierliche Ereignisströme
Complex Event Processing get in touch with JSF14
Complex Event Processing
Anwendungsbeispiele
► Mustererkennung
> Erkennen von Mustern und Erzeugen von Aktionen
► Systemüberwachung> Systemausfälle via Heartbeats erkennen
> Denial-of-Service-Attacken und andere Angriffe erkennen
Complex Event Processing get in touch with JSF15
Agenda
Complex Event Processing get in touch with JSF16
Complex Event Processing
Esper
Live Demo
Event Driven Architecture
Esper
► GNU General Public License (GPL) (GPL v2).
► http://esper.codehaus.org/
Complex Event Processing get in touch with JSF17
TIME Magazin 75 th Anniv
Esper
Complex Event Processing get in touch with JSF18
Esper Engine
CEPComplex Event Processing
EPLEvent Processing
LanguageEvent Object
Listener Subscriber
Con
figur
atio
n
JDB
C A
dapt
er
Esper
Esper
► Was will ich erreichen?
> Erkennen
> Archivieren
> Auswerten
Complex Event Processing get in touch with JSF19
Low Level Events
High Level Events
Streams
Zeitfenster
Event Lebenszyklus
Esper
Think Different
► Statements werden auf die Daten in einer Datenbank angewendet
► Statements werden an der Engine registriert
► Eingehende Datenstrom werden auf die Statements angewendet
Complex Event Processing get in touch with JSF20
Select * from . . .
select count(*) from . . .
Esper
Kernkonzepte
► Konfiguration
> Event Alias Feature
► Listener vs. Subscriber> Performace
> nur ein Subscriber pro EPL Statement> Methoden Signatur der update Methode entspricht dem EPL Statement
► Variablen> Zugriff über EPRuntime
> Einsatz z.B. in EPL Statements & JUnit Tests
► Views
> Zeitfenster
> Eventanzahl
Complex Event Processing get in touch with JSF21
Esper
Kernkonzepte
► Funktionen
> avg, sum, count, etc.
► JDBC Connectivity> SQL Statements können in EPL Statements eingebunden werden
► JMS Enabled
> receiving
> publish
Complex Event Processing get in touch with JSF22
Esper
Performace
► 100.000 Events/s
► 1000 Statements
► 2 x Intel Xeon 5130 2GHz (4 cores total), 16GB RAM
► 80% Prozessorauslastung
► http://docs.codehaus.org/display/ESPER/Esper+performance
Complex Event Processing get in touch with JSF23
Esper
Einsatz
► Purchasing
► Compliance
► Fraud Detection
► Monitoring
Complex Event Processing get in touch with JSF24
Agenda
Complex Event Processing get in touch with JSF25
Complex Event Processing
Esper
Live Demo
Event Driven Architecture
Esper – DoS Demo
Complex Event Processing get in touch with JSF26
Esper – Twitter Demo
Complex Event Processing get in touch with JSF27
Wir suchen Sie als
► Software-Architekt (m/w)► Projektleiter (m/w)► Senior Software Engineer (m/w)