SlideShare a Scribd company logo
1 of 39
 Why and How to Engage a Complex Event Processor from a Java Web Application Lucas Jellema CTO, AMIS (The Netherlands) Oracle ACE Director
An Event A fact When it becomes a fact Timestamp! Of potential interest to anyone With some information associated with it When the fact is changed, that too may constitute an event Note that even when no change occurs, that could be considered an event (absence of expected event)
The Data Avalanche 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, 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 Processing Useful information could be hidden in those streams of events – and CEP extracts it By detecting patterns, deviations, aggregations in these event streams CEP publishes ‘meaningful’ (business) events to report its findings – by executing some Event Processing Langugae events Complex Event Processor
Continuous Query Language (CQL) Standard extension/complement to SQL For handling large volumes of continuously arriving events Executing the queries continuously Operates on streams of continually arriving events instead of static relational data sets Events can be enriched with context Results keep being produced as event stream Is used for comparing events of same type, to find Trends and Patterns Exceptions Aggregates Complex Event Processor CQL
Example CQL Query Report the average temperature Aggregated over last 60 seconds Reported every 30 seconds Determined per Cluster Temperaturereadings Complex Event Processor Average temperature values (over 60s, per cluster, every 30s)
Event Processing Network Adapters – consuming or producing events Channels – carrying specific event types Processors – running CQL
Complex Event Processing Alert JMS Dashboard SOA Application DB Data Warehouse WebService File events Complex Event Processor JMS HTTP JMX File DB Event Consumer
events events events Java Applications interacting with a complex event processor  Complex Event Processor Java application JMS 1 3 2
Various CEP offerings available Progress 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)   EsperTech JBoss Drools Fusion
Oracle CEP 11g Architecturefka BEA WLEVS(erver) Design Time Run Time CEP Visualizer(web console) Other WebApp Eclipse http CEP plugin Web (Bayeux)Server CEP Server DB JMS
Demo: HelloWorld
The EPN source side of things
Java Application as Event Consumer events Complex Event Processor Java application JMS
Temperature Vigil CEP
Case of Temperature Hospital Temperature sensors Cooling units Maternity Ward and Intensive Care units Fire detection Frequent readings (subsecond) Monitoring for: trends of threshold crossing, fire!, fault detection
Demo: Temperature Sensors Application should display a dashboard for temperature sensor readings The user is interested in cluster aggregates , deviations from pre-set values and broken sensors How would a Java Application process thousands of events per second extract and report aggregates detect and report missing values Note: user wants real time updates – but not more frequently than once per minute
Technical Layout Temperature Sensors are all over the place Clustered per room or location Temperature Readings arrive over JMS Results are sent through JMS to dashboard JMS queue for temperature aggregates Per cluster, once every 30 seconds JMS queue for failed sensor detection
Demo of Temperature Aggregations
Event Processor for aggregation Group by Cluster Report once every 30 seconds Over all events in the last 60 seconds
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
Demo of Sensor Failure detection
Feeding Temperature Aggregate Findings into real time BAM CEP publishes result events on JMS CEP is not aware of Business Activity Monitoring 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
Business Activity Monitoring
Java Application as Event Producer events Complex Event Processor Java application JMS 3
Java Application producing the events to process The user interaction with an application produces many events Navigation, Selection, Submission (scroll, expand/collapse, drill down) Most events are not recorded persistently The events can reveal interesting information about the application, the data and the users For example in a web shop The information could be used to improve the effectiveness of the application
Product Details Search Buy Product mario Mario Kart (WII) €24,99 2010 Rating:****o Details: 1 article in shoppingbasket: €24,99 ,[object Object]
Super Mario
Super Mario Galaxy
Mario Super Sluggers
Super Mario Bros.Search Event ‘mario’ View Event‘Mario Kart’ Buy Event‘Mario Kart’ User interaction events in a WebShop
The WebShop Application
Derive intelligence from WebShop events Actual Metrics: #searches in last 5 minutes, #buyers in the last 24 hours, #search-to-views drilldowns Top 10 search terms (in last [24] hour) Top 10 useless search terms After search on term there is no view event Most Effective search terms Search is followed by (one or more) view events and subsequently a buy event Items frequently viewed but not often bought #buy/#views is ranks low
WebShop & CEP WebShop sends JMS events to single queue Whenever a user in a session searches, drills down or buys Type of event, search term or item identifier, session id CEP reads from JMS channel Routes based on event type Processes events using CQL processor Emits derived events to JMS queue WebShop listens to JMS queue Updates application scope ‘top10’ beans Provides dashboard based on ‘top10’ beans Potentially using Server Push (or periodic poll)
Webshop feeding into CEP and receiving refined feedback WebShop Top 10 Popular Search Terms Top 10 Useless Search Terms Most Effective Search Terms search view buy
Popular useless search terms(missing viewevent following the search)

More Related Content

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

Eda on the azure services platform
Eda on the azure services platformEda on the azure services platform
Eda on the azure services platformYves Goeleven
 
EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?confluent
 
Event Stream Processing SAP
Event Stream Processing SAPEvent Stream Processing SAP
Event Stream Processing SAPGaurav Ahluwalia
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event ProcessingJohn Plummer
 
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview PresentationMicrosoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview PresentationMicrosoft Private Cloud
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent MonitoringIntelie
 
ArcSight Basics.ppt
ArcSight Basics.pptArcSight Basics.ppt
ArcSight Basics.pptneoalt
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido Schmutz
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Alexandre Vasseur
 
What is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandMaarten Balliauw
 
Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Tim Bass
 
Event Stream Processing with Kafka and Samza
Event Stream Processing with Kafka and SamzaEvent Stream Processing with Kafka and Samza
Event Stream Processing with Kafka and SamzaZach Cox
 
Q radar architecture deep dive
Q radar architecture   deep diveQ radar architecture   deep dive
Q radar architecture deep diveKamal Mouline
 
善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶Amazon Web Services
 
WebAction In-Memory Computing Summit 2015
WebAction In-Memory Computing Summit 2015WebAction In-Memory Computing Summit 2015
WebAction In-Memory Computing Summit 2015WebAction
 
Real-time data integration to the cloud
Real-time data integration to the cloudReal-time data integration to the cloud
Real-time data integration to the cloudSankar Nagarajan
 
The present and future of serverless observability (QCon London)
The present and future of serverless observability (QCon London)The present and future of serverless observability (QCon London)
The present and future of serverless observability (QCon London)Yan Cui
 
The present and future of Serverless observability
The present and future of Serverless observabilityThe present and future of Serverless observability
The present and future of Serverless observabilityYan Cui
 
The present and future of Serverless observability
The present and future of Serverless observabilityThe present and future of Serverless observability
The present and future of Serverless observabilityYan Cui
 

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

Eda on the azure services platform
Eda on the azure services platformEda on the azure services platform
Eda on the azure services platform
 
EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?
 
Event Stream Processing SAP
Event Stream Processing SAPEvent Stream Processing SAP
Event Stream Processing SAP
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event Processing
 
Intellica evam summary
Intellica evam summaryIntellica evam summary
Intellica evam summary
 
Microsoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview PresentationMicrosoft SQL Server - StreamInsight Overview Presentation
Microsoft SQL Server - StreamInsight Overview Presentation
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent Monitoring
 
ArcSight Basics.ppt
ArcSight Basics.pptArcSight Basics.ppt
ArcSight Basics.ppt
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soa
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?
 
What is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays Finland
 
Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006
 
Event Stream Processing with Kafka and Samza
Event Stream Processing with Kafka and SamzaEvent Stream Processing with Kafka and Samza
Event Stream Processing with Kafka and Samza
 
Q radar architecture deep dive
Q radar architecture   deep diveQ radar architecture   deep dive
Q radar architecture deep dive
 
善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶
 
WebAction In-Memory Computing Summit 2015
WebAction In-Memory Computing Summit 2015WebAction In-Memory Computing Summit 2015
WebAction In-Memory Computing Summit 2015
 
Real-time data integration to the cloud
Real-time data integration to the cloudReal-time data integration to the cloud
Real-time data integration to the cloud
 
The present and future of serverless observability (QCon London)
The present and future of serverless observability (QCon London)The present and future of serverless observability (QCon London)
The present and future of serverless observability (QCon London)
 
The present and future of Serverless observability
The present and future of Serverless observabilityThe present and future of Serverless observability
The present and future of Serverless observability
 
The present and future of Serverless observability
The present and future of Serverless observabilityThe present and future of Serverless observability
The present and future of Serverless observability
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...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...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...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 ...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...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...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!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)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...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...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...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...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...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...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)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...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)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)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...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 ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

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)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
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...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...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
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...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...
 
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...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...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
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...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...
 
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...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...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
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...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...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

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 Application Lucas Jellema CTO, AMIS (The Netherlands) Oracle ACE Director
  • 2. An Event A fact When it becomes a fact Timestamp! Of potential interest to anyone With some information associated with it When the fact is changed, that too may constitute an event Note that even when no change occurs, that could be considered an event (absence of expected event)
  • 3. The Data Avalanche 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, 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 Processing Useful information could be hidden in those streams of events – and CEP extracts it By detecting patterns, deviations, aggregations in these event streams CEP publishes ‘meaningful’ (business) events to report its findings – by executing some Event Processing Langugae events Complex Event Processor
  • 6. Continuous Query Language (CQL) Standard extension/complement to SQL For handling large volumes of continuously arriving events Executing the queries continuously Operates on streams of continually arriving events instead of static relational data sets Events can be enriched with context Results keep being produced as event stream Is used for comparing events of same type, to find Trends and Patterns Exceptions Aggregates Complex Event Processor CQL
  • 7. Example CQL Query Report the average temperature Aggregated over last 60 seconds Reported every 30 seconds Determined per Cluster Temperaturereadings Complex Event Processor Average temperature values (over 60s, per cluster, every 30s)
  • 8. Event Processing Network Adapters – consuming or producing events Channels – carrying specific event types Processors – running CQL
  • 9. Complex Event Processing Alert JMS Dashboard SOA Application DB Data Warehouse WebService File events Complex Event Processor JMS HTTP JMX File DB Event Consumer
  • 10. events events events Java Applications interacting with a complex event processor Complex Event Processor Java application JMS 1 3 2
  • 11. Various CEP offerings available Progress 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) EsperTech JBoss Drools Fusion
  • 12. Oracle CEP 11g Architecturefka BEA WLEVS(erver) Design Time Run Time CEP Visualizer(web console) Other WebApp Eclipse http CEP plugin Web (Bayeux)Server CEP Server DB JMS
  • 14. The EPN source side of things
  • 15. Java Application as Event Consumer events Complex Event Processor Java application JMS
  • 17. Case of Temperature Hospital Temperature sensors Cooling units Maternity Ward and Intensive Care units Fire detection Frequent readings (subsecond) Monitoring for: trends of threshold crossing, fire!, fault detection
  • 18. Demo: Temperature Sensors Application should display a dashboard for temperature sensor readings The user is interested in cluster aggregates , deviations from pre-set values and broken sensors How would a Java Application process thousands of events per second extract and report aggregates detect and report missing values Note: user wants real time updates – but not more frequently than once per minute
  • 19. Technical Layout Temperature Sensors are all over the place Clustered per room or location Temperature Readings arrive over JMS Results are sent through JMS to dashboard JMS queue for temperature aggregates Per cluster, once every 30 seconds JMS queue for failed sensor detection
  • 20. Demo of Temperature Aggregations
  • 21. Event Processor for aggregation Group by Cluster Report once every 30 seconds Over all events in the last 60 seconds
  • 22.
  • 23. 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
  • 24. Demo of Sensor Failure detection
  • 25.
  • 26. Feeding Temperature Aggregate Findings into real time BAM CEP publishes result events on JMS CEP is not aware of Business Activity Monitoring 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
  • 28. Java Application as Event Producer events Complex Event Processor Java application JMS 3
  • 29. Java Application producing the events to process The user interaction with an application produces many events Navigation, Selection, Submission (scroll, expand/collapse, drill down) Most events are not recorded persistently The events can reveal interesting information about the application, the data and the users For example in a web shop The information could be used to improve the effectiveness of the application
  • 30.
  • 34. Super Mario Bros.Search Event ‘mario’ View Event‘Mario Kart’ Buy Event‘Mario Kart’ User interaction events in a WebShop
  • 36. Derive intelligence from WebShop events Actual Metrics: #searches in last 5 minutes, #buyers in the last 24 hours, #search-to-views drilldowns Top 10 search terms (in last [24] hour) Top 10 useless search terms After search on term there is no view event Most Effective search terms Search is followed by (one or more) view events and subsequently a buy event Items frequently viewed but not often bought #buy/#views is ranks low
  • 37. WebShop & CEP WebShop sends JMS events to single queue Whenever a user in a session searches, drills down or buys Type of event, search term or item identifier, session id CEP reads from JMS channel Routes based on event type Processes events using CQL processor Emits derived events to JMS queue WebShop listens to JMS queue Updates application scope ‘top10’ beans Provides dashboard based on ‘top10’ beans Potentially using Server Push (or periodic poll)
  • 38. Webshop feeding into CEP and receiving refined feedback WebShop Top 10 Popular Search Terms Top 10 Useless Search Terms Most Effective Search Terms search view buy
  • 39. Popular useless search terms(missing viewevent following the search)
  • 40. Real Time Event Driven Dashboard in WebShop application
  • 41. Summary Complex Event Processing For analysis of real time, high volume, continuous streams of fine grained, non-persistent events Used for detecting patterns, spotting exceptions, calculating aggregates and tracking trends CEP uses CQL queries to derive information from event streams – continuously, as events continue to arrive Results are published as (higher level) events – often to JMS queues
  • 42. Summary [Java] Applications can have CEP pre-process events to do complex analysis and filtering producing business events that applications can understand Java Applications produce events that CEP can process And possibly feed back into the applications JMS and http are primary communication channels
  • 43. Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact me at:lucas.jellema@amis.nl Note: Chapter 19 in Oracle SOA Suite 11gHandbook describesOracle CEP and BAM

Editor's Notes

  1. Demo in plain SQL: http://technology.amis.nl/blog/3569/simple-event-processing-using-sql-with-analytical-functions-to-detect-traffic-patterns
  2. 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