Complex Event Processing (CEP) gets in touch with JSF

Post on 29-Nov-2014

987 views 1 download

description

 

Transcript of Complex Event Processing (CEP) gets in touch with JSF

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

www.AAAjobs.dejobs@adesso.de

Wir suchen Sie als

► Software-Architekt (m/w)► Projektleiter (m/w)► Senior Software Engineer (m/w)