eBiz#3: CEP

55
eBiz#3: CEP Yulian Slobodyan, 2012

description

Presentation held on third eBiz series event in L'viv Ukraine. The subject of the event was Complex Event Processing. Presentation covers next items: -- What is Event -- Event Driven Architecture (EDA) -- Complex Event Processing (CEP) overview -- CEP architecture reference -- Event processing agents -- CEP market -- Other CEP and EDA related items

Transcript of eBiz#3: CEP

Page 1: eBiz#3: CEP

eBiz#3: CEP

Yulian Slobodyan, 2012

Page 2: eBiz#3: CEP

Intro: Basics

Page 3: eBiz#3: CEP

Traditional

Page 4: eBiz#3: CEP

Event Driven

Page 5: eBiz#3: CEP

Event

• an occurrence within a particular system or domain

• something that has happened– OR

• is contemplated as having happened

Page 6: eBiz#3: CEP

Situation

• is an event occurrence that might require a reaction

Page 7: eBiz#3: CEP

Definition

Complex event processing, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances.

Page 8: eBiz#3: CEP

Intro: Examples

Page 9: eBiz#3: CEP

Patient Monitoring System

Page 10: eBiz#3: CEP

Luggage Handling System

Page 11: eBiz#3: CEP

Emergency Control System

Page 12: eBiz#3: CEP

Online Trading System

Page 13: eBiz#3: CEP

Manufacturing Management System

Page 14: eBiz#3: CEP

Fraud Detection System

Page 15: eBiz#3: CEP

Application Categories

Detect Decide

Respond

Observation

Dissemination

Dynamic Behavior

Active Diagnostics

Predictive Processing

Page 16: eBiz#3: CEP

Intro: Reasons

Page 17: eBiz#3: CEP

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

Page 18: eBiz#3: CEP

Business

• Effectiveness– TCO– business agility

• Efficiency– high performance requirements– processing complexity

• Build versus Buy

Page 19: eBiz#3: CEP

Intro: Related Concepts

Page 20: eBiz#3: CEP

BPM

• can serve as an event producer• can act as an event consumer• some BPM products embed their own ad hoc

event processing capabilities

Page 21: eBiz#3: CEP

BAM

• typically contain some event processing functionality

• usually lack event pattern detection• usually work in batch mode

Page 22: eBiz#3: CEP

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

Page 23: eBiz#3: CEP

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

Page 24: eBiz#3: CEP

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

Page 25: eBiz#3: CEP

Theory: Basic EDA Principles

Page 26: eBiz#3: CEP

Push vs Pull

Page 27: eBiz#3: CEP

Synchronous Interaction

Page 28: eBiz#3: CEP

Async Interaction

Page 29: eBiz#3: CEP

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

Page 30: eBiz#3: CEP

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

Page 31: eBiz#3: CEP

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

Page 32: eBiz#3: CEP

Exceptions

Page 33: eBiz#3: CEP

Theory: CEP

Page 34: eBiz#3: CEP

Building Blocks

Page 35: eBiz#3: CEP

Sample EPN

Page 36: eBiz#3: CEP

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

Page 37: eBiz#3: CEP

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

Page 38: eBiz#3: CEP

Event Producers

Page 39: eBiz#3: CEP

Event Consumers

Page 40: eBiz#3: CEP

Event Processing Agents

Page 41: eBiz#3: CEP

Filter EPA

Page 42: eBiz#3: CEP

Transformation EPAs

Page 43: eBiz#3: CEP

Event Context Types

Page 44: eBiz#3: CEP

Temporal Contexts

Page 45: eBiz#3: CEP

Spatial Contexts

Page 46: eBiz#3: CEP

Pattern Detection

Page 47: eBiz#3: CEP

Engineering

Page 48: eBiz#3: CEP

Players

Page 49: eBiz#3: CEP

Progress APAMA

Page 50: eBiz#3: CEP

StreamBase

Page 51: eBiz#3: CEP

Microsoft StreamInsight

Page 52: eBiz#3: CEP

JBoss Drools Fusion

Page 53: eBiz#3: CEP

WSO2 CEP

Page 54: eBiz#3: 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

Page 55: eBiz#3: CEP

Demo