Your SlideShare is downloading. ×
It's Happening - on Event Driven SOA - Part Three  - CEP and BAM (ODTUG Kaleidoscope 2010)
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

It's Happening - on Event Driven SOA - Part Three - CEP and BAM (ODTUG Kaleidoscope 2010)


Published on

When should a process start or a service be activated? The trigger can be a requirement in an application, process, or service that then invokes the service or process. However, frequently the link is …

When should a process start or a service be activated? The trigger can be a requirement in an application, process, or service that then invokes the service or process. However, frequently the link is not that straightforward. When 'something happens' (a business event!), that should lead to the start of other actions or the continuation or redirection of running processes. However, whose responsibility is it to determine that a business event has taken place, and even more importantly, who to notify? The process instance that happens to produce an event should not bare the burden of finding out who needs to be notified—especially as the list of interested parties can be hugely dynamic. Nor should the event be presented to any service, composite application, or process to check out whether perhaps it wants to consume it.
This session discusses Event-Driven SOA—an architecture where applications, processes, and services can produce business events, and interested consumers are notified of those events—through the mediation by the SOA Suite 11g Event Delivery Network (EDN). In this session, we will see how business events are defined across the enterprise, and how an interest in specific types of business events (with specific payloads) can be registered. The session demonstrates how events can be produced, how they are processed by the EDN, and handed to the interested parties. Special attention is given to the correlation of events, ensuring that the correct composite instance is provided with the event. We will discuss how the events can not only originate within the SOA Suite, but also outside of it, through AQ, PL/SQL and Java, ADF BC, and JMS. As a last step, we will discuss Complex Event Processing (CEP) as a potential source of business events. CEP will handle large volumes of small, usually insignificant events. However, by filtering, aggregating, and analyzing for deviations and threshold transgressions, CEP will occasionally find business events that are subsequently sent to the Event Delivery Network. This session has many demonstrations (end-to-end).

Published in: Technology

1 Comment
  • i need total bam
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Demo in plain SQL:
  • Transcript

    • 1. What’s Happening?Part III – CEP and BAM
      ODTUG Kaleidoscope 2010
      Thursday, 30th June
      Lucas Jellema
      AMIS, The Netherlands
    • 2. Overview
      EDA and the Event Delivery Network
      Defining and publishing events – Mediator, BPEL
      Consuming events – inside SOA and outside
      Advanced EDN patterns, ADF BC, Database
      Missing Event detection and Forum pattern
      Complex Event Processing and BAM
      Analyzing streams of low level events: exception detection, aggregation, pattern analysis, …
      Publishing Business Events to EDN and feeding into Business Activity Monitoring
    • 3. Need support for:
      • High Volume
      • 4. Continuous Streaming
      • 5. Sub-millisecond latency
      • 6. Time-window processing
      • 7. Complex pattern matching
    • Complex Event Processing
      Below the level of business events, is the league of real time events
      Continuous stream of a multitude of tiny events with hardly any payload, most of which are not interesting at all
      Sent from physical sensors (temperature, pressure, RFID, security gates), process sensors, database triggers, web servers, ESBs, stock trade tickers, …
      By detecting patterns, deviations, aggregations in these event streams, business events (alerts, consolidated findings,..) can be constructed
      Complex Event Processors and CQL (Continuous Query Language) are used for that task
    • 8. Continuous Query Language (CQL)
      Standard extension to SQL
      For handling large volumes of events, applying this special language for event analysis executing the queries continuously
      Operates on streams of continually arriving events instead of static data sets
      Results keep being produced
      Results can be stream themselves or a relation
      Is used for comparing events of same type, to find
      Trends and Patterns
    • 9. Example CQL Query
    • 10. Event Processing Network
      Adapters – consuming or producing events
      Channels – carrying specific event types
      Processors – running CQL
    • 11. Complex Event Processing
      SOA Applicatie
      Data Warehouse
      Complex Event Processor
      Event Consumer
    • 12. Oracle CEP 11g Architecture
      Design Time
      Run Time
      CEP Visualizer(web console)
      Other WebApp
      Web (Bayeux)Server
      CEP Server
    • 13. Demo: HelloWorld
    • 14. The EPN source side of things
    • 15. Case of Temperature
      Temperature sensors
      Cooling units
      Maternity Ward and IC
      Fire detection
      Frequent readings (subsecond)
      Monitoring for: trends of threshold crossing, fire!, fault detection
    • 16. Layout
      Signals over JMS
      JMS queue for temperature aggregates
      Per cluster, once every 30 seconds
      JMS queue for failed sensor detection
    • 17. Demo of Temp Aggs
    • 18. Event Processor for aggregation
      Group by Cluster
      Report once every 30 seconds
      Over all events in the last 60 seconds
    • 19.
    • 20. Sensor Failure
      When a sensor has not reported for 30 seconds, we consider it failed
      And potentially broken down
      CEP needs to trap the missing events and report those
    • 21. Demo of Sensor Failure detection
    • 22.
    • 23. From CEP to EDN
      The findings in CEP from the zillions of meaningless events are typically published
      To JMS for consumption by Java applications
      To HTTP consumers (or Oracle BAM via JMS) for real-time dashboards
      To database or log-files for subsequent analysis
      To JMS and onwards to the SOA Suite Event Delivery Network – promotion to business event
    • 24. SOA Suite
      HTTP Consumers
    • 25. Case: Failure detection must lead to Human Task
      First: from CEP to EDN
      via JMS, JMS Adapter and Mediator
      Second: from EDN to Human Task
      Via Mediator or BPEL
      => we have seen this step already
    • 26.
    • 27.
    • 28.
    • 29. Feeding Temperature Aggregate Findings into BAM
      CEP publishes on JMS
      CEP is not aware of BAM
      BAM creates an enterprise message source
      Based on JMS and MapMessages
      Feeding into a Data Object in the Active Data Cache
      BAM listens on the JMS Queue and maps the messages to the ADC Data Object
    • 30. CEP feeding into BAM
      Case: temperature aggregates
      Create external Data Object based on table
      Create Data Object TemperatureSensorCluster
      With lookup fields for target temperatur and location, taken from external Data Object
      Create Enterprise Message Source
      Create Report
      Run Report
    • 31.
    • 32.
    • 33.
    • 34.
    • 35. Arrow turning red if only one cluster reports a deviation
    • 36.
    • 37.
    • 38. 35
      SOA strives for Business Agility through Decoupling
      Reuse, encapsulation, clean interfaces, minimize dependencies
      EDA (Event Driven Architecture) can be seen as the Extremely Decouple Architecture
      Complementing SOA in mediating between parties
      Event publisher and consumer are decoupled
      An event mediator handles subscriptions and distribution of published events
    • 39. Summary
      Events are to published by any process, service or application that first detects them
      Based on predefined business event types
      Producer of an event can hand it over to the event mediator (Event Delivery Network)
      Subscriptions can be registered with the EDN for events of predefined types
      Using a content based filter
      BPEL, Mediator and BPMN can produce and consume events
    • 40. Summary
      EDN in SOA Suite 11g
      Leverages JMS or AQ internally
      Does not apply authorization in any way
      Does not keep track of events it has delivered
    • 41. Summary
      BAM for Business Activity Monitoring
      Real time insight in ongoing operations
      Active Data Cache contains Data Objects on which reports are created
      Data Objects are fed by JMS, ODI, WebService,…
      SOA Suite integrates with BAM in several ways
      BAM Adapter Service
      BPEL BAM Sensor Action
      BPEL Monitors
    • 42. Summary
      Complex Event Processing
      For analysis of real time, high volume, continuous streams of fine grained events
      Used for detecting patterns, spotting exceptions, calculating aggregates and track trends
      CEP uses CQL queries to derive information from event streams
      Results are published as events – typically to outbound JMS queues
      That can feed into SOA Suite or BAM (or CEP)
    • 43. Summary
      Thinking in terms of events will allow synergy without coupling
      Asynchronous communication in its purest form
      (as partners are unaware of each other)
      Identifying business events
      Publishing them whenever they are first spotted
      Anyone requiring information about events (like Jenny’s colleagues) can subscribe
    • 44. Resources
      Presentation and demos are on our blog
      Contact me