<Insert Picture Here> Komplexe Ereignisverarbeitung und Java in Echtzeit Sören Halter Senior Sales Consultant
Business als Funktionen Finanzen Produktion Vertrieb CRM ERP DB
Business als Ereignis Finanzen Produktion Vertrieb CRM ERP DB
Ereignisse sind überall Algorithmisches Handeln Bankdienstleistungen Vermögensverwaltung Transport & Logistik Bestellwesen Telekommunikation & Dienstleistungen Lagerverwaltung Fertigung Antworten auf Unwetter Versicherungen Automatischer Gegenschlag Militär
Ereignisse sind überall Algorithmisches Handeln Bankdienstleistungen Vermögensverwaltung Transport & Logistik Gemeinsame Anforderungen: Bestellwesen Hohes Volumen Lagerverwaltung Heterogene Quellen Telekommunikation & Kontinuierliches Streaming Dienstleistungen Fertigung Komplexe Muster minimale Latenz Antworten auf Unwetter Automatischer Gegenschlag Versicherungen Militär
Wie werden Ereignisse heute behandelt? Viele werden ignoriert Chancen werden verpasst und schlimme Dinge können passieren Einige werden automatisiert behandelt BAM Kann tiefe Einsicht liefern, typischerweise mit engem Fokus BI Tiefe und weite Sichtbarkeit, oft nicht zeitnah genug um darauf zu Handeln Eigenentwicklungen Bestandsaufnahme des Geschäfts & Suche nach Anomalien Behandlung von Ereignissen in Geschäftsprozessen Prozesse werden durch die Behandlung mehrerer Ereignisse technisch und künstlich
Event Driven Architecture (EDA) Applikationen die auf Ereignisse reagieren und Ereignisse verarbeiten Applikationen die Ereignisse emittieren und empfangen einfache und/oder komplexe Ereignisse Transportmedium für Ereignisse Ereignisverarbeitung Ereignisweiterleitung Einfache Pub-Sub Applikationen Mediation und Verteilung Ereignisse werden gefiltert, verteilt und angereichert Komplexe Ereignisverarbeitung Komplexe Muster und Beziehungen Kontinuierliche Verarbeitung, Online (d.h. in Echtzeit )
Complex Event Processor (CEP) Kontinuierliche Query Engine Verarbeitet hochvolumige Datenströme Filtern, Korrelation, Kausalität, Aggregation Evaluiert in Echtzeit (im Mikrosekundenbereich bei hoher Last) SQL-basierte Ereignisverarbeitungssprache (EPL) Angereichert um Ereignisströme verarbeiten zu können Laufzeitrepräsentation Regeln: Durch Queryparser zu Java Code kompiliert Aktionen (Benutzercode): POJOs (Spring Beans) Ereignisse: POJOs
Programmiermodell Data Source Adapter Stream Processor Stream User Code Data Source Adapter Stream Event Sink
Funktionen komplexer Ereignisverarbeitung Echtzeitdatenströme High Velocity Events RFID Ereignisse Aktienkurse News feeds Aggregation komplexe kontinuierliche Queries Kausalität Korrelation gleitende Zeitfenster
Arten von Ereignisströmen Einfache Ströme Charakteristiken Unregelmäßiger Fluss Handhabbares Volumen Beispiele Kundenankunft Bestellung ausliefern kontinuierliche Ströme Charakteristiken kontinuierlicher Fluss Schritt halten ist zwingend Beispiele Temperatursensoren Aktienkursticker Hochvolumige, komplexe Ströme Charakteristiken Spitzen sind möglich Verarbeitung vom Worst Case Beispiele Schlachtfeldereignisse RFID Sensoren
Arten der Ereignisverarbeitung Event Processor CEP Filtern Aggregation Korrelation Aktion Nur die Ereignisse durchlassen, die bestimmten Kriterien genügen Event Processor Aktion Ereignisse zu komplexen Ereignissen aggregieren Aktion Suche komplexe Muster über mehrere Ereignisquellen CEP Event Processor CEP Beispiele Sensordaten nur signifikante Änderungen Anlagenüberwachung nur Grenzwertüberschreitung Komplexe Ereignisse Beispiele Aktienkursdurchschnitt alle 30min Temperatur+Wind+Niederschlag Komplexe Ereignisse Beispiele Missbrauchserkennung bevorstehender HW-Ausfall
Event-Driven SOA Anforderungen einer Event-Driven SOA Weg um Ereignisse darzustellen (Messages) Weg um Ereignisse zu transportieren (Service Bus) Weg um Ereignisse zu verarbeiten (Event Processor) Infrastrukturanforderungen Skaliert auch bei hohen Volumen Verarbeitung mit hoher Geschwindigkeit/niedriger Latenz Kann Schritt halten mit kontinuierlichen Ereignisströmen Komplexitätsbeherrschung durch Filtern, Aggregation und Routen an verschiedenen Stellen der Architektur Unterstützung eines Ereignismodells und verbundener Werkzeuge, die Lösungen schnell umsetzbar machen leicht anpassbar machen performant umsetzen
Beispiel: Flugreise als EDSOA = SOA Req-Repl Msg Reservierungen Service Bus = Event Pub-Sub Msg Flugscheine Check-in Gepäck-check-in Betrieb Gate Passagier-on Flugbetrieb Flug-offen Flug-boarding Flug-geschlossen Flug-verschoben Passagier-off Event Server CEP BPM Gepäck-verloren Flug-verspätet Gepäckverfolgung Gepäck-gekennzeichnet Gepäck-im-Container Gepäck-verloren BAM Container-im-Flugzeug
Event Driven SOA Event Driven Architecture konsistenter Service Layer Mehrere Konsumenten Mehrere Protokolle EDA nutzt dieselben Dienste Service Bus
Oracle Complex Event Processor Tools for Developers, Administrators, Business Users Complex Event Processor App Frameworks POJO Spring Services Event Infrastructure Complex Event Processing Foundation Services Config/ Admin Security Stream Management Logging Real Time Kernel Fault Tolerance WebLogic Real Time Leichtgewichtiger Java Applikationsserver Vollständige Umgebung zur Erstellung und Ausführung von Java-Applikationen Dienste -- Security, Logging, User Mgmt Hoher Durchsatz 1 Millionen Ereignisse/Sekunde Event Processing Infrastruktur CEP Engine Event Processing Programmierkonstrukte und -dienste zeitkritisches Streaming vertraute Event Processing Language (EPL) Easy-to-Use Entwicklungsumgebung Spring Framework, POJO Eclipse-basiertes Tooling Zwei virtuelle Maschinen zur Auswahl JRockit oder WebLogic Real Time JRockit JRockit DGC
Oracle WebLogic Real Time Echtzeit Java ohne Reengineering Eigenschaften Deterministischer Garbage Collector für JRockit Werkzeuge zur Analyse und Optimierung latenzsensitiver Applikationen Im Markt einzigartig Ermöglicht deterministisches Verhalten in Java Öffnet Java die Tür zu Bereichen, wo bisher C/C++ die einzige Option war Attraktiv für den Businessanwender und die IT Relevant für Applikationen die einen direkten Einfluss auf das Geschäft haben Financial Services, SIP Server, automatisierte Fertigung In weiten Teilen eine Ersetz -Lösung Keine speziellen APIs, oft sind keine (oder nur kleine) Codeänderungen notwendig Gesamter Softwareentwicklungslebenszyklus wird unterstützt
120 Beschreibung Latenz Traditionelles Java kann zu Ausfällen führen Traditionelles Java WebLogic Real Time 105 90 75 60 45 120 105 90 30 15 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Geringe Last: GC Spitzen und gelegentliche Timeouts 120 105 90 75 75 60 45 30 15 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 60 45 30 15 Deterministische Garbage Collection in WLRT ermöglicht die Garantie von SLAs. 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Hohe Last: GC Pausen können zu inakzeptablen Antwortzeiten führen
Auswertung Aktienkurse Findet Symbole mit Trend oder prozentualer Wertänderung Complex Event Processor Performance Whitepaper: 1Millionen Events pro Sekunde
Echtzeit BAM für Gepäckermittlung
Transport und Logistik Fahrzeug wird über GPS-Daten verfolgt. Diese können mit anderen Ereignissen, wie Distanz zum Zielort, Wetter, Verkehr, außerplanmäßigen Stops etc, korreliert werden
Vorteile Event-Based Computing Durch Herauslösen von Ereignissen standardisierte Repräsentation von Ereignissen intelligentes Routen, Filtern, Aggregation und Korrelieren von Ereignissen Können Sie besser überblicken Dashboards die richtigen Events mit dem richtigen Detaillierungsgrad zeigen Erkennen von relevanten Mustern zur Automatisierung kontrollieren Nutzen Sie Events um andere Events, Prozesse oder Warnung auszulösen Definieren (und verarbeiten) Sie komplexe Ereignismuster als Auslöser anpassen Fügen Sie einfach neue Eventarten, -quellen, -konsumenten, -regeln und muster hinzu Ändern Sie mit minimalem Aufwand was wie verarbeitet wird
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle.