SlideShare a Scribd company logo
 Why and How to Engage a Complex Event Processor from a Java Web ApplicationLucas JellemaCTO, AMIS (The Netherlands)Oracle ACE Director
An EventA factWhen it becomes a factTimestamp!Of potential interest to anyoneWith some information associated with itWhen the fact is changed, that too may constitute an eventNote that even when no change occurs, that could be considered an event (absence of expected event)
The Data AvalancheThe league of real time eventsContinuous stream of a multitude of tiny events with hardly any payload, most of which are not interesting at allSent from physical sensors (temperature, pressure, RFID, security gates), process sensors, Twitter, manufacturing equipment, database triggers, web servers, ESBs, stock trade tickers, sport statistics, RSS, network switches, …
Most of these events….
Making Sense of Non-senseComplex Event ProcessingUseful information could be hidden in those streams of events – and CEP extracts itBy detecting patterns, deviations, aggregations in these event streamsCEP publishes ‘meaningful’ (business) events to report its findings – by executing some Event Processing LangugaeeventsComplex Event Processor
Continuous Query Language (CQL)Standard extension/complement to SQLFor handling large volumes of continuously arriving eventsExecuting the queries continuouslyOperates on streams of continually arriving events instead of static relational data setsEvents can be enriched with contextResults keep being produced as event streamIs used for comparing events of same type, to findTrends and PatternsExceptionsAggregatesComplex Event ProcessorCQL
Example CQL QueryReport the average temperatureAggregated over last 60 secondsReported every 30 secondsDetermined per ClusterTemperaturereadingsComplex Event ProcessorAverage temperature values (over 60s, per cluster, every 30s)
Event Processing NetworkAdapters – consuming or producing eventsChannels – carrying specific event typesProcessors – running CQL
Complex Event ProcessingAlertJMSDashboardSOA ApplicationDBData WarehouseWebServiceFileeventsComplex Event ProcessorJMSHTTPJMXFileDBEvent Consumer
eventseventseventsJava Applications interacting with a complex event processor Complex Event ProcessorJava applicationJMS132
Various CEP offerings availableProgress Software (Apama)Aleri (Aleri and Coral8)IBM (WebSphere Business Events, System S/InfoSphere Streams, ILog rule engine)StreamBase Systems, TIBCO Software (Tibco Business Events) Oracle (CEP - fka BEA WLEvs - and Glassfish OpenESB IEP) UC4 (Senactive)  EsperTechJBoss Drools Fusion
Oracle CEP 11g Architecturefka BEA WLEVS(erver)Design TimeRun TimeCEP Visualizer(web console)Other WebAppEclipsehttpCEPpluginWeb (Bayeux)ServerCEP ServerDBJMS
Demo: HelloWorld
The EPN source side of things
Java Application as Event ConsumereventsComplex Event ProcessorJava applicationJMS
Temperature VigilCEP
Case of TemperatureHospitalTemperature sensorsCooling unitsMaternity Ward and Intensive Care unitsFire detectionFrequent readings (subsecond)Monitoring for: trends of threshold crossing, fire!, fault detection
Demo: Temperature SensorsApplication should display a dashboard for temperature sensor readingsThe user is interested in cluster aggregates , deviations from pre-set values and broken sensorsHow would a Java Application process thousands of events per secondextract and report aggregatesdetect and report missing valuesNote: user wants real time updates – but not more frequently than once per minute
Technical LayoutTemperature Sensors are all over the placeClustered per room or locationTemperature Readings arrive over JMSResults are sent through JMS to dashboardJMS queue for temperature aggregatesPer cluster, once every 30 secondsJMS queue for failed sensor detection
Demo of Temperature Aggregations
Event Processor for aggregationGroup by ClusterReport once every 30 secondsOver all events in the last 60 seconds
Why and how to engage a Complex Event Processor from a Java Web Application
Sensor FailureWhen a sensor has not reported for 30 seconds, we consider it failedAnd potentially broken downCEP needs to trap the missing events and report those
Demo of Sensor Failure detection
Why and how to engage a Complex Event Processor from a Java Web Application
Feeding Temperature Aggregate Findings into real time BAMCEP publishes result events on JMSCEP is not aware of Business Activity MonitoringBAM creates an enterprise message sourceBased on JMS and MapMessagesFeeding into a Data Object in the Active Data CacheBAM listens on the JMS Queue and maps the messages to the ADC Data Object
Business Activity Monitoring
Java Application as Event ProducereventsComplex Event ProcessorJava applicationJMS3
Java Application producing the events to processThe user interaction with an application produces many eventsNavigation, Selection, Submission (scroll, expand/collapse, drill down)Most events are not recorded persistentlyThe events can reveal interesting information about the application, the data and the usersFor example in a web shopThe information could be used to improve the effectiveness of the application
Product DetailsSearchBuy ProductmarioMario Kart (WII)€24,992010Rating:****oDetails:1 article in shoppingbasket:€24,99Mario Kart
Super Mario
Super Mario Galaxy
Mario Super Sluggers
Super Mario Bros.SearchEvent‘mario’ViewEvent‘Mario Kart’BuyEvent‘Mario Kart’User interaction events in a WebShop
The WebShop Application
Derive intelligence from WebShop eventsActual Metrics: #searches in last 5 minutes, #buyers in the last 24 hours, #search-to-views drilldownsTop 10 search terms (in last [24] hour)Top 10 useless search termsAfter search on term there is no view eventMost Effective search termsSearch is followed by (one or more) view events and subsequently a buy eventItems frequently viewed but not often bought#buy/#views is ranks low
WebShop & CEPWebShop sends JMS events to single queueWhenever a user in a session searches, drills down or buysType of event, search term or item identifier, session idCEP reads from JMS channelRoutes based on event typeProcesses events using CQL processorEmits derived events to JMS queueWebShop listens to JMS queueUpdates application scope ‘top10’ beansProvides dashboard based on ‘top10’ beansPotentially using Server Push (or periodic poll)
Webshop feeding into CEP and receiving refined feedbackWebShopTop 10 Popular Search TermsTop 10 Useless Search TermsMost Effective Search Termssearchviewbuy
Popular useless search terms(missing viewevent following the search)
Ad

Recommended

Oracle Cep Xstreams adapter
Oracle Cep Xstreams adapter
Mohit Thatte
 
Data warehouse system and its concepts
Data warehouse system and its concepts
Gaurav Garg
 
OBIEE 11g: Configuring LDAP Server
OBIEE 11g: Configuring LDAP Server
adivasoft
 
OBIEE11g Multi User Development - MUD
OBIEE11g Multi User Development - MUD
adivasoft
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
Wilfred van der Deijl
 
Obiee and database performance tuning
Obiee and database performance tuning
Amit Sharma
 
Complex Event Processor 3.0.0 - An overview of upcoming features
Complex Event Processor 3.0.0 - An overview of upcoming features
WSO2
 
Complex Event Processing
Complex Event Processing
John Plummer
 
WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2
 
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2
 
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
StampedeCon
 
st - demystifying complext event processing
st - demystifying complext event processing
Geoffrey De Smet
 
Introducing the WSO2 Complex Event Processor
Introducing the WSO2 Complex Event Processor
WSO2
 
eBiz#3: CEP
eBiz#3: CEP
Yulian Slobodyan
 
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
WSO2
 
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
Eugene Bogaart
 
Complex Event Processing with Esper
Complex Event Processing with Esper
Ted Won
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
Geoffrey De Smet
 
Enabling predictive analysis in service oriented BPM solutions.
Enabling predictive analysis in service oriented BPM solutions.
Mindtree Ltd.
 
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft Private Cloud
 
FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
ishkin
 
Event Stream Processing SAP
Event Stream Processing SAP
Gaurav Ahluwalia
 
Processing Patterns for Predictive Business
Processing Patterns for Predictive Business
Tim Bass
 
Combating Fraud and Intrusion Threats with Event Processing
Combating Fraud and Intrusion Threats with Event Processing
Tim Bass
 
Moteur CEP
Moteur CEP
Fawaz Fernand PARAISO
 
Open Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion Applications
guestc4ce526
 
Processing Patterns for PredictiveBusiness
Processing Patterns for PredictiveBusiness
Tim Bass
 
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
Tim Bass
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 

More Related Content

Similar to Why and how to engage a Complex Event Processor from a Java Web Application (20)

WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2
 
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2
 
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
StampedeCon
 
st - demystifying complext event processing
st - demystifying complext event processing
Geoffrey De Smet
 
Introducing the WSO2 Complex Event Processor
Introducing the WSO2 Complex Event Processor
WSO2
 
eBiz#3: CEP
eBiz#3: CEP
Yulian Slobodyan
 
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
WSO2
 
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
Eugene Bogaart
 
Complex Event Processing with Esper
Complex Event Processing with Esper
Ted Won
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
Geoffrey De Smet
 
Enabling predictive analysis in service oriented BPM solutions.
Enabling predictive analysis in service oriented BPM solutions.
Mindtree Ltd.
 
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft Private Cloud
 
FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
ishkin
 
Event Stream Processing SAP
Event Stream Processing SAP
Gaurav Ahluwalia
 
Processing Patterns for Predictive Business
Processing Patterns for Predictive Business
Tim Bass
 
Combating Fraud and Intrusion Threats with Event Processing
Combating Fraud and Intrusion Threats with Event Processing
Tim Bass
 
Moteur CEP
Moteur CEP
Fawaz Fernand PARAISO
 
Open Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion Applications
guestc4ce526
 
Processing Patterns for PredictiveBusiness
Processing Patterns for PredictiveBusiness
Tim Bass
 
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
Tim Bass
 
WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2 Product Release Webinar - WSO2 Complex Event Processor
WSO2
 
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2
 
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
Real Time Event Processing and In-­memory analysis of Big Data - StampedeCon ...
StampedeCon
 
st - demystifying complext event processing
st - demystifying complext event processing
Geoffrey De Smet
 
Introducing the WSO2 Complex Event Processor
Introducing the WSO2 Complex Event Processor
WSO2
 
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
WSO2
 
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
EDA With Glassfish ESB Jfall IEP Intelligent Event Processing
Eugene Bogaart
 
Complex Event Processing with Esper
Complex Event Processing with Esper
Ted Won
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
Geoffrey De Smet
 
Enabling predictive analysis in service oriented BPM solutions.
Enabling predictive analysis in service oriented BPM solutions.
Mindtree Ltd.
 
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft Private Cloud
 
FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
ishkin
 
Event Stream Processing SAP
Event Stream Processing SAP
Gaurav Ahluwalia
 
Processing Patterns for Predictive Business
Processing Patterns for Predictive Business
Tim Bass
 
Combating Fraud and Intrusion Threats with Event Processing
Combating Fraud and Intrusion Threats with Event Processing
Tim Bass
 
Open Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion Applications
guestc4ce526
 
Processing Patterns for PredictiveBusiness
Processing Patterns for PredictiveBusiness
Tim Bass
 
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
CEP: Event-Decision Architecture for PredictiveBusiness, July 2006
Tim Bass
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 
Ad

Recently uploaded (20)

“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Ad

Why and how to engage a Complex Event Processor from a Java Web Application

  • 1. Why and How to Engage a Complex Event Processor from a Java Web ApplicationLucas JellemaCTO, AMIS (The Netherlands)Oracle ACE Director
  • 2. An EventA factWhen it becomes a factTimestamp!Of potential interest to anyoneWith some information associated with itWhen the fact is changed, that too may constitute an eventNote that even when no change occurs, that could be considered an event (absence of expected event)
  • 3. The Data AvalancheThe league of real time eventsContinuous stream of a multitude of tiny events with hardly any payload, most of which are not interesting at allSent from physical sensors (temperature, pressure, RFID, security gates), process sensors, Twitter, manufacturing equipment, database triggers, web servers, ESBs, stock trade tickers, sport statistics, RSS, network switches, …
  • 4. Most of these events….
  • 5. Making Sense of Non-senseComplex Event ProcessingUseful information could be hidden in those streams of events – and CEP extracts itBy detecting patterns, deviations, aggregations in these event streamsCEP publishes ‘meaningful’ (business) events to report its findings – by executing some Event Processing LangugaeeventsComplex Event Processor
  • 6. Continuous Query Language (CQL)Standard extension/complement to SQLFor handling large volumes of continuously arriving eventsExecuting the queries continuouslyOperates on streams of continually arriving events instead of static relational data setsEvents can be enriched with contextResults keep being produced as event streamIs used for comparing events of same type, to findTrends and PatternsExceptionsAggregatesComplex Event ProcessorCQL
  • 7. Example CQL QueryReport the average temperatureAggregated over last 60 secondsReported every 30 secondsDetermined per ClusterTemperaturereadingsComplex Event ProcessorAverage temperature values (over 60s, per cluster, every 30s)
  • 8. Event Processing NetworkAdapters – consuming or producing eventsChannels – carrying specific event typesProcessors – running CQL
  • 9. Complex Event ProcessingAlertJMSDashboardSOA ApplicationDBData WarehouseWebServiceFileeventsComplex Event ProcessorJMSHTTPJMXFileDBEvent Consumer
  • 10. eventseventseventsJava Applications interacting with a complex event processor Complex Event ProcessorJava applicationJMS132
  • 11. Various CEP offerings availableProgress Software (Apama)Aleri (Aleri and Coral8)IBM (WebSphere Business Events, System S/InfoSphere Streams, ILog rule engine)StreamBase Systems, TIBCO Software (Tibco Business Events) Oracle (CEP - fka BEA WLEvs - and Glassfish OpenESB IEP) UC4 (Senactive) EsperTechJBoss Drools Fusion
  • 12. Oracle CEP 11g Architecturefka BEA WLEVS(erver)Design TimeRun TimeCEP Visualizer(web console)Other WebAppEclipsehttpCEPpluginWeb (Bayeux)ServerCEP ServerDBJMS
  • 14. The EPN source side of things
  • 15. Java Application as Event ConsumereventsComplex Event ProcessorJava applicationJMS
  • 17. Case of TemperatureHospitalTemperature sensorsCooling unitsMaternity Ward and Intensive Care unitsFire detectionFrequent readings (subsecond)Monitoring for: trends of threshold crossing, fire!, fault detection
  • 18. Demo: Temperature SensorsApplication should display a dashboard for temperature sensor readingsThe user is interested in cluster aggregates , deviations from pre-set values and broken sensorsHow would a Java Application process thousands of events per secondextract and report aggregatesdetect and report missing valuesNote: user wants real time updates – but not more frequently than once per minute
  • 19. Technical LayoutTemperature Sensors are all over the placeClustered per room or locationTemperature Readings arrive over JMSResults are sent through JMS to dashboardJMS queue for temperature aggregatesPer cluster, once every 30 secondsJMS queue for failed sensor detection
  • 20. Demo of Temperature Aggregations
  • 21. Event Processor for aggregationGroup by ClusterReport once every 30 secondsOver all events in the last 60 seconds
  • 23. Sensor FailureWhen a sensor has not reported for 30 seconds, we consider it failedAnd potentially broken downCEP needs to trap the missing events and report those
  • 24. Demo of Sensor Failure detection
  • 26. Feeding Temperature Aggregate Findings into real time BAMCEP publishes result events on JMSCEP is not aware of Business Activity MonitoringBAM creates an enterprise message sourceBased on JMS and MapMessagesFeeding into a Data Object in the Active Data CacheBAM listens on the JMS Queue and maps the messages to the ADC Data Object
  • 28. Java Application as Event ProducereventsComplex Event ProcessorJava applicationJMS3
  • 29. Java Application producing the events to processThe user interaction with an application produces many eventsNavigation, Selection, Submission (scroll, expand/collapse, drill down)Most events are not recorded persistentlyThe events can reveal interesting information about the application, the data and the usersFor example in a web shopThe information could be used to improve the effectiveness of the application
  • 30. Product DetailsSearchBuy ProductmarioMario Kart (WII)€24,992010Rating:****oDetails:1 article in shoppingbasket:€24,99Mario Kart
  • 34. Super Mario Bros.SearchEvent‘mario’ViewEvent‘Mario Kart’BuyEvent‘Mario Kart’User interaction events in a WebShop
  • 36. Derive intelligence from WebShop eventsActual Metrics: #searches in last 5 minutes, #buyers in the last 24 hours, #search-to-views drilldownsTop 10 search terms (in last [24] hour)Top 10 useless search termsAfter search on term there is no view eventMost Effective search termsSearch is followed by (one or more) view events and subsequently a buy eventItems frequently viewed but not often bought#buy/#views is ranks low
  • 37. WebShop & CEPWebShop sends JMS events to single queueWhenever a user in a session searches, drills down or buysType of event, search term or item identifier, session idCEP reads from JMS channelRoutes based on event typeProcesses events using CQL processorEmits derived events to JMS queueWebShop listens to JMS queueUpdates application scope ‘top10’ beansProvides dashboard based on ‘top10’ beansPotentially using Server Push (or periodic poll)
  • 38. Webshop feeding into CEP and receiving refined feedbackWebShopTop 10 Popular Search TermsTop 10 Useless Search TermsMost Effective Search Termssearchviewbuy
  • 39. Popular useless search terms(missing viewevent following the search)
  • 40. Real Time Event Driven Dashboard in WebShop application
  • 41. SummaryComplex Event ProcessingFor analysis of real time, high volume, continuous streams of fine grained, non-persistent eventsUsed for detecting patterns, spotting exceptions, calculating aggregates and tracking trendsCEP uses CQL queries to derive information from event streams – continuously, as events continue to arriveResults are published as (higher level) events – often to JMS queues
  • 42. Summary[Java] Applications can have CEP pre-process eventsto do complex analysis and filteringproducing business events that applications can understandJava Applications produce events that CEP can processAnd possibly feed back into the applicationsJMS and http are primary communication channels
  • 43. ResourcesPresentation and demos are on our bloghttp://technology.amis.nl/blogContact me at:[email protected]: Chapter 19 in Oracle SOA Suite 11gHandbook describesOracle CEP and BAM

Editor's Notes

  • #7: Demo in plain SQL: http://technology.amis.nl/blog/3569/simple-event-processing-using-sql-with-analytical-functions-to-detect-traffic-patterns
  • #33: Wat zijn de populairste zoektermen van dit moment (bijvoorbeeld de top 10 van de afgelopen 24 uur) – dit is een vrij eenvoudige aggregatie – gegroepeerd op zoekterm en met om de zoveel uur een rapportage in de vorm van tien events voor de top zoek-termenWat zijn de populairste waardeloze zoektermen? Dat zjin zoektermen die de gebruikers kennelijk niet de door hen gewenste resultaten opleveren omdat na het zoek-event met die term niet een bekijk-event volgt, maar een nieuw zoek-event of helemaal geen event meer.Wat zijn kennelijk de meest succevolle zoektermen? Hier zoeken we naar het patroon van zoek-event gevolgd door een of meerdere bekijk–events en leidend tot een koop-event zonder dat er nog een ander zoek-event tussen zitWat zijn items die wel vaak bekeken maar niet vaak gekocht worden? Dat zijn producten waarvoor het percentage kijk+koop van het totaal aantal kijk-events laag is. Ook deze lijst kan bijvoorbeeld iedere 12 of 24 uur worden opgehoest door CEP