SlideShare a Scribd company logo
1 of 55
eBiz#3: CEP
Yulian Slobodyan, 2012
Intro: Basics
Traditional
Event Driven
Event
• an occurrence within a particular system or
domain
• something that has happened
– OR

• is contemplated as having happened
Situation
• is an event occurrence that might require a
reaction
Definition
Complex event processing, is event processing
that combines data from multiple sources to
infer events or patterns that suggest more
complicated circumstances.
Intro: Examples
Patient Monitoring System
Luggage Handling System
Emergency Control System
Online Trading System
Manufacturing Management System
Fraud Detection System
Application Categories
Observation

Predictive
Processing

Disseminati
on
Detect
Decide
Respond

Active
Diagnostics

Dynamic
Behavior
Intro: Reasons
Technical
•
•
•
•
•
•

system is naturally centered on events
reaction to certain situations as they occur
non-invasive extension of existing system
event processing logic separation
large amounts of data (streams)
scalability and fault tolerance benefits
Business
• Effectiveness
– TCO
– business agility

• Efficiency
– high performance requirements
– processing complexity

• Build versus Buy
Intro: Related Concepts
BPM
• can serve as an event producer
• can act as an event consumer
• some BPM products embed their own ad hoc
event processing capabilities
BAM
• typically contain some event processing
functionality
• usually lack event pattern detection
• usually work in batch mode
CEP versus BRMS
• invoked by events
• operates on events

• invoked by requests
• operates on states

• goal: filter, transform
and detect patterns

• goal: infer decision from
a knowledge base
BRMS
• business rules can be used in the routing and
filtering decisions
• event processing functionality can be
expressed in a rules-based programming style
• event or situation can be used to trigger a
BRMS business rule
MOM
• whereas an event instance may be
represented as a message, a message does
not necessarily represent an event
• temporal semantics are not hard requirement
• typically handles each message separately
• usually used to route event messages
between CEP components
Theory: Basic EDA Principles
Push vs Pull
Synchronous Interaction
Async Interaction
Request vs Event
• Express the wish for
something to happen
• Requestor and provider
• Has meaning only
within interaction

• Indicate that something
has happened
• Producer & consumer
• Usually has meaning
outside particular
interaction
DECOUPLING !
• Producer does not depend on a particular
processing or course of action being taken by
and event consumer
• Consumer does not depend on processing
performed by producer, except event itself
Events vs Messages
• event is the entity that records information
about the event occurrence
• message is the mechanism used to exchange
that information
• there are messages that don’t contain
events, and conversely there are events that
aren’t in the form of messages
Exceptions
Theory: CEP
Building Blocks
Sample EPN
Stateless Processing
• An event processing agent is said to be
stateless if the way it processes one event
does not influence the way it processes any
subsequent events.
• Involves
– Translation
– Enrichment
– Projection
Stateful Processing
• An event processing agent is said to be
stateful if the way it processes events is
influenced by more than one input event.
• Implementation
– Event-Driven
– Window-Driven
Event Producers
Event Consumers
Event Processing Agents
Filter EPA
Transformation EPAs
Event Context Types
Temporal Contexts
Spatial Contexts
Pattern Detection
Engineering
Players
Progress APAMA
StreamBase
Microsoft StreamInsight
JBoss Drools Fusion
WSO2 CEP
Industry Trends
•
•
•
•
•
•

narrow to wide
monolithic to diversified
proprietary to standards-based
programming-centered to semi-technical
stand-alone to embedded
reactive to proactive
Demo

More Related Content

Similar to eBiz#3: CEP

Event driven architecture
Event driven architectureEvent driven architecture
Event driven architectureVinod Wilson
 
Service Operation Processes
Service Operation ProcessesService Operation Processes
Service Operation Processesnuwulang
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)WSO2
 
Dream of the (blue) Effective Case Management System
Dream of the (blue) Effective Case Management SystemDream of the (blue) Effective Case Management System
Dream of the (blue) Effective Case Management SystemSalesforce Engineering
 
ITIL-v3-Incident-Management-Process-PPT-RED.pdf
ITIL-v3-Incident-Management-Process-PPT-RED.pdfITIL-v3-Incident-Management-Process-PPT-RED.pdf
ITIL-v3-Incident-Management-Process-PPT-RED.pdfManishKumar526001
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven ArchitecturesAvinash Ramineni
 
Building Event Driven Systems
Building Event Driven SystemsBuilding Event Driven Systems
Building Event Driven SystemsWSO2
 
Cheapest User Stories - The Achilles Heel of Agile
Cheapest User Stories - The Achilles Heel of Agile Cheapest User Stories - The Achilles Heel of Agile
Cheapest User Stories - The Achilles Heel of Agile Anton Oosthuizen
 
Monitoring and Managing Java Applications
Monitoring and Managing Java ApplicationsMonitoring and Managing Java Applications
Monitoring and Managing Java ApplicationsAlois Reitbauer
 
Getting Started with Business Continuity
Getting Started with Business ContinuityGetting Started with Business Continuity
Getting Started with Business ContinuityStephen Cobb
 
RuSIEM overview (english version)
RuSIEM overview (english version)RuSIEM overview (english version)
RuSIEM overview (english version)Olesya Shelestova
 
The elusive root cause
The elusive root causeThe elusive root cause
The elusive root causeneebula
 
Database management system
Database management systemDatabase management system
Database management systemFaizan Shabbir
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013clairvoyantllc
 
FireSIGHT Management Center (FMC) slides
FireSIGHT Management Center (FMC) slidesFireSIGHT Management Center (FMC) slides
FireSIGHT Management Center (FMC) slidesAmy Gerrie
 
Observability – the good, the bad, and the ugly
Observability – the good, the bad, and the uglyObservability – the good, the bad, and the ugly
Observability – the good, the bad, and the uglyTimetrix
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido Schmutz
 
Stream Processing and Complex Event Processing together with Kafka, Flink and...
Stream Processing and Complex Event Processing together with Kafka, Flink and...Stream Processing and Complex Event Processing together with Kafka, Flink and...
Stream Processing and Complex Event Processing together with Kafka, Flink and...HostedbyConfluent
 

Similar to eBiz#3: CEP (20)

ITIL # Lecture 8
ITIL # Lecture 8ITIL # Lecture 8
ITIL # Lecture 8
 
Event driven architecture
Event driven architectureEvent driven architecture
Event driven architecture
 
Service Operation Processes
Service Operation ProcessesService Operation Processes
Service Operation Processes
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Dream of the (blue) Effective Case Management System
Dream of the (blue) Effective Case Management SystemDream of the (blue) Effective Case Management System
Dream of the (blue) Effective Case Management System
 
ITIL-v3-Incident-Management-Process-PPT-RED.pdf
ITIL-v3-Incident-Management-Process-PPT-RED.pdfITIL-v3-Incident-Management-Process-PPT-RED.pdf
ITIL-v3-Incident-Management-Process-PPT-RED.pdf
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven Architectures
 
What to do when get hacked or suffer a cyber breach
What to do when get hacked or suffer a cyber breachWhat to do when get hacked or suffer a cyber breach
What to do when get hacked or suffer a cyber breach
 
Building Event Driven Systems
Building Event Driven SystemsBuilding Event Driven Systems
Building Event Driven Systems
 
Cheapest User Stories - The Achilles Heel of Agile
Cheapest User Stories - The Achilles Heel of Agile Cheapest User Stories - The Achilles Heel of Agile
Cheapest User Stories - The Achilles Heel of Agile
 
Monitoring and Managing Java Applications
Monitoring and Managing Java ApplicationsMonitoring and Managing Java Applications
Monitoring and Managing Java Applications
 
Getting Started with Business Continuity
Getting Started with Business ContinuityGetting Started with Business Continuity
Getting Started with Business Continuity
 
RuSIEM overview (english version)
RuSIEM overview (english version)RuSIEM overview (english version)
RuSIEM overview (english version)
 
The elusive root cause
The elusive root causeThe elusive root cause
The elusive root cause
 
Database management system
Database management systemDatabase management system
Database management system
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013
 
FireSIGHT Management Center (FMC) slides
FireSIGHT Management Center (FMC) slidesFireSIGHT Management Center (FMC) slides
FireSIGHT Management Center (FMC) slides
 
Observability – the good, the bad, and the ugly
Observability – the good, the bad, and the uglyObservability – the good, the bad, and the ugly
Observability – the good, the bad, and the ugly
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soa
 
Stream Processing and Complex Event Processing together with Kafka, Flink and...
Stream Processing and Complex Event Processing together with Kafka, Flink and...Stream Processing and Complex Event Processing together with Kafka, Flink and...
Stream Processing and Complex Event Processing together with Kafka, Flink and...
 

More from Yulian Slobodyan

Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsYulian Slobodyan
 
Security Training: #2 Cryptography Basics
Security Training: #2 Cryptography BasicsSecurity Training: #2 Cryptography Basics
Security Training: #2 Cryptography BasicsYulian Slobodyan
 
StreamInsight Breakthrough
StreamInsight BreakthroughStreamInsight Breakthrough
StreamInsight BreakthroughYulian Slobodyan
 

More from Yulian Slobodyan (6)

Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
IoT, Demystified
IoT, DemystifiedIoT, Demystified
IoT, Demystified
 
Amazon Cloud Overview
Amazon Cloud OverviewAmazon Cloud Overview
Amazon Cloud Overview
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and Tools
 
Security Training: #2 Cryptography Basics
Security Training: #2 Cryptography BasicsSecurity Training: #2 Cryptography Basics
Security Training: #2 Cryptography Basics
 
StreamInsight Breakthrough
StreamInsight BreakthroughStreamInsight Breakthrough
StreamInsight Breakthrough
 

Recently uploaded

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

eBiz#3: CEP

Editor's Notes

  1. In particular there is an orderis completed event which is a combination of two other independent events: coffeeis ready and pastry is heated. The order is completed event is a routineevent for the coffee shop and customers, whereas the robbery is an unexpected event.Both result in reactions from those involved.Some events can be observed very easily, in other cases we need to do some work inorder to detect the event that actually happened
  2. “contemplated as having happened.”It is possible to have events that don’t correspond to actual occurrences. To explainwhat we mean, imagine a fraud detection system being used in a financial institution.Such a system monitors financial transactions and generates events when it suspectsthat a fraud is being conducted. These systems can generate false positives, so furtherinvestigation is usually required before you can be sure whether a fraud has actuallytaken place or not.Samples:
  3. Some events are background noise and do not require any reaction, but some do require reaction, andthose we call situations.One of the main themes in event processing is the detection and reporting of situationsso that they can be reacted to. The reaction might be as simple as picking up thephone or changing the weekly shopping list, or it might be more complicated. If wemiss a flight connection there may be several alternative reactions depending on thetime of the day, the airport where we are stranded, the airline policies, and the numberof other passengers in the same situation.
  4. Patient is hooked up to multiple monitors that perform various measurements.The measurements take the form of events, which are then analyzed by anevent processing system. A physician can configure this system, on a patient-by-patient basis, so that a nurse is alerted if certain combinations of measurements are detectedwithin a certain time period, and so that the physician is alerted if other combinationsoccur. This example demonstrates the use of event processing to allow timelyresponse to emergency situations, or as part of a personalized diagnosis program.
  5. In an airline luggage handling system a radio-frequency identification(RFID) tag is attached to every piece of luggage. RFID readers are located along the luggageroute (the sorting device, the cart going to the aircraft, the aircraft’s unloadingdock, and more). Events from the RFID readers are analyzed to provide exception alerts,such as luggage is on the wrong cart; luggage did not arrive at the aircraft; luggage didnot even arrive at the sorting device; as well as a routine alert when luggage is approachingthe carousel. This example demonstrates the use of event processing for detectingand eliminating errors within an automated processing system. The fact that an eventdid not occur is one of the most common event processing patterns, called the absencepattern, some people refer to it as a “non-event.”
  6. An emergency control system informs and directs first responders andpeople at risk in case of an incident (for example, a fire or the leakage of hazardousmaterials). In this case the event is a report on an incident, and the main focus of thesystem is the dissemination of information: who should be informed about what andat what time, given the nature of the incident.
  7. An online trading system matches buy requests and sell requests in anauction. It needs to maintain fairness practices (for example, first person to make thebid has first chance). In this case the complexity lies in the matching itself. The eventsare the buy and sell requests and the matching process is required to match using patternsthat apply fairness criteria such as priority based on order, matching conditions,and prior information about the level of risk of the buyer and seller based on tradehistory. This example demonstrates the use of event processing to dynamically managebusiness processes.
  8. A manufacturing plant management system diagnoses mechanical failuresbased on observable symptoms. In this case the events are symptoms, describingthings that do not work properly, and the main purpose of the event processing is tofind the root cause of these symptoms. This example demonstrates the use of eventprocessing for problem determination and resolution.
  9. A financial institution wishes to detect frauds or a financial regulatorwishes to catch illegal trading patterns. They collect events from banking or trading systemsand analyze them. Certain patterns of activity might suggest that a person is possibly(but not necessarily) in the process of committing a fraud or other illegal activity.This example demonstrates the use of event processing to detect evolving phenomena.
  10. Observation—Event processing is used to monitor a system or process by lookingfor exceptional behavior and generating alerts when such behavior occurs.In such cases the reaction, if any, is left to the consumers of the alerts; the jobof the event processing application is to produce the alerts only. The patient monitoring system (example 1) comes under this heading, as does the luggage monitoring system (example 2)Information dissemination—Another reason for using event processing is todeliver the right information to the right consumer at the right granularity atthe right time, in other words, personalized information delivery. Examples ofthis type are the emergency system that sends alerts to first responders (example 3).Dynamic operational behavior—Event processing is often used to drive the actionsperformed by a system dynamically so as to react to incoming events. Theonline trading system (example 4) falls into this category. In all these examples the output of the application is directly affected by the input events.Active diagnostics—Here the goal of the event processing application is to diagnosea problem, based on observed symptoms. The mechanical failure case(example 5) is such an example; a help-desk system is another example.Predictive processing—Here the goal is to identify events before they have happened,so that they can be eliminated or their effects mitigated. The frauddetection system (example 6) is of this kind.
  11. Whereas an event instance may be represented as a message, a message doesnot necessarily represent an event. For example, if you send a picture as a messageusing a MOM system, the picture does not necessarily represent an event. Whereas messages in message-oriented middleware can have temporal semantics,such as timestamps, expiry, and ordering, these are not hard requirements.In contrast, temporal properties are fundamental to event processing. MOM typically handles each message separately, whereas event processing usuallyincludes functions that operate on collections of events, for example, aggregationand pattern detection.
  12. In a decoupled system there can be more than one consumer of an event, and theaction taken, if indeed any action is taken at all, can vary significantly between consumers.It can also vary during the lifetime of the application. As an event producerdoes not know what an event consumer is going to do with an event, or even howmany consumers there are, it usually does not make sense for the event producer toexpect a response to its events.
  13. A consumer that is only available occasionally, or is only intermittently connectedto the distribution system (for example, a handheld mobile device) A consumer that wants to regulate its processing of events and have controlover exactly when it receives them A consumer that is physically unable to receive unsolicited incoming events, forexample, a computer system behind a firewall A producer that is unable to distribute events
  14. The event processing agent building block represents a piece of intermediary eventprocessing logic inserted between event producers and event consumers. In contrastto the event producer and event consumer, the event processing agent building blockmodels the behavior of the agents built from it. In a minute we’ll look at the variousdifferent kinds of event processing agents.An event channel’s principal job is to route events between event producers andevent consumers (recall the example of a channel being used in figure 2.4). We lookat channels a bit more when we examine EPNs in the next section.The five building blocks we have mentioned so far should be familiar to youbecause they represent concepts that we have already introduced. We have two furtherbuilding blocks to explain: the context building block and the global state elementbuilding block.A context element collects a set of conditions from various dimensions (temporal,spatial, segmentation-oriented, and state-oriented), giving us a way to categorize eventinstances so that they can be routed to appropriate agent instances. For example, youcan use a segmentation-oriented context to make sure that events relating to differentcustomers are handled by different event processing agent instances. Chapter 7 discussescontexts further.A global stateelement refers to data that is available for use both by event processingagents and by contexts. This data may be system-wide global variables, referencedata used to enrich events, and event stores that hold past events. Chapter 6 discussesglobal state elements further.
  15. EVENT PRODUCER An event producer is an entity at the edge of an event processingsystem that introduces events into the system.EVENT CONSUMER An event consumer is an entity at the edge of an event processingsystem that receives events from the system.EVENT PROCESSING AGENT An event processing agent is a software module thatprocesses events.RAW EVENT A raw event is an event that is introduced into an event processingsystem by an event producer.DERIVED EVENT A derived event is an event that is generated as a result of eventprocessing that takes place inside an event processing system.EVENT PROCESSING NETWORK An event processing network (EPN) is a collectionof event processing agents, producers, consumers, and global state elementsconnected by a collection of channels.Implicit Channels (lines) and Explicit Channels (routing)
  16. Moving up in sophistication, the intermediary processing might involve translating theevents—either to change their representation or to add information to them (enrichment)or remove information from them (projection). The techniques used here are similar to those used in enterprise application integration and can be implementedusing similar approaches and tools.
  17. event-driven approach where the function performedby the agent is defined as an operation on a single event (just as in the statelesscase) but this operation can also read or write items of state data that are associatedwith the agent. This state data is then carried forward from an operationperformed on one event to the operation performed on the next event that isreceived by the agent. Our running total example could be implemented in thismanner. To do so the agent would retain a piece of state data representing thecurrent value of the total. This would be updated each time a new event isreceived, and used when the output event is generated.Some languages, particularly those that emphasize the stream abstraction, havean explicit window concept. In these languages incoming events are gatheredinto a window, and the language defines an operation to be performed on allthe events in that window.
  18.  Surveillance - the monitoring of the behavior, activities, or other changing information, usually of people for the purpose of influencing, managing, directing, or protecting
  19. HVAC (heating, ventilation, and air conditioning)
  20. Filter agents —These are used to eliminate uninteresting events. A Filter agenttakes an incoming event object and applies a test to decide whether to discard it or whether to pass it on for processing by subsequent agents. The Filter agenttest is usually stateless, in other words, a test based solely on the content of theevent instance.Pattern detect agents —These take collections of incoming event objects andexamine them to see if they can spot the occurrence of particular patterns. Forexample, you can use a Pattern detect agent to discard the first two failed logonattempt events, but pass through subsequent ones. Pattern detect agents canemit derived events that describe the pattern that they have detected instead of,or in addition to, passing through the incoming event objects.Translate agent —This takes each incoming event object and operates on it independentlyof preceding or subsequent event objects. It performs a single eventin, single event out kind of operation.Split agent —This takes a single incoming event and emits a stream of multipleevent objects —it performs a single event in, multiple events out operation.Aggregate agent —This takes a stream of incoming event objects and produces anoutput event that is a function of the incoming events. It performs a multipleevents in, one event out operation.Compose agent —This takes two streams of incoming event objects and operateson them to produce a stream of output events. This is similar to the join operatorin relational algebra, except that it joins streams of events rather than tablesof data.
  21. Spatial Relationscontained in, contains,overlaps, disjoint, Equalstouches
  22. Progress Apama uses a rule based approach to processing event streams. Brought into Progress by acquiring the UK company Apama. Apama was one of the first companies that I would like to call a CEP company even though the term CEP was not widely used when they started in 1998. Apama provides a graphical editor to specify the rule logic. Progress Apama is focused mainly on processing financial data streams.
  23. The major difference is the focus on graphically building of the data stream processing logic. The GUI was for long the only way to create logic but have now been complemented with a textual representation (very similar to Coral8)  called StreamSQL. The graphical approach to query building uses the "boxes connected with arrows" style.
  24. Part of SQL ServerCEP applications written in .NETEvents are .NET typesEvents have a period in which they are validUses LINQ for queriesDeploy as DLL or standalone server
  25. Open Source product adding event processing to the Drools rule engine.Features in short as described by JBoss themselves:understand and handle events as first class citizens of the platformselect a set of interesting events in a cloud or stream of eventsdetect the relevant relationships (patterns) among these eventstake appropriate actions based on the patterns detected
  26. Integration with WSO2 ESB.C#bidings, Integration with CassandraOpen source
  27. Narrow to WideThis variety has wide implications to the technology. These implications start with thelanguages; additional use cases result in the extension of event processing languagesto include more primitives. In addition there are architectural implications, drivingthe shift from centralized architectures to distributed architectures and from monolithicto diversified architectures. Generalization can also be a driver for standards.Border security radiation detection------------------------------------- Mobile asset tracking Logistics and scheduling Detecting unauthorized use of heavy machinery Hospital patient and asset tracking Activity monitoring for tax and fraud detection Intelligent customer relationship management in banking Event-driven architecture and asynchronous business process management(BPM) in retail Situation awareness in energy utilities Situation awareness in airlines Reducing cost of injection therapy Next generation navigation Real-time management of hazardous materials Finding anomalies in retail point of sales Monitoring the behavior of the elderlyMonolithic to DiversifiedVariety of function – filtering/trends/statistical/spatialVariety of quality of service (QoS) requirements - one EPA might require its internal state to be fully recoverable, whereas another might not; part of the event processing network may have hard real-time constraints, while the rest of it does not.Variety of platforms - For example, in a radio frequency identification (RFID) application, one of the agents might be embedded inside an RFID reader, while others run on a server.---------------------------This diversity will lead to the development of heterogeneous event processing agentimplementations, and lead to a component-based approach in which an EPN can bebuilt from a collection of EPAs selected from a library of components. Some of thesecomponents are generic and some specific to a particular industry or application andprovided by niche suppliers.Proprietary to Standards basedEvent structure and metadata representationEPA component modelEPA assembly modelEvent distribution standards - WS-Notification and WS-EventingEvent processing specification meta-models – like UML-basedEvent processing language – hard thingProgramming to SemiTechnicalebizQ customer survey – IT Developer:16%, BusinessSpecialist:40%, BusinessAnalyst:44%Standalone to EmbeddedBPM - The combination of event processing and business process management is sometimes called ED-BPM (event-driven business process management). The idea is to use event processing logic to analyze events and detect situations, and the BPM part of the system can then react by triggering a new BPM workflow instance, or by stopping or modifying an existing workflow instance.BAM - Many modern BAM products, therefore, are event driven and embed event processing capabilities.MOM AND ESBSReactive to ProactiveReactive manner, where a system needs to take an action as a result of an event or a series of events that have already happenedProactive computing the emphasis is on detecting undesirable states so that they can be eliminated, or at least mitigated, before they give rise tounwanted (usually negative) consequences. So, it involves other technologies besides event processing, such as predictive analytics