SlideShare a Scribd company logo
Complex Event Processing Quoi, Pourquoi, Comment? Fabien Coppens Alexandre Vasseur ©OCTO Technology – Université d’été du Système d’information
Objectives Understand what Complex Event Processing (CEP) is Where does CEP fit in SOA/EDA/BAM/BI/RDBMS Learn about CEP use cases Discover CEP adoption paths
Speaker Qualifications Fabien Coppens Senior Architect CEP user Alexandre Vasseur Middleware technology evangelist Esper co-lead & early CEP fan
The « Right-Time » Enterprise Business is data-driven More data, more sources More complex situational scenarios Right-time is A business imperative A technology challenge Strong coupling! Request/Response!  Data stored and later analyzed Moving requirements Situation Action/Decision Events Time Push Loosely coupled Time & Event-Driven
« By 2011, a new generation of application platforms stemming from the  convergence  of extreme transaction processing (XTP) technologies will  supersede   Java   EE  and  .NET  as the platform of choice for large-scale, business-critical  operational applications .“  Gartner, July 2007 SOA + EDA + XTP + Edge + BAM/BI Convergence:  Event Processing Financial Services Fraud detection RFID BAM &  monitoring Sensors Location/presence based services Security Large scale SOAs Right-Time + Events
Event Processing Simple, Streaming, Complex / Business EP Simple Route, Filter, Enrich Streaming min,max,avg Sliding data windows Complex / Business Many streams Causality A followed by B   within t minutes Different rates Historical data and real time data Consumer/Producer, JMS, ESBs, EIP Stateless & Timeless How? « Event Stream Processing » Statefu-less / Timefu-less How?? Continuous joins and indexing Time as first class citizen Temporal requests Statefull / Timefull When  [CEP] then […]
CEP’s Friends Edge Produce zillions of events SOA Interconnect, mediate, leverage and reuse XTP Scale throughput and data volumes as required Right-time down to sub-millisecond where needed BAM & BI (or back to SOA) Operational applications CEP Situational & Actionable Awareness Rules engine When  [CEP] then […] If  … then […]
CEP ~ Database 2.0 ? RDBMS Store data (a lot) Handle queries SQL (ie abstracted) Request/Response Concept of Time Right time CEP Store rules Handle data EPL: Event Processing Language Subscribe/Notify Time & causality « Continuous query » SQL Queries CEP Server EPL Queries CEP Database
Event Processing Language & CEP Server EPL: For right-time events, what SQL is to historical data Best practices, rapid prototyping, tooling, less custom code CEP server: Middleware to deal with recurrent complexity indexing, state management, scalability, management, connectivity etc ? CEP Application Source + CEP as EPL + Sink Is EPL expressive enough (build vs buy) Is EPL a standard (vs SQL) Is it a specialized RDBMS or a true engine? Does it require a RDBMS? Manageable? Scalable Interoperate? Time  & Causality Filter, Aggregate Sliding windows Continuous execution State management, threading Transports In & Out Interrop. Dashboards High Availability Runtime Management Record / Replay / Test
#1: Algorithmic trading Volume Weighted Average select  ticker,  avg (price),  count (*),  sum (price) from  MarketData(ticker=‘GOOG'). win:length (1000) Example CEP server performance figures 1 CEP server, Java based, TCP in/out 1000 CEP statements 500 000 evt/s  [100 Mbit/s] Latency: avg 2.5 µ s, 99% < 10 µ s 4 core 2GHz, 65% load avg Simple Event Processing Stream Processing (Timefull)
#1: Build vs Buy? MarketData(GOOG, 50) MarketData(MSFT, 25) MarketData(GOOG, 30) MarketData(GOOG, 40) Avg price / last 2 ticks, per ticker GOOG:40 GOOG:35 Receive market data Output / trigger actions Functional specification? Abstraction for user defined rules? Performance & monitoring etc?  list = new MyList(GOOG,2)  /*2 = size*/ // on event list.add(tick) // some tick discarded // as list size was // harcoded with size 2 //TODO: do not hardcode // recompute avg //TODO: optimize this send computeAvg(list)
#2: Fraud and compliance, risk management Context FX trading Event { Trade direction, amount, user id, account, currencies traded } 200 000 evt/day, 50 rules, ~5% of triggering Two (or more) buy trades  followed by (  )  a sale within the next hour between 2 parties select  e1, e2, final  from  pattern  [ every  e1=FXTrade(userId  in  (100,101))    (e2=FXTrade(userId  in  (100,101), dir = e1.dir) where  timer:within (8  hours ) )    final=FXTrade(userId  in  (100,101), dir != e1.dir) where   timer:within (1  hour )  ]
#3: Location based services Context: Mobile asset management (Command & Control systems) Tracking delay between real time position and planned position 20% time left to reach destination, 10% delta from planned position Continuous join with reference (passive) data select  id, lat, lon, time-ref.time, Utils.distance (lat,lon,ref.lat,ref.lon) as distance from  GPSPosition, sql:RefDB   [ select  lat, lon, time  from  Plan where  id={id}  and  stage=‘JFK’ ]   as  ref where  time<0.8*ref.time  and Utils.distance(lat,lon,ref.lat,ref.lon)>1.1*SPEED*(0.8*ref.time-time)
#4: Trading as SaaS : Strateer Algo trading as SaaS CEP is a core enabler Users can configure their own trading strategies ~20 CEP rules templates provided Each configurable by end users Power users can create their own rules Esper CEP + JMS + MarketData connectors + RIA
#4: Strateer use case Strateer is algorithmic trading for individual investors 1. Drag & Drop your own automated strategy 2. Test it the way fund managers do 3. Then run it on Strateer: 1000s of data sources, real-time engine. 4. Get trading alerts to you anytime, anywhere. 5. Share and compare results with community
#4: Strateer architecture
Solutions (excerpt) Single use case platform (trading, compliance, BI ..) xxx Event Processing Mandates a DB? Latency / Throughput Of the shelf? Proven / Innovating Maturity Cost (Buy + Learn + Operate) Event Processing = Middleware x = Simple / Stream / Complex / Rules In-memory vs hidden DB vs DB 1 to 1000 if not more range Interoperate? Open platform? … … … ?
Adoption: Risks & Benefits ? “ CEP is mature?  CEP is really not ESP?  CEP is really event-driven SOA?  CEP is really real-time BI?  CEP is really low latency, high throughput, white-box COTs algo trading?  CEP is really not a type of BPM?  CEP is not really for detecting complex events?  Complex does not really  mean complex?”  [as seen on blogs] Use case driven Build vs Buy SOA/BI/BAM related  Orthogonal processing (discover & monitor)   vs path critical processing (act upon)
Links http://esper.codehaus.org http://www.espertech.com http://complexevents.com And many other googling around or asking your favorite vendors (!)

More Related Content

PPT
Complex Event Processing with Esper
PPTX
Processing Flows of Information DEBS 2011
PPT
Complex Event Processing
PPTX
Complex Event Processing - A brief overview
PDF
Complex Event Processing with Esper
PPT
Complex Event Processing
PDF
CEP: from Esper back to Akka
PDF
Semantic Complex Event Processing
Complex Event Processing with Esper
Processing Flows of Information DEBS 2011
Complex Event Processing
Complex Event Processing - A brief overview
Complex Event Processing with Esper
Complex Event Processing
CEP: from Esper back to Akka
Semantic Complex Event Processing

What's hot (20)

PDF
Complex Event Processing with Esper
PDF
Applying complex event processing (2010-10-11)
PPTX
ICTER 2014 Invited Talk: Large Scale Data Processing in the Real World: from ...
PDF
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
PPTX
Introduction to WSO2 Data Analytics Platform
PDF
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
PDF
Spark Summit - Stratio Streaming
PPTX
Using Apache Pulsar to Provide Real-Time IoT Analytics on the Edge
PPTX
WSO2 Big Data Platform and Applications
PDF
DEBS 2015 Tutorial : Patterns for Realtime Streaming Analytics
PPTX
Tuning Java Servers
PDF
AI-Powered Streaming Analytics for Real-Time Customer Experience
PPT
Scalable Realtime Analytics with declarative SQL like Complex Event Processin...
PPTX
View, Act, and React: Shaping Business Activity with Analytics, BigData Queri...
PPT
Introduction to Large Scale Data Analysis with WSO2 Analytics Platform
PDF
Streamlio and IoT analytics with Apache Pulsar
PPTX
Big Data Day LA 2016/ Data Science Track - Decision Making and Lambda Archite...
PDF
Big Data Day LA 2016/ Data Science Track - Enabling Cross-Screen Advertising ...
PPTX
S4: Distributed Stream Computing Platform
PDF
Attacking Machine Learning used in AntiVirus with Reinforcement by Rubén Mart...
Complex Event Processing with Esper
Applying complex event processing (2010-10-11)
ICTER 2014 Invited Talk: Large Scale Data Processing in the Real World: from ...
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
Introduction to WSO2 Data Analytics Platform
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
Spark Summit - Stratio Streaming
Using Apache Pulsar to Provide Real-Time IoT Analytics on the Edge
WSO2 Big Data Platform and Applications
DEBS 2015 Tutorial : Patterns for Realtime Streaming Analytics
Tuning Java Servers
AI-Powered Streaming Analytics for Real-Time Customer Experience
Scalable Realtime Analytics with declarative SQL like Complex Event Processin...
View, Act, and React: Shaping Business Activity with Analytics, BigData Queri...
Introduction to Large Scale Data Analysis with WSO2 Analytics Platform
Streamlio and IoT analytics with Apache Pulsar
Big Data Day LA 2016/ Data Science Track - Decision Making and Lambda Archite...
Big Data Day LA 2016/ Data Science Track - Enabling Cross-Screen Advertising ...
S4: Distributed Stream Computing Platform
Attacking Machine Learning used in AntiVirus with Reinforcement by Rubén Mart...
Ad

Viewers also liked (20)

PDF
Complex Event Processing in Practice at jDays 2012
PPTX
Siddhi: A Second Look at Complex Event Processing Implementations
PPT
Mythbusters: Event Stream Processing v. Complex Event Processing
PPT
Complex Event Processing (CEP) for Next-Generation Security Event Management,...
PDF
CEP Overview v1 2 for public use
PDF
Semantic Complex Event Processing at Sem Tech 2010
PPTX
Developing Distributed Web Applications, Where does REST fit in?
PDF
Esper - CEP Engine
PDF
Dynamic Complex Event Processing for Hybrid Telecommunication Networks and Sm...
PDF
Semantic Complex Event Processing with Reaction RuleML 1.0 and Prova 3.0
PDF
Complex Event Processing: What?, Why?, How?
PDF
Sybase Complex Event Processing
PPT
Optimizing Your SOA with Event Processing
PPTX
TIBCO Business Events Training
PPT
Combating Fraud and Intrusion Threats with Event Processing
PDF
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
PDF
EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning
PDF
GeoDjango: Putting Django on the Map
PDF
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
PPTX
Tackling variety in event based systems
Complex Event Processing in Practice at jDays 2012
Siddhi: A Second Look at Complex Event Processing Implementations
Mythbusters: Event Stream Processing v. Complex Event Processing
Complex Event Processing (CEP) for Next-Generation Security Event Management,...
CEP Overview v1 2 for public use
Semantic Complex Event Processing at Sem Tech 2010
Developing Distributed Web Applications, Where does REST fit in?
Esper - CEP Engine
Dynamic Complex Event Processing for Hybrid Telecommunication Networks and Sm...
Semantic Complex Event Processing with Reaction RuleML 1.0 and Prova 3.0
Complex Event Processing: What?, Why?, How?
Sybase Complex Event Processing
Optimizing Your SOA with Event Processing
TIBCO Business Events Training
Combating Fraud and Intrusion Threats with Event Processing
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning
GeoDjango: Putting Django on the Map
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Tackling variety in event based systems
Ad

Similar to Complex Event Processing: What?, Why?, How? (20)

PPTX
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
PPTX
Microsoft SQL Server - StreamInsight Overview Presentation
PDF
Observability foundations in dynamically evolving architectures
PDF
Intelligent Monitoring
PPTX
Big data in Private Banking
PPTX
The End of a Myth: Ultra-Scalable Transactional Management
PDF
Complex event processing platform handling millions of users - Krzysztof Zarz...
PDF
Enterprise Data Lakes
PPTX
Develop in ludicrous mode with azure serverless
PPTX
[DSC Europe 23] Pramod Immaneni - Real-time analytics at IoT scale
PPTX
Why and how to engage a Complex Event Processor from a Java Web Application
PDF
Monitoring your Python with Prometheus (Python Ireland April 2015)
PDF
Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...
PDF
Solving Cybersecurity at Scale
PPT
Event Driven Architecture (EDA), November 2, 2006
PDF
Develop Future Proof IoT: Composable Semantics, Security, FuSa, and QoS
PDF
Enabling a Real-Time, Agile, Event-Driven Enterprise
PDF
Streamsheets and Apache Kafka – Interactively build real-time Dashboards and ...
PPT
Overview Of Parallel Development - Ericnel
PDF
Next generation business automation with the red hat decision manager and red...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Microsoft SQL Server - StreamInsight Overview Presentation
Observability foundations in dynamically evolving architectures
Intelligent Monitoring
Big data in Private Banking
The End of a Myth: Ultra-Scalable Transactional Management
Complex event processing platform handling millions of users - Krzysztof Zarz...
Enterprise Data Lakes
Develop in ludicrous mode with azure serverless
[DSC Europe 23] Pramod Immaneni - Real-time analytics at IoT scale
Why and how to engage a Complex Event Processor from a Java Web Application
Monitoring your Python with Prometheus (Python Ireland April 2015)
Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...
Solving Cybersecurity at Scale
Event Driven Architecture (EDA), November 2, 2006
Develop Future Proof IoT: Composable Semantics, Security, FuSa, and QoS
Enabling a Real-Time, Agile, Event-Driven Enterprise
Streamsheets and Apache Kafka – Interactively build real-time Dashboards and ...
Overview Of Parallel Development - Ericnel
Next generation business automation with the red hat decision manager and red...

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
MIND Revenue Release Quarter 2 2025 Press Release
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Complex Event Processing: What?, Why?, How?

  • 1. Complex Event Processing Quoi, Pourquoi, Comment? Fabien Coppens Alexandre Vasseur ©OCTO Technology – Université d’été du Système d’information
  • 2. Objectives Understand what Complex Event Processing (CEP) is Where does CEP fit in SOA/EDA/BAM/BI/RDBMS Learn about CEP use cases Discover CEP adoption paths
  • 3. Speaker Qualifications Fabien Coppens Senior Architect CEP user Alexandre Vasseur Middleware technology evangelist Esper co-lead & early CEP fan
  • 4. The « Right-Time » Enterprise Business is data-driven More data, more sources More complex situational scenarios Right-time is A business imperative A technology challenge Strong coupling! Request/Response! Data stored and later analyzed Moving requirements Situation Action/Decision Events Time Push Loosely coupled Time & Event-Driven
  • 5. « By 2011, a new generation of application platforms stemming from the convergence of extreme transaction processing (XTP) technologies will supersede Java EE and .NET as the platform of choice for large-scale, business-critical operational applications .“ Gartner, July 2007 SOA + EDA + XTP + Edge + BAM/BI Convergence: Event Processing Financial Services Fraud detection RFID BAM & monitoring Sensors Location/presence based services Security Large scale SOAs Right-Time + Events
  • 6. Event Processing Simple, Streaming, Complex / Business EP Simple Route, Filter, Enrich Streaming min,max,avg Sliding data windows Complex / Business Many streams Causality A followed by B within t minutes Different rates Historical data and real time data Consumer/Producer, JMS, ESBs, EIP Stateless & Timeless How? « Event Stream Processing » Statefu-less / Timefu-less How?? Continuous joins and indexing Time as first class citizen Temporal requests Statefull / Timefull When [CEP] then […]
  • 7. CEP’s Friends Edge Produce zillions of events SOA Interconnect, mediate, leverage and reuse XTP Scale throughput and data volumes as required Right-time down to sub-millisecond where needed BAM & BI (or back to SOA) Operational applications CEP Situational & Actionable Awareness Rules engine When [CEP] then […] If … then […]
  • 8. CEP ~ Database 2.0 ? RDBMS Store data (a lot) Handle queries SQL (ie abstracted) Request/Response Concept of Time Right time CEP Store rules Handle data EPL: Event Processing Language Subscribe/Notify Time & causality « Continuous query » SQL Queries CEP Server EPL Queries CEP Database
  • 9. Event Processing Language & CEP Server EPL: For right-time events, what SQL is to historical data Best practices, rapid prototyping, tooling, less custom code CEP server: Middleware to deal with recurrent complexity indexing, state management, scalability, management, connectivity etc ? CEP Application Source + CEP as EPL + Sink Is EPL expressive enough (build vs buy) Is EPL a standard (vs SQL) Is it a specialized RDBMS or a true engine? Does it require a RDBMS? Manageable? Scalable Interoperate? Time & Causality Filter, Aggregate Sliding windows Continuous execution State management, threading Transports In & Out Interrop. Dashboards High Availability Runtime Management Record / Replay / Test
  • 10. #1: Algorithmic trading Volume Weighted Average select ticker, avg (price), count (*), sum (price) from MarketData(ticker=‘GOOG'). win:length (1000) Example CEP server performance figures 1 CEP server, Java based, TCP in/out 1000 CEP statements 500 000 evt/s [100 Mbit/s] Latency: avg 2.5 µ s, 99% < 10 µ s 4 core 2GHz, 65% load avg Simple Event Processing Stream Processing (Timefull)
  • 11. #1: Build vs Buy? MarketData(GOOG, 50) MarketData(MSFT, 25) MarketData(GOOG, 30) MarketData(GOOG, 40) Avg price / last 2 ticks, per ticker GOOG:40 GOOG:35 Receive market data Output / trigger actions Functional specification? Abstraction for user defined rules? Performance & monitoring etc? list = new MyList(GOOG,2) /*2 = size*/ // on event list.add(tick) // some tick discarded // as list size was // harcoded with size 2 //TODO: do not hardcode // recompute avg //TODO: optimize this send computeAvg(list)
  • 12. #2: Fraud and compliance, risk management Context FX trading Event { Trade direction, amount, user id, account, currencies traded } 200 000 evt/day, 50 rules, ~5% of triggering Two (or more) buy trades followed by (  ) a sale within the next hour between 2 parties select e1, e2, final from pattern [ every e1=FXTrade(userId in (100,101))  (e2=FXTrade(userId in (100,101), dir = e1.dir) where timer:within (8 hours ) )  final=FXTrade(userId in (100,101), dir != e1.dir) where timer:within (1 hour ) ]
  • 13. #3: Location based services Context: Mobile asset management (Command & Control systems) Tracking delay between real time position and planned position 20% time left to reach destination, 10% delta from planned position Continuous join with reference (passive) data select id, lat, lon, time-ref.time, Utils.distance (lat,lon,ref.lat,ref.lon) as distance from GPSPosition, sql:RefDB [ select lat, lon, time from Plan where id={id} and stage=‘JFK’ ] as ref where time<0.8*ref.time and Utils.distance(lat,lon,ref.lat,ref.lon)>1.1*SPEED*(0.8*ref.time-time)
  • 14. #4: Trading as SaaS : Strateer Algo trading as SaaS CEP is a core enabler Users can configure their own trading strategies ~20 CEP rules templates provided Each configurable by end users Power users can create their own rules Esper CEP + JMS + MarketData connectors + RIA
  • 15. #4: Strateer use case Strateer is algorithmic trading for individual investors 1. Drag & Drop your own automated strategy 2. Test it the way fund managers do 3. Then run it on Strateer: 1000s of data sources, real-time engine. 4. Get trading alerts to you anytime, anywhere. 5. Share and compare results with community
  • 17. Solutions (excerpt) Single use case platform (trading, compliance, BI ..) xxx Event Processing Mandates a DB? Latency / Throughput Of the shelf? Proven / Innovating Maturity Cost (Buy + Learn + Operate) Event Processing = Middleware x = Simple / Stream / Complex / Rules In-memory vs hidden DB vs DB 1 to 1000 if not more range Interoperate? Open platform? … … … ?
  • 18. Adoption: Risks & Benefits ? “ CEP is mature? CEP is really not ESP? CEP is really event-driven SOA? CEP is really real-time BI? CEP is really low latency, high throughput, white-box COTs algo trading? CEP is really not a type of BPM? CEP is not really for detecting complex events? Complex does not really mean complex?” [as seen on blogs] Use case driven Build vs Buy SOA/BI/BAM related Orthogonal processing (discover & monitor) vs path critical processing (act upon)
  • 19. Links http://esper.codehaus.org http://www.espertech.com http://complexevents.com And many other googling around or asking your favorite vendors (!)