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
Detect Decide
Respond
Observation
Dissemination
Dynamic Behavior
Active Diagnostics
Predictive Processing
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
• goal: filter, transform and detect patterns
• invoked by requests• operates on states
• 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• Indicate that something
has happened• Producer & consumer• Usually has meaning
outside particular interaction
• Express the wish for something to happen
• Requestor and provider• Has meaning only
within 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
Top Related