SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Guido Schmutz Trivadis Torsten Winterberg OPITZ CONSULTING GmbH Nutzen für moderne Anwendungslandschaften Düsseldorf, den 23.02.2011 Event DrivenArchitecture (EDA)
Agenda Einführung Events Eventbehandlung EDA & Oracle  EDA & Esper Wozu braucht man das nun?
Einführung Events 1
Financial Services Transportation & Logistics Public Sector & Military Manufacturing Utilities & Insurance Telecommunications & Services Distributed order orchestration Asset management Algorithmic trading ‘Negative Working Capital’  inventory management ,[object Object]
Intrusion detection systems
Military asset allocationGrid Infrastructure Management Reponses to calamities –      	earthquake, flooding
EDA Basics: Event Zwei Bedeutungen: Etwas, das wahrnehmbar geschieht Etwas, das diese Aktivität in einem Computersystem repräsentiert(Event Object) Der „Event“-Begriff ist überladen Business Event: Statuswechsel in einer Unternehmung Wir sind interessiert am
EDA Basics: Event
EDA Basics: Wie sieht ein technisches Event aus?
Eventbehandlung 2
Event Processing Durchführung von Operationen auf Ereignissen: Lesen Ändern Erzeugen Terminieren Voraussetzungen für EDA: Realität weicht von Erwartungshaltung ab Also spezifiziere:  Erwartungshaltung Signifikante Abweichung Antwortverhalten
Bausteine der Eventverarbeitung
Simple Event Processing (SEP)
Event Stream Processing (ESP) „Notableevents“ UND „ordinaryevents“ treten auf „ordinaryevents“: Repräsentieren „businessasusual“: Bestellungen, RFID-Übertragungen, etc. Können lokal vorgefiltert werden, ehe sie in den Event Stream übergeben werden: -> Erkennen von „notable“-Zuständen
Event Stream Processing (ESP)
Complex Event Processing (CEP) Complex Event Processor Event Source Filtering; Temporal and causality constraints Validate Aggregation; event-data join Enrich Transform Create “complex event” Intelligent routing; content-based routing; event-driven flows Route Operate Service invocation; alert; dynamic flows Source: IBM Event Consumer
Complex Event Processing (CEP) CEP befasst sich mit dem Zusammentreffen unterschiedlicher Events  um Aktionen abzuleiten Die Events (notable oder ordinary) können unterschiedliche Eventtypen haben und zusätzlich über lange Zeiträume auftreten Die Event-Korrelation kann inhaltlich, zeitlich oder räumlich sein CEP wird verwendet, um Anomalien, Bedrohungen oder Chancen im Geschäft detektieren (und darauf reagieren) zu können
Complex Event Processing (CEP)
Wo ist der Unterschied zwischen ESP und CEP? Unterschiede: ESP: Verarbeitung von Streams Event Stream ist Sequenz von Events, zeitlich geordnet (z. B. Börsenticker) CEP: Verarbeitung von Clouds Event Cloud ist das Ergebnis von vielen eventerzeugenden Aktivitäten aus unterschiedlichen Teilen eines IT-Systems. Eine Event Cloud könnte mehrere Streams enthalten. Ein Stream ist ein Spezialfall einer Cloud. Annahme einer vorliegenden zeitlichen Reihenfolge in Event Streams hat Vorteile: Schnell, nur wenige Events merken In Clouds dagegen:  Abhängigkeiten sind wichtig: Welche abhängigen Events sind aufgetreten oder vielleicht ausgeblieben? In Zukunft werden mit der Evolution der Event Processing Engines nur die marginalen Differenzen verschwimmen.
Continuous Query Language (CQL)  Deklarative Anfragesprache für Datenströme in Data-Stream-Management-Systemen Erweiterung von SQL Im Rahmen des STREAM-Projekts an der Stanford University entwickelt  Noch in der Entwicklung begriffen und nicht offiziell standardisiert Oracle setzt CQL innerhalb der CEP-Engine im Release 11 der SOA Suite ein
Continuous Query Language (CQL) Wesentliche Erweiterung von CQL zu SQL:  Zusätzlich zu Relationen existieren Datenströme als Datentypen  Datenströme lassen sich als potentiell unendliche Folge von Zeit-Wertepaaren auffassen  Umwandlung zwischen Strömen und Relationen durch zwei Arten von Operatoren: Ströme in Relationen „Fenster“-Operator [...] Relationen in Ströme Insert-Stream-Operator ISTREAM Delete-Stream-Operator DSTREAM Relation-Stream-Operator RSTREAM
Beispiel CQL Es werden kontinuierlich Wetterdaten gemessen, die als Datenstrom in einer Applikation ankommen.  Der folgende CQL-Ausdruck liefert mit Hilfe eines Fenster-Operators die Durchschnittstemperatur der vergangenen24 Stunden: 	SELECT AVG(Temperatur) FROM Wetter [Range 1 Day] Da es sich um eine kontinuierliche Anfrage handelt, wird diese per Istream standardmäßig wieder in einen Datenstrom umgewandelt.  Die vollständige Anfrage lautet also: 	SELECT ISTREAM(AVG(Temperatur) FROM Wetter [Range 1 Day])
ORDER 325 Customer C2 Address A1 Credit Card Z2 ORDER 567 Customer C5 Address A1 Credit Card Z5 ORDER 1 Customer C1 Address A1 Credit Card Z1 ORDER 567 Customer C4 Address A1 Credit Card Z4 Channel 3: web B ORDER 567 Customer C3 Address A1 Credit Card Z3 Channel 2: phone Channel 1: web A time CQL-Beispiel CREATE STREAM S (	order_id int,	ship_address char(64),	credit_card_id BigInt,                  	[…]); CREATE VIEW V1 (ship_address, credit_card_id) Rstream (SELECT DISTINCT ship_address,credit_card_id FROM S [RANGE 180 DAYS]); CREATE VIEW V2 (ship_address, Xcount) RStream (SELECT ship_address, COUNT(*) FROM V1 [RANGE 180 DAYS] group by ship_address; CREATE QUERY Q SELECT Xcount, credit_card_id FROM V2, V1 WHERE Xcount > 5 AND V2.ship_address = V1.ship_address;
Fundamental CEP Design Patterns Filtering In-memory caching Aggregation over windows Database lookups Database writes Correlation (joins) Event pattern matching State machines Hierarchical events  Dynamic queries Source: http://www.coral8.com/system/files/assets/pdf/Coral8DesignPatterns.pdf
Conceptual Overview Three major building blocks Event producers Event Processing Network Event consumers
3 EDA & Oracle
Innovation – Oracle SOA-Plattform PATTERNDETECTION BUSINESSVISIBILITY MANAGEMONITOR DESIGN SECURE JDEV POLICYMANAGER EM BAM CEP BPEL /BPMNBUSINESS RULESHUMAN WORKFLOW ORCHESTRATE SERVICE BUS / MEDIATOREVENT DELIVERY NETWORK (EDN) DATA INTEGRATOR INTEGRATEVIRTUALIZE REG/REP EVENTS SERVICES ERP MAINFRAME PARTNERS DB Adapters & B2B Source: Oracle
Oracle Tooling
Oracle CEP – Constructs & Visual Tooling Event-driven components Adapter Complex Event Processor Sink Event types Event objects are instances of event types Implemented as JavaBeans, Maps or “Tuples” Graphical visualization and editing of Event Processing Network (EPN) through Eclipse
Oracle CEP – CQL Source Editing Syntax highlighting Validation Query templates
Demo
Event Delivery Network (EDN) Seite 30
Next Gen Event Tracing
Create Business Events
33 Create Business Events XML schema defines payload Event Definition Language (EDL) defines event
Publish Business Events (from Mediator) Mediator with static routing rule set to event
Publish Business Events (from BPEL) Using BPEL invoke activity to publish an event
Subscribe to Business Events Mediator with “Subscribe to Events”
Subscribe to Business Events
Subscribe to Business Events Filter on event payload using XPath expression
4 EDA & Esper
Esper Overview Esper – A Java technology ESP/CEP container When Esper statement then your Java code as usual Lightweight and embeddable into any Java technology process Open source Convergence of ESP and CEP Project background Release 1.0 announced in June 2006 NEsper for .NET CEP and ESP GPL GNU Public License v2.0 Embeddable in any Java 5 App Server Groovy and Spring Integration Commercial liability, support and services available EsperTech Inc.
Esper – Architecture Queries are registered, data flows through them Engine: Unit of isolation (time, threads, streams) Statements: Event Processing Language (EPL) Listener: A simple Java technology interface
Rich IDE Debugging JMX instrumentation Embeddable Available as a service Performance Event history replay Integration options Non-intrusive event model Variety of event data storage options Adapters Ability to start/stop queries Ability to change queries on the fly What to look for in a CEP product
5 Wozu braucht man das nun?
Einsatzszenarien SOA/EDA Eine Komponente sollte SOA für einen Serviceaufruf nutzen, wenn … … genau bekannt ist, welcher Dienst aufgerufen werden soll. … der Service genau einmal aufgerufen werden soll. … eine Antwort über die Beendigung eines Dienstes erwartet wird. … wenn eine Antwort erwartet wird. Eine Komponente sollte EDA für eine Ereignispublikation nutzen, wenn … … alle Empfänger benachrichtigt werden sollen, die daran Interesse haben. … nicht bekannt ist, welche Empfänger an dem Ereignis interessiert sind. … nicht bekannt ist, wie Empfänger auf dieses Ereignis reagieren. … wenn unterschiedliche Empfänger unterschiedlich auf das gleiche Ereignis reagieren. … es sich um eine Einweg-Kommunikation vom Sender zum Empfänger handelt.
Enabling „alter“ Anwendungen Richtung SOA
Entkopplung von SOA-Domänen Event-Driven SOA (ED-SOA)
Beispiel: Integration von Systemen  Middleware Virtualisierung Frontend Frontend Virtualisierung Backend Backend <<FTP Adapter>> xxx_out_ftp <<Webservice>> erp_in_xxx <<FTP Adapter>> xxx_out_ftp <<Webservice>> erp_in_xxx <<ERP>> Standardsoftware <<Middleware>> OracleSOA Suite 11g <<ERP>> Standardsoftware <<Webshop>> Individualentwicklung <<Middleware>> OracleSOA Suite 11g <<FTP Adapter>> xxx_in_ftp <<Webservice>> erp_out_xxx ERP aktualisierteine Artikeldefinition Middleware routet zum richtigen Shop SOA Suite übermittelt die Artikeldefinition
Fortsetzung Beispiel: Integration von Systemen  Quellsystem feuert Event Nicht an Weiterverarbeitung interessiert Komplette Entkopplung der Aufrufketten Subscriber horcht auf interessante Eventtypen Startet Weiterverarbeitung Abstraktion von Messagingsystem Jetzt Business Event Level
Prozesskopplung Komplexe Vorgänge lassen sich oft nicht als lineare Prozessketten formulieren. Steuerprozess sammelt Events und reagiert ggf. situationsabhängig.
6 Fazit

Weitere ähnliche Inhalte

Ähnlich wie Event Driven Architecture - OPITZ CONSULTING - Schmutz - Winterberg

07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)soreco
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtAndreas Schreiber
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk
 
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdf
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdfDACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdf
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdfDNUG e.V.
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformQAware GmbH
 
Pragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das WesentlichePragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das Wesentliche1&1
 
Machine Learning
Machine LearningMachine Learning
Machine LearningSplunk
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergOPITZ CONSULTING Deutschland
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungHeiko Brenn
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Splunk Webinar: Splunk for Microsoft Exchange
Splunk Webinar: Splunk for Microsoft ExchangeSplunk Webinar: Splunk for Microsoft Exchange
Splunk Webinar: Splunk for Microsoft ExchangeGeorg Knon
 
Splunk corporate overview German 2012
Splunk corporate overview German 2012Splunk corporate overview German 2012
Splunk corporate overview German 2012jenny_splunk
 
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...Intelliact AG
 

Ähnlich wie Event Driven Architecture - OPITZ CONSULTING - Schmutz - Winterberg (20)

07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
 
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdf
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdfDACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdf
DACHNUG50 Event driven Architecture - Bernd Gewehr - Voessing de.pdf
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
Pragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das WesentlichePragmatic SOA - Beschränken auf das Wesentliche
Pragmatic SOA - Beschränken auf das Wesentliche
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
Zeitreihen in Apache Cassandra
Zeitreihen in Apache CassandraZeitreihen in Apache Cassandra
Zeitreihen in Apache Cassandra
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Splunk Webinar: Splunk for Microsoft Exchange
Splunk Webinar: Splunk for Microsoft ExchangeSplunk Webinar: Splunk for Microsoft Exchange
Splunk Webinar: Splunk for Microsoft Exchange
 
Splunk corporate overview German 2012
Splunk corporate overview German 2012Splunk corporate overview German 2012
Splunk corporate overview German 2012
 
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
 

Mehr von OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Event Driven Architecture - OPITZ CONSULTING - Schmutz - Winterberg

  • 1. Guido Schmutz Trivadis Torsten Winterberg OPITZ CONSULTING GmbH Nutzen für moderne Anwendungslandschaften Düsseldorf, den 23.02.2011 Event DrivenArchitecture (EDA)
  • 2. Agenda Einführung Events Eventbehandlung EDA & Oracle EDA & Esper Wozu braucht man das nun?
  • 4.
  • 6. Military asset allocationGrid Infrastructure Management Reponses to calamities – earthquake, flooding
  • 7. EDA Basics: Event Zwei Bedeutungen: Etwas, das wahrnehmbar geschieht Etwas, das diese Aktivität in einem Computersystem repräsentiert(Event Object) Der „Event“-Begriff ist überladen Business Event: Statuswechsel in einer Unternehmung Wir sind interessiert am
  • 9. EDA Basics: Wie sieht ein technisches Event aus?
  • 11. Event Processing Durchführung von Operationen auf Ereignissen: Lesen Ändern Erzeugen Terminieren Voraussetzungen für EDA: Realität weicht von Erwartungshaltung ab Also spezifiziere: Erwartungshaltung Signifikante Abweichung Antwortverhalten
  • 14. Event Stream Processing (ESP) „Notableevents“ UND „ordinaryevents“ treten auf „ordinaryevents“: Repräsentieren „businessasusual“: Bestellungen, RFID-Übertragungen, etc. Können lokal vorgefiltert werden, ehe sie in den Event Stream übergeben werden: -> Erkennen von „notable“-Zuständen
  • 16. Complex Event Processing (CEP) Complex Event Processor Event Source Filtering; Temporal and causality constraints Validate Aggregation; event-data join Enrich Transform Create “complex event” Intelligent routing; content-based routing; event-driven flows Route Operate Service invocation; alert; dynamic flows Source: IBM Event Consumer
  • 17. Complex Event Processing (CEP) CEP befasst sich mit dem Zusammentreffen unterschiedlicher Events  um Aktionen abzuleiten Die Events (notable oder ordinary) können unterschiedliche Eventtypen haben und zusätzlich über lange Zeiträume auftreten Die Event-Korrelation kann inhaltlich, zeitlich oder räumlich sein CEP wird verwendet, um Anomalien, Bedrohungen oder Chancen im Geschäft detektieren (und darauf reagieren) zu können
  • 19. Wo ist der Unterschied zwischen ESP und CEP? Unterschiede: ESP: Verarbeitung von Streams Event Stream ist Sequenz von Events, zeitlich geordnet (z. B. Börsenticker) CEP: Verarbeitung von Clouds Event Cloud ist das Ergebnis von vielen eventerzeugenden Aktivitäten aus unterschiedlichen Teilen eines IT-Systems. Eine Event Cloud könnte mehrere Streams enthalten. Ein Stream ist ein Spezialfall einer Cloud. Annahme einer vorliegenden zeitlichen Reihenfolge in Event Streams hat Vorteile: Schnell, nur wenige Events merken In Clouds dagegen: Abhängigkeiten sind wichtig: Welche abhängigen Events sind aufgetreten oder vielleicht ausgeblieben? In Zukunft werden mit der Evolution der Event Processing Engines nur die marginalen Differenzen verschwimmen.
  • 20. Continuous Query Language (CQL) Deklarative Anfragesprache für Datenströme in Data-Stream-Management-Systemen Erweiterung von SQL Im Rahmen des STREAM-Projekts an der Stanford University entwickelt Noch in der Entwicklung begriffen und nicht offiziell standardisiert Oracle setzt CQL innerhalb der CEP-Engine im Release 11 der SOA Suite ein
  • 21. Continuous Query Language (CQL) Wesentliche Erweiterung von CQL zu SQL: Zusätzlich zu Relationen existieren Datenströme als Datentypen Datenströme lassen sich als potentiell unendliche Folge von Zeit-Wertepaaren auffassen Umwandlung zwischen Strömen und Relationen durch zwei Arten von Operatoren: Ströme in Relationen „Fenster“-Operator [...] Relationen in Ströme Insert-Stream-Operator ISTREAM Delete-Stream-Operator DSTREAM Relation-Stream-Operator RSTREAM
  • 22. Beispiel CQL Es werden kontinuierlich Wetterdaten gemessen, die als Datenstrom in einer Applikation ankommen. Der folgende CQL-Ausdruck liefert mit Hilfe eines Fenster-Operators die Durchschnittstemperatur der vergangenen24 Stunden: SELECT AVG(Temperatur) FROM Wetter [Range 1 Day] Da es sich um eine kontinuierliche Anfrage handelt, wird diese per Istream standardmäßig wieder in einen Datenstrom umgewandelt. Die vollständige Anfrage lautet also: SELECT ISTREAM(AVG(Temperatur) FROM Wetter [Range 1 Day])
  • 23. ORDER 325 Customer C2 Address A1 Credit Card Z2 ORDER 567 Customer C5 Address A1 Credit Card Z5 ORDER 1 Customer C1 Address A1 Credit Card Z1 ORDER 567 Customer C4 Address A1 Credit Card Z4 Channel 3: web B ORDER 567 Customer C3 Address A1 Credit Card Z3 Channel 2: phone Channel 1: web A time CQL-Beispiel CREATE STREAM S ( order_id int, ship_address char(64), credit_card_id BigInt, […]); CREATE VIEW V1 (ship_address, credit_card_id) Rstream (SELECT DISTINCT ship_address,credit_card_id FROM S [RANGE 180 DAYS]); CREATE VIEW V2 (ship_address, Xcount) RStream (SELECT ship_address, COUNT(*) FROM V1 [RANGE 180 DAYS] group by ship_address; CREATE QUERY Q SELECT Xcount, credit_card_id FROM V2, V1 WHERE Xcount > 5 AND V2.ship_address = V1.ship_address;
  • 24. Fundamental CEP Design Patterns Filtering In-memory caching Aggregation over windows Database lookups Database writes Correlation (joins) Event pattern matching State machines Hierarchical events Dynamic queries Source: http://www.coral8.com/system/files/assets/pdf/Coral8DesignPatterns.pdf
  • 25. Conceptual Overview Three major building blocks Event producers Event Processing Network Event consumers
  • 26. 3 EDA & Oracle
  • 27. Innovation – Oracle SOA-Plattform PATTERNDETECTION BUSINESSVISIBILITY MANAGEMONITOR DESIGN SECURE JDEV POLICYMANAGER EM BAM CEP BPEL /BPMNBUSINESS RULESHUMAN WORKFLOW ORCHESTRATE SERVICE BUS / MEDIATOREVENT DELIVERY NETWORK (EDN) DATA INTEGRATOR INTEGRATEVIRTUALIZE REG/REP EVENTS SERVICES ERP MAINFRAME PARTNERS DB Adapters & B2B Source: Oracle
  • 29. Oracle CEP – Constructs & Visual Tooling Event-driven components Adapter Complex Event Processor Sink Event types Event objects are instances of event types Implemented as JavaBeans, Maps or “Tuples” Graphical visualization and editing of Event Processing Network (EPN) through Eclipse
  • 30. Oracle CEP – CQL Source Editing Syntax highlighting Validation Query templates
  • 31. Demo
  • 32. Event Delivery Network (EDN) Seite 30
  • 33. Next Gen Event Tracing
  • 35. 33 Create Business Events XML schema defines payload Event Definition Language (EDL) defines event
  • 36. Publish Business Events (from Mediator) Mediator with static routing rule set to event
  • 37. Publish Business Events (from BPEL) Using BPEL invoke activity to publish an event
  • 38. Subscribe to Business Events Mediator with “Subscribe to Events”
  • 40. Subscribe to Business Events Filter on event payload using XPath expression
  • 41. 4 EDA & Esper
  • 42. Esper Overview Esper – A Java technology ESP/CEP container When Esper statement then your Java code as usual Lightweight and embeddable into any Java technology process Open source Convergence of ESP and CEP Project background Release 1.0 announced in June 2006 NEsper for .NET CEP and ESP GPL GNU Public License v2.0 Embeddable in any Java 5 App Server Groovy and Spring Integration Commercial liability, support and services available EsperTech Inc.
  • 43. Esper – Architecture Queries are registered, data flows through them Engine: Unit of isolation (time, threads, streams) Statements: Event Processing Language (EPL) Listener: A simple Java technology interface
  • 44. Rich IDE Debugging JMX instrumentation Embeddable Available as a service Performance Event history replay Integration options Non-intrusive event model Variety of event data storage options Adapters Ability to start/stop queries Ability to change queries on the fly What to look for in a CEP product
  • 45. 5 Wozu braucht man das nun?
  • 46. Einsatzszenarien SOA/EDA Eine Komponente sollte SOA für einen Serviceaufruf nutzen, wenn … … genau bekannt ist, welcher Dienst aufgerufen werden soll. … der Service genau einmal aufgerufen werden soll. … eine Antwort über die Beendigung eines Dienstes erwartet wird. … wenn eine Antwort erwartet wird. Eine Komponente sollte EDA für eine Ereignispublikation nutzen, wenn … … alle Empfänger benachrichtigt werden sollen, die daran Interesse haben. … nicht bekannt ist, welche Empfänger an dem Ereignis interessiert sind. … nicht bekannt ist, wie Empfänger auf dieses Ereignis reagieren. … wenn unterschiedliche Empfänger unterschiedlich auf das gleiche Ereignis reagieren. … es sich um eine Einweg-Kommunikation vom Sender zum Empfänger handelt.
  • 48. Entkopplung von SOA-Domänen Event-Driven SOA (ED-SOA)
  • 49. Beispiel: Integration von Systemen Middleware Virtualisierung Frontend Frontend Virtualisierung Backend Backend <<FTP Adapter>> xxx_out_ftp <<Webservice>> erp_in_xxx <<FTP Adapter>> xxx_out_ftp <<Webservice>> erp_in_xxx <<ERP>> Standardsoftware <<Middleware>> OracleSOA Suite 11g <<ERP>> Standardsoftware <<Webshop>> Individualentwicklung <<Middleware>> OracleSOA Suite 11g <<FTP Adapter>> xxx_in_ftp <<Webservice>> erp_out_xxx ERP aktualisierteine Artikeldefinition Middleware routet zum richtigen Shop SOA Suite übermittelt die Artikeldefinition
  • 50. Fortsetzung Beispiel: Integration von Systemen Quellsystem feuert Event Nicht an Weiterverarbeitung interessiert Komplette Entkopplung der Aufrufketten Subscriber horcht auf interessante Eventtypen Startet Weiterverarbeitung Abstraktion von Messagingsystem Jetzt Business Event Level
  • 51. Prozesskopplung Komplexe Vorgänge lassen sich oft nicht als lineare Prozessketten formulieren. Steuerprozess sammelt Events und reagiert ggf. situationsabhängig.
  • 53. Fazit SOA und EDA ergänzen sich und sind keine konkurrierenden Architekturen EDN bringt Events als “first class citizens” in die SOA Suite DeklarativerAnsatz Publish/Subscribe-Semantikohnedirekt JMS zunutzen Setzt den Aspektder “Business Events” in den Fokus Führtzu Event-Driven SOA (ED-SOA)
  • 54. Kontakt Torsten Winterberg Director Strategy & Innovation Head of Competence Center SOAOracle ACE Director OPITZ CONSULTING GmbHKirchstr. 6, 51647 Gummersbach, GermanyPhone: +49 2261 6001 0torsten.winterberg@opitz-consulting.com
  • 55. Kontakt Guido Schmutz Technology Manager/PartnerOracle ACE Director Trivadis AGPapiermühlestrasse 73, 3014 Bern, SwitzerlandPhone: +41 31 928 09 60guido.schmutz@trivadis.com