0
epts  event processing technical society                                                          Patterns v2.04b         ...
epts    event processing technical societyAgenda       • EPTS Reference Architecture Introduction       • EP Patterns:    ...
epts              event processing technical society    Introduction to Event Processing                                  ...
epts                 event processing technical societyReference Architecture: Functional View    Definition, Modeling, (c...
epts     event processing technical societyComparison of EPTS RA Fns and EPIA EP Agents           Event Reaction    Assess...
epts    event processing technical societyAgenda       • EP Meta Pattern / Pattern Structure6
epts    event processing technical societyWhat do we want to cover in an EP Pattern?             Type /                   ...
epts    event processing technical societyEP MetaPattern / Pattern Description (version 1)       • Name & Alternative Name...
epts    event processing technical societyEP MetaPattern future versions?       • Name & Alternative Names       • Classif...
epts     event processing technical societyEP Pattern Implementations        • Differ in Implementation type (Event Proces...
eptsevent processing technical society   Implementations:Sampled Systems:   TIBCO BusinessEvents    • TIBCO BusinessEvents...
eptsevent processing technical society   Implementations:Sampled Systems:   TIBCO BusinessEvents (ctd)             Events ...
epts     event processing technical society        Implementations:Sampled Systems:        Oracle Event Processing (former...
epts     event processing technical society        Implementations:Sampled Systems:        Oracle Event Processing (former...
epts     event processing technical society        Implementations:Sampled Systems:        Prova (http://prova.ws)      St...
epts      event processing technical society     Implementations:Sampled Systems:     IBM WODM Decision Server Events     ...
epts       event processing technical society     Implementations:Sampled Systems:     IBM CICS Transaction Server for z/O...
epts     event processing technical society        Implementations:Sampled Systems:        IBM InfoSphere Streams – Stream...
epts     event processing technical societyAgenda        • Functional Reference Architecture-based             EP Patterns19
epts     event processing technical societyPatterns Coverage                                     Event Reaction           ...
epts     event processing technical societyEP Patterns:RA:Preparation                                       Event Preparat...
epts     event processing technical societyRA:Preparation:Identification:                                   Event Preparat...
Event Preparation     epts                                                          Identification, Selection,     event p...
Event Preparation     epts                                                             Identification, Selection,     even...
Event Preparation     epts                                                              Identification, Selection,     eve...
Event Preparation     epts                                                                 Identification, Selection,     ...
Event Preparation     epts                                                                 Identification, Selection,     ...
Event Preparation     epts                                              Identification, Selection,     event processing te...
Event Preparation      epts                                                                  Identification, Selection,   ...
Event Preparation       epts                                                                            Identification, Se...
Event Preparation      epts                                                Identification, Selection,      event processin...
Event Preparation      epts                                                              Identification, Selection,      e...
epts     event processing technical societyRA:Preparation:Selection:                                     Event Preparation...
Event Preparation     epts                                                    Identification, Selection, Filtering,     ev...
Event Preparation     epts                                                     Identification, Selection, Filtering,     e...
Event Preparation     epts                                                         Identification, Selection, Filtering,  ...
Event Preparation     epts                                                           Identification, Selection, Filtering,...
Event Preparation     epts                                               Identification, Selection, Filtering,     event p...
Event Preparation   epts                                                                    Identification, Selection, Fil...
Event Preparation      epts                                                   Identification, Selection, Filtering,      e...
Event Preparation     epts                                            Identification, Selection, Filtering,     event proc...
Event Preparation     epts                                              Identification, Selection, Filtering,     event pr...
Event Preparation     epts                                             Identification, Selection, Filtering,     event pro...
Event Preparation     epts                                                            Identification, Selection, Filtering...
epts     event processing technical societyRA:Preparation:Filter                                     Event Preparation    ...
Event Preparation     epts                                                   Identification, Selection, Filtering,     eve...
Event Preparation     epts                                                       Identification, Selection, Filtering,    ...
Event Preparation     epts                                                          Identification, Selection, Filtering, ...
Event Preparation     epts                                                          Identification, Selection, Filtering, ...
Event Preparation     epts                                           Identification, Selection, Filtering,     event proce...
Event Preparation     epts                                              Identification, Selection, Filtering,     event pr...
Event Preparation     epts                                          Identification, Selection, Filtering,     event proces...
Event Preparation     epts                                        Identification, Selection, Filtering,     event processi...
Event Preparation     epts                                         Identification, Selection, Filtering,     event process...
Event Preparation     epts                                                  Identification, Selection, Filtering,     even...
Event Preparation     epts                                                     Identification, Selection, Filtering,     e...
Event Preparation   epts                                                  Identification, Selection, Filtering,   event pr...
Event Preparation      epts                                                   Identification, Selection, Filtering,      e...
Event Preparation     epts                                          Identification, Selection, Filtering,     event proces...
Event Preparation      epts                                                                        Identification, Selecti...
Event Preparation      epts                                            Identification, Selection, Filtering,      event pr...
Event Preparation       epts                                                                   Identification, Selection, ...
Event Preparation       epts                                                                              Identification, ...
Event Preparation     epts                                                                     Identification, Selection, ...
epts     event processing technical societyRA:Preparation:Monitoring:                                       Event Preparat...
Event Preparation     epts                                                  Identification, Selection, Filtering,     even...
Event Preparation     epts                                                         Identification, Selection, Filtering,  ...
Event Preparation     epts                                                           Identification, Selection, Filtering,...
Event Preparation     epts                                                          Identification, Selection, Filtering, ...
Event Preparation     epts                                       Identification, Selection, Filtering,     event processin...
Event Preparation     epts                                          Identification, Selection, Filtering,     event proces...
Event Preparation      epts                                                                  Identification, Selection, Fi...
Event Preparation      epts                                                   Identification, Selection, Filtering,      e...
Event Preparation      epts                                 Identification, Selection, Filtering,      event processing te...
Event Preparation     epts                                                  Identification, Selection, Filtering,     even...
epts     event processing technical societyRA:Preparation:Enrichment:                                       Event Preparat...
Event Preparation     epts                                                   Identification, Selection, Filtering,     eve...
Event Preparation     epts                                                   Identification, Selection, Filtering,     eve...
Event Preparation     epts                                                    Identification, Selection, Filtering,     ev...
Event Preparation     epts                                                            Identification, Selection, Filtering...
Event Preparation     epts                                               Identification, Selection, Filtering,     event p...
Event Preparation     epts                                         Identification, Selection, Filtering,     event process...
Event Preparation     epts                                                  Identification, Selection, Filtering,     even...
Event Preparation     epts                                            Identification, Selection, Filtering,     event proc...
Event Preparation     epts                                                                         Identification, Selecti...
Event Preparation      epts                                          Identification, Selection, Filtering,      event proc...
Event Preparation      epts                                                           Identification, Selection, Filtering...
Event Preparation     epts                                         Identification, Selection, Filtering,     event process...
Event Preparation      epts                                                 Identification, Selection, Filtering,      eve...
Event Preparation      epts                                              Identification, Selection, Filtering,      event ...
epts     event processing technical societyEP Patterns:RA:Analysis                                         Event Analysis ...
epts     event processing technical societyRA:Analysis:Analytics                                       Event Analysis     ...
Event Analysis     epts                                                     Analytics, Transforms, Tracking,     event pro...
Event Analysis     epts                                                     Analytics, Transforms, Tracking,     event pro...
Event Analysis     epts                                                              Analytics, Transforms, Tracking,     ...
Event Analysis     epts                                                                 Analytics, Transforms, Tracking,  ...
Event Analysis     epts                                                 Analytics, Transforms, Tracking,     event process...
Event Analysis     epts                                                  Analytics, Transforms, Tracking,     event proces...
Event Analysis         epts                                                       Analytics, Transforms, Tracking,        ...
Event Analysis      epts                                           Analytics, Transforms, Tracking,      event processing ...
Event Analysis       epts                                           Analytics, Transforms, Tracking,       event processin...
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b
Upcoming SlideShare
Loading in...5
×

EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b

4,243

Published on

Presentation of functional design patterns for event processing with examples from TIBCO, Oracle, IBM and Prova event processing technologies. Superset of the Tutorial at DEBS2012. Editors Alex Alves, Catherine Moxey

Published in: Technology, Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,243
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
354
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Transcript of "EPTS DEBS2012 Event Processing Reference Architecture - Design Patterns v2_04b"

  1. 1. epts event processing technical society Patterns v2.04b epts event processing technical society Content by: members of the EPTS Reference Architecture Working Group Adrian PaschkeEvent Processing (Freie Universitaet Berlin) Paul VincentReference Architecture (TIBCO Software) Catherine Moxey, Martin Hirzel, Dave Rushall, Richard Jacks (IBM)- Design Patterns Alex Alves (Oracle)
  2. 2. epts event processing technical societyAgenda • EPTS Reference Architecture Introduction • EP Patterns: – EPTS RA patterns – Some Use Cases – EPIA patterns2
  3. 3. epts event processing technical society Introduction to Event Processing Event Processing, Complex Event Processing, Event Stream Processing Event Processing Rules, etc. Event Type Definitions, Event Abstraction, Event Pattern Detection, Event Composition Event Management etc. etc. Events Derived Events Event Producer Event Consumer (Event Source, (Event sink, event Event Emitter) handler, event listener)3 Design time Run time Administration
  4. 4. epts event processing technical societyReference Architecture: Functional View Definition, Modeling, (continuous) Improvement Event Reaction Assessment, Routing, Prediction, Discovery, Learning (Pattern, Control, Rule, Query, RegEx.etc) Event Process Monitoring, Control 0..* State Management Complex Event Detection Event and Complex Event Consolidation, Composition, Aggregation 0..* Event Analysis Analytics, Transforms, Tracking, Scoring, Rating, Classification 0..* Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment 0..* Event Production Event Consumption Publication, Dashboard, Apps, Retrieval External Reaction4 Design time Run time Administration
  5. 5. epts event processing technical societyComparison of EPTS RA Fns and EPIA EP Agents Event Reaction Assessment, Routing, Prediction, Discovery, Learning Complex Event Detection Consolidation, Composition, Aggregation Event Analysis Analytics, Transforms, Tracking, EPA Scoring, Rating, Classification Event Preparation Filter Transformation Pattern detect Identification, Selection, Filtering, Monitoring, Enrichment Translate Aggregate Split Compose Enrich Project5
  6. 6. epts event processing technical societyAgenda • EP Meta Pattern / Pattern Structure6
  7. 7. epts event processing technical societyWhat do we want to cover in an EP Pattern? Type / Operands Operation / synonym Operators Event Filtering: a stream or list of events may be filtered on some payload or metadata information such that some subset is selected for further processing. Rationale / Mapping to business rule EPL template7
  8. 8. epts event processing technical societyEP MetaPattern / Pattern Description (version 1) • Name & Alternative Names • Classification versus other references – EPTS RA and other references e.g. “EP in Action” book • Description – Role, and Business Rule type specification / requirement • Structure – EPTS Glossary terms • Implementations8
  9. 9. epts event processing technical societyEP MetaPattern future versions? • Name & Alternative Names • Classification versus other references – EPTS RA and other references e.g. “EP in Action” book • Description may revise/improve EP Fns classification / ontology – Role, and Business Rule type specification / requirement • Structure compare/extend – EPTS Glossary terms other “event patterns” • Implementations Extend examples pseudocode – real example9
  10. 10. epts event processing technical societyEP Pattern Implementations • Differ in Implementation type (Event Processing Language, Execution semantics, etc) • Sampled systems we cover: 1.TIBCO BusinessEvents Rete-production-rule-engine (with continuous query and event-expression options) 2.Oracle Event Processing Stream-processing engine 3.Prova Logic Programming Semantic CEP Rule Engine 4.IBM Decision Server Events component of WebSphere Operational Decision Management & IBM InfoSphere Streams stream processing engine10
  11. 11. eptsevent processing technical society Implementations:Sampled Systems: TIBCO BusinessEvents • TIBCO BusinessEvents “event server” / event processing engines • Multiple languages / engines in various packaging options – UML-based event and concept (object) class hierarchical models – Java-based language – Eclipse-based IDE • Distributed execution model: – Inference agents, Query agents, Datagrid agents – In-memory, memory+grid, explicit grid operational modes – “Grid Options” of TIBCO ActiveSpaces / Oracle Coherence – eXtreme Event Processing use cases: Fedex, US Govt, … • Transactional model option: – TIBCO AS Transactions – eXtreme Event Processing use cases: Telco • Extensible: eg OWL import, RDF import, etc
  12. 12. eptsevent processing technical society Implementations:Sampled Systems: TIBCO BusinessEvents (ctd) Events Event and Data Structures Information Inference Rules States and Transitions Continuously process events Sets and using procedural Queries Stored and declarative Events and Temporal Data event processing Patterns elements Decision Tablesvia JMS, RV, MQ, Event EventTCP/IP, etc… Processing Storage
  13. 13. epts event processing technical society Implementations:Sampled Systems: Oracle Event Processing (formerly Oracle CEP) • Development platform for event processing applications • Application model based on EPN (event processing network) abstraction running on top of OSGi-based Java container. • Language is an extension of SQL with stream and pattern matching extensions13
  14. 14. epts event processing technical society Implementations:Sampled Systems: Oracle Event Processing (formerly Oracle CEP) • CQL: Continuous Query Language • Leverages SQL, extended with Stream, Pattern-matching, and Java. • Continuous: driven by time, and events • Highly-sophisticated push-down technology to RDBMS, Cache, Hadoop14
  15. 15. epts event processing technical society Implementations:Sampled Systems: Prova (http://prova.ws) Strong Coupling direct API implementation • Java JVM based, open source rule Prova language for reactive agents and event Computer processing • Leverages declarative ISO Prolog standard Loose Coupling Agent / Service Interface extended with (event,message) reaction Message Interchange Prova logic, type systems (Java, Ontologies), Agent Request query built-ins, dynamic Java integration. Rule Service 0.0000 … Consumer • Combines declarative, imperative (object- 0.0000 Response Prova Agent oriented) and functional programming styles Decoupled • Designed to work in distributed Enterprise Prova Event Service Bus and OSGi environments Event Streams Processing (ordered events) Network • Supports strong, loose and decoupled logout new auto pay account login deposit withdrawalnew auto pay Prova Event transfer Prova book logout interaction deposit enquiry account login Agent Agent • Compatible with rule interchange standards Cloud account balance incident request new auto pay account login enquiry enquiry (unordered events) depositwithdrawalnew auto pay such as Reaction RuleML transfer enquiry deposit logout account login Prova activity history Agent Prova15 Agent
  16. 16. epts event processing technical society Implementations:Sampled Systems: IBM WODM Decision Server Events • Decision Server Events component of IBM WebSphere Operational Decision Management (WODM) • Manages business events flowing across systems and people to provide timely insight and responses • Detect, evaluate, and respond to events • Discover event patterns and initiate actions16
  17. 17. epts event processing technical society Implementations:Sampled Systems: IBM CICS Transaction Server for z/OS CICS TS Event Reaction Assessment, Routing, Prediction, Discovery, Learning Complex Event Detection Consolidation, Composition, Aggregation Event Analysis Analytics, Transforms, Tracking, Scoring, Rating, Classification Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Event Production Publication, Retrieva, Event Consumption Identification, Dashboard, Apps, Selection, Filtering, External Reaction Enrichment, Transforms, Routing17
  18. 18. epts event processing technical society Implementations:Sampled Systems: IBM InfoSphere Streams – Stream Processing Language • IBM InfoSphere Streams: platform for analyzing big data in motion i.e. high-volume, continuous data streamsSPL • IBM Streams Processing Language (SPL) – Programming language for InfoSphere Streams – Exposes a simple graph-of-operators view – Provides a powerful code-generation interface to C++ and Java Streams Processing Runtime Tools and Language and IDE Environment Technology Integration Front Office 3.0 Streams Console & Monitoring, Streams Studio Highly Scalable Built-in Stream Relational Analytics, Eclipse IDE for SPL stream processing runtime Adapters, Toolkits18
  19. 19. epts event processing technical societyAgenda • Functional Reference Architecture-based EP Patterns19
  20. 20. epts event processing technical societyPatterns Coverage Event Reaction Assessment, Routing, Prediction, Discovery, Learning State Management 0..* Complex Event Detection Consolidation, Composition, Aggregation 0..* Event Analysis Analytics, Transforms, Tracking, Scoring, Rating, Classification 0..* Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment 0..* Event Production Event Consumption Application Time Dashboard, Apps, Publication, Retrieval External Reaction20
  21. 21. epts event processing technical societyEP Patterns:RA:Preparation Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Event preparation is the process of preparing the event and associated payload and metadata for further stages of event processing. For example, event preparation may involve the separation and discarding of unused event payload data, and the reformatting of that payload data for downstream event processing.21
  22. 22. epts event processing technical societyRA:Preparation:Identification: Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Identification: incoming events identified relative to prior events and event types – E.g. associating a SMS event with particular mobile phone account – E.g. recognizing an event from data (event entity recognition, extraction) and identifying an event to be of a particular event type22
  23. 23. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Classification • Alternative Names: – Event Lookup, Event Entity Recognition, Event Extraction • EPTS Reference Architecture: – “Incoming events will need to be identified relative to prior events and event types, such as associating events with particular sources or sensors or recognizing / extracting events from data relative to event type information (event type systems, event ontologies)" • EPIA: – Transform, Translate, Enrich / Project23
  24. 24. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Description • Role / Explanation – Associating an event with some existing entity (data or past event, event type) • Associated Business Rule Specification – a selection (to be enforced during the processing of events): All <event entities> whose <attribute1> matches the <attribute2> of <some other event or data or type> is related by <relationship> to that <some other event or data or type>. Other data or event or type Identification known event event24 f(event)
  25. 25. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Structure • EPTS Glossary comparison – Event type (event class, event definition, or event schema) • A class of event objects. • Event types should be defined within some type definition system ... will usually specify certain predefined data (attributes), examples of which might be: – A unique event identifier used to reference the event25
  26. 26. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Implementations • TIBCO, Prova, Oracle and IBM implementations for this pattern Other data or event Identification known event f(event) event26
  27. 27. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Implementations:TIBCO BusinessEvents: Rules • General pattern: Entity <declare> event, data community event <if> event-data-match Identify association <then> create-event- association-with-data Add association • Effect: find appropriate data that to event matches the incoming event* and create a reference between Event the event and the data * note: event object = concept: input events are immutable**27 ** note: except in PreProcessor 
  28. 28. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Implementations:Oracle EP: queries • General pattern: event SELECT <property> FROM <SOURCE> SOURCE WHERE <predicate-condition> event • Effect: matches events coming from Event-type <SOURCE> with pre-defined event-type28
  29. 29. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Implementations:ProvaSemantic Identification• General pattern: <rcvMsg / rcvMult> Event ^^ Semantic Type :- Semantic Knowledge Base Event Semantic Semantic Identification Data f(event) event• Effect: find appropriate event entity type that matches the incoming event data and create a reference between the event and the event type (from the semantic knowledge), so that the syntactic (event) data becomes a (semantic) event, which has relations with the semantic background knowledge base29
  30. 30. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, Enrichment Preparation:Semantic Identification:Prova Semantic Rules Event Stream {(Name, “OPEL”)(Price, 45)(Volume, 2000)(Time, 1) } {(Name, “SAP”)(Price, 65)(Volume, 1000) (Time, 2)} rcvMult(SID,stream,“S&P500“, inform, tick(Name^^car:Major_corporation,P^^currency:Dollar, T^^time:Timepoint)) :- …<further processing of semantic event>. Identify event and associate with semantic background knowledge {(OPEL, is_a, car_manufacturer), (car_manufacturer, build, Cars), (Cars, are_build_from, Metall), Semantic (OPEL, hat_production_facilities_in, Germany),Knowledge Base (Germany, is_in, Europe) (OPEL, is_a, Major_corporation), (Major_corporation, have, over_10,000_employees)} 30
  31. 31. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, EnrichmentPreparation:Identification:Implementations:IBM WODM Decision Server Events• Example: event rule relates to ‘new purchase order’ events, and the events are processed in the context of the customer number • Effect: presence of ‘new purchase order’ in the rule identifies that event type, and the events are processed in the context of the customer number field – the events of interest could be said to be identified by ‘new purchase order’ type and customer number, or the latter could be regarded as selection31
  32. 32. Event Preparation epts Identification, Selection, event processing technical society Filtering, Monitoring, Enrichment Preparation:Identification:Implementations: IBM InfoSphere Streams (SPL)• Example:type Kind = enum { knownKind1, knownKind2, knownKind3 };/*...*/stream<rstring key, int32 payload> Events = PrepId_EventsSource() {}stream<rstring key, Kind kind> Mappings = PrepId_MappingsSource() {}stream<Kind kind, int32 payload> KnownEvents = Custom(Events; Mappings) { logic state: mutable map<rstring, Kind> _keyToKind = {}; onTuple Events: if (key in _keyToKind) submit({ kind=_keyToKind[key], payload=payload }, KnownEvents); onTuple Mappings: _keyToKind[key] = kind;} stream Events Custom Known function Events Mapping stream Filter to map Event Identified 32 key to known kind known events
  33. 33. epts event processing technical societyRA:Preparation:Selection: Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Selection: particular events selected for further analysis or pattern matching – E.g. Selecting the n’th event as a part of a sampling function – E.g. Selecting events related to some existing event to allow enrichment of that existing event33
  34. 34. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Classification • Alternative Names: – Event Query – See also Event Filtering and Event Identification • EPTS Reference Architecture: – “During event preparation, particular events may be selected for further analysis. Different parts of event processing may require different selections of events. See also event filtering. " • EPIA: – Filter34
  35. 35. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Description • Role / Explanation – Selecting or locating an event due to some criteria or rules • Associated Business Rule Specification – a selection (to be enforced during the processing of events): All <event entities> whose <attribute1> matches the <attribute2> of <some other event or data> is selected for <processing>. Other data or event Selection selected event35 f(event) event
  36. 36. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Structure • EPTS Glossary comparison – Event type (event class, event definition, or event schema) • A class of event objects. • Event types should be defined within some type definition system ... will usually specify certain predefined data (attributes), examples of which might be: – A unique event identifier used to reference the event36
  37. 37. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Implementations • TIBCO, Prova, Oracle and IBM implementations for this pattern Other data or event Selection selected event f(event) event37
  38. 38. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Implementations:TIBCO BusinessEvents: Rules • General pattern: Entity <declare> event, data community event <if> event-data-match Compare event vs selection <then> process-event criteria • Effect: filter event per selection criteria Event (Note: action may be to mark event as selected)38
  39. 39. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Selection:Implementations:Prova• General pattern: <rcvMsg / rcvMult> (CID,Protocol, Agent,Performativ,Event|Context) :- <selection_processing> Event. Existing Event, Data, Guards, Rules Event Selected Compare Event vs. Selection selection criteria f(message(event)) Event Event ((Events, Data, Guards)• Effect: select event according to message context (conversation id, protocol, agent, pragmatic performativ, event context) (see also monitoring) and further process selected events, e.g. comparing them against existing events, data, guards, rules, 39 39 selection functions
  40. 40. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Selection:Implementations:Prova Messaging Reaction Rules in Prova• Send a messagesendMsg(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive a messagercvMsg(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive multiple messagesrcvMult(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)Selection according to: – CID is the conversation identifier – Protocol: protocol e.g. self, jms, esb etc. – Agent: denotes the target or sender of the message – Performative: pragmatic context, e.g. FIPA ACL – [Predicate|Args]|Context or Predicate(Arg1,..,Argn): Event40
  41. 41. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Selection:Implementations:Prova Example % Select stock ticker events from stream "S&P500" % Each received event starts a new subconversation (CID) which further processes the selected event (select) rcvMult(CID,stream,“S&P500“, inform, tick(S,P,T)) :- select(CID,tick(S,P,T)). % Indefinitely (count=-1) receive further ticker events from other streams that follow the previous selected event in event processing group (group=g1). If the price differs for the same stock at the same time [T1=T2, P1!=P2] then … select(CID,tick(S,P1,T1)) :- @group(g1) @count(-1) rcvMsg(CID,stream, StreamID ,inform, tick(S,P2,T2)) [T1=T2, P1!=P2] %guard: if at same time but different price, println (["Suspicious:",StreamID, tick(S,P2,T2)]," ").41
  42. 42. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Implementations:Oracle EP: queries • General pattern: event SELECT <property> FROM <SOURCE> select WHERE <predicate-condition> event • Effect: select certain properties of events Event from <SOURCE> properties42
  43. 43. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Implementations:IBM WODM Decision Server Events • Uses ‘business objects’ to select properties of incoming events that will be used when events are processed • Business Objects allow for a level of indirection between incoming events and specifications made by the business about how to respond to events • Mapped via the Event Designer tool43
  44. 44. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Selection:Implementations:IBM InfoSphere Streams (SPL)• Example: type Kind = enum { knownKind1, knownKind2, knownKind3 }; /*...*/ stream<int32 payload> Selected = Functor(KnownEvents) { param filter : kind == knownKind1; } stream<int32 payload> ProcessedEvents = PrepSel_Process(Selected) {} event selected stream Functor events Select events Known Kind 1 of which match Events known events44 known kind
  45. 45. epts event processing technical societyRA:Preparation:Filter Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Filter: filter out all events that have some property in their payload / data – E.g. customer purchases: filter out those with values < $10045
  46. 46. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Classification • EPTS Reference Architecture: – "During event preparation, a stream or list of events may be filtered on some payload or metadata information such that some subset is selected for further processing." • EPIA: – Filter (EPA or Event Processing Agent) performs filtering only and has no matching or derivation steps, so it does not transform the input event.46
  47. 47. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Description • Role / Explanation – Comparing some property of the event (an attribute or metadata) with some other value (from some other event, or data) • Associated Business Rule Specification – As a constraint: a selection (to be enforced during the processing of events): All <event entities> that have Filter <filter expression> event event f(event) must have <some status>. discarded event47
  48. 48. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Structure • EPTS Glossary comparison – A filter pattern can relate to several terms in the EPTS Glossary • can be specified in an event pattern (A template containing event templates, relational operators and variables...) • .. by an event pattern constraint (A Boolean condition that must be satisfied by the events observed in a system...) • .. as part of an event processing rule (A prescribed method for processing events.) • .. or as part of event stream processing (Computing on inputs that are event streams.) –48
  49. 49. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations • TIBCO, Oracle, Prova and IBM implementations for this pattern Filter event event f(event) discarded event49
  50. 50. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:TIBCO BusinessEvents: rules • General pattern: <declare> event event <if> event-boolean-expression Filter f(event) <then> update-event-with-fact event OR action-for-filtered-event Operation on • Effect: ignore filtered events event on operations on non-filtered events50
  51. 51. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:TIBCO BusinessEvents: event removal rules • Implementation type: Rete-based rule-driven system • Alternate pattern: <declare> event event <if> NOT Filter NOT event-boolean-expression !f(event) <then> consume-event event • Effect: removed filtered events from system (and ALL subsequent operations!)51
  52. 52. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:TIBCO BusinessEvents: State transitions • General pattern: <state models for concept C> event <route from State n to n+1> <on> event Filter <where> event-filter query(event) • Effect: change state for some concept State transition • Notes: this is a specialisation of the general rule pattern!52
  53. 53. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:TIBCO BusinessEvents: Queries • General pattern: <select> output event <from> event <where> event-filter Filter query(event) <policy> notification Policy Event event subset • Effect: collect filtered events for event operations per some policy Operations on event subset • Note: the pattern matching framework on policy event has a similar notion53 but a different surface syntax
  54. 54. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:Oracle EP: queries • General pattern: event SELECT <property> FROM <SOURCE> predicate WHERE <predicate-condition> event • Effect: discard events whose predicate Operation on evaluate to false event54
  55. 55. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:Oracle EP: model • Scenario: – Select only stocks from the stock tick stream whose symbols are ‘AAA’. • Application Model55
  56. 56. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:Oracle EP: query Specify STREAM source SELECT * FROM StockTickStream Define predicate for WHERE symbol = ‘AAA’ filtering56
  57. 57. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:Prova: rules• Implementation type: backward reasoning logical filter• General pattern template: <rcvMsg / rcvMult> Event :- event … event logical filter condition(s), ... . Event pattern + logical derivation rule 1 :- logical rule filter filter conditions. Backward logical derivation rule 2 :- Resoning Rule event filter conditions. chaning ...• Effect: Unify received events with Operation on event pattern definition and apply logical event57 filter rules (derivation rules with rule chaining)
  58. 58. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: Prova: Messaging Reaction Rules in Prova• Send a messagesendMsg(XID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive a messagercvMsg(XID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive multiple messagesrcvMult(XID,Protocol,Agent,Performative,[Predicate|Args]|Context)Description: – XID is the conversation identifier – Protocol: protocol e.g. self, jms, esb etc. – Agent: denotes the target or sender of the message – Performative: pragmatic context, e.g. FIPA Agent Communication – [Predicate|Args] or Predicate(Arg1,..,Argn): Message payload58
  59. 59. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: Prova: Example % Filter for stocks starting with „A“ and price > 100 rcvMult(SID,stream,“S&P500“, inform, tick(S,P,T)) :- S = "A.*", P > 100, sendMsg(SID2,esb,"epa1", inform, happens(tick(S,P),T).Example with rule chaining % Filter for stocks starting with „A“ and price > 100 rcvMult(SID,stream,“S&P500“, inform, tick(S,P,T)) :- filter(S,P), sendMsg(SID2,esb,"epa1", inform, happens(tick(S,P),T). filter(Symbol,Price) :- Price > 100, Symbol = "A.*".59
  60. 60. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: Prova: Semantic Event Processing Example Semantic Query Filer: Stocks of companies, which have production facilities in Europe and produce products out of metal and Have more than 10,000 employees. Event Stream {(Name, “OPEL”)(Price, 45)(Volume, 2000)(Time, 1) } {(Name, “SAP”)(Price, 65)(Volume, 1000) (Time, 2)} {(OPEL, is_a, car_manufacturer), (car_manufacturer, build, Cars), (Cars, are_build_from, Metall), Semantic (OPEL, hat_production_facilities_in, Germany),Knowledge Base (Germany, is_in, Europe) (OPEL, is_a, Major_corporation), (Major_corporation, have, over_10,000_employees)} rcvMult(SID,stream,“S&P500“, inform, tick(Name^^car:Major_corporation,P^^currency:Dollar, T^^time:Timepoint)) :- … <semantic filter inference> . 60
  61. 61. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: IBM WODM Decision Server Events • Example: event event Define a filter to only process events with a purchase value greater than £100 Filter event • Effect: Only process purchase events which match the filter, taking the action to Action send a discount voucher event61
  62. 62. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: IBM CICS Transaction Server for z/OS application event capture (1) • Example: Define a filter to only produce events for banking transactions with event event a value greater than $5000 Filter event Operation on event • Effect: Only produce events which match the filtering predicates62
  63. 63. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Filter:Implementations: IBM CICS Transaction Server for z/OS application event capture (2) Details <eventCaptureSpecification> <name>LargeCashDepositCS</name> <eventIdentifier>LargeCashDeposit</eventIdentifier> <description>Capture details for event when large cash deposit is made</description> <filter> <contextFilter> . . . </contextFilter> <locationFilter filterType="PROGRAM_INIT"> <programInit> <PROGRAM filterValue="CPPEPM22" filterOperator="EQ" keyword="PROGRAM"/> <CHANNEL filterValue="" filterOperator="OFF" keyword="CHANNEL"/> </programInit> </locationFilter> <dataFilter> <filterItem> <dataFilter filterValue="5000" filterOperator="GT" languageStructureFilename="" languageStructureName="" languageVariableName="" dataPrecision="0" dataType="PACKED" length="8" offset="5" container="APP&quot;PX22" source="CHANNEL"/> </filterItem> </dataFilter> </filter> <dataCapture> . . . </dataCapture> </eventCaptureSpecification>63
  64. 64. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Filter:Implementations:IBM InfoSphere Streams (SPL)• Example: stream<rstring name, uint32 age> People = PrepFil_Source() {} stream<rstring name, uint32 age> YoungPeople = Filter(People) { param filter : age < 30u; } event event stream Filter stream Filter age < 30 People Young People event stream64 Un-Young People
  65. 65. epts event processing technical societyRA:Preparation:Monitoring: Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Monitoring: particular event channels are monitored to identify events of interest – E.g. Selecting a particular channel and event selector in some middleware subscription65
  66. 66. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Classification • Alternative Names: – Event Subscribe – See also Event Selection • EPTS Reference Architecture: – “During event preparation, particular types of events may be monitored for selection for further processing. This may utilise specific mechanisms external to the event processing such as exploiting event production features." • EPIA: – Filter66
  67. 67. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Description • Role / Explanation – Directing an external agent to select events – Applying some monitor function over some event channel • Associated Business Rule Specification – a monitor (of an event source): All <event entities> whose <attribute1> matches the <attribute2> of <some monitoring criteria> is selected for <processing>. Monitor criteria Monitor monitored event event67 f(event)
  68. 68. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Structure • EPTS Glossary comparison – (Example mechanism): Publish-and-subscribe (pub-sub) • A method of communication in which messages are delivered according to subscriptions . • Note 1. Subscriptions define which messages should flow to which consumers. • Note 2. Event processing applications may use publish-and - subscribe communication for delivering events. However, publish - and - subscribe is not definitional to event processing – other communication styles may be used. – Subscriber • An agent that submits a subscription for publish- and – subscribe communication.68
  69. 69. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations • TIBCO, Prova, Oracle and IBM implementations for this pattern Monitor criteria Monitor monitored event event f(event)69
  70. 70. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations:TIBCO BusinessEvents: Event Destination • General pattern: Entity <define> channel, channel destination, event Channel Destination • Effect: subscribe to events on this channel per this destination (Note: part of Event definition) Event70
  71. 71. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations:Oracle EP: Event Destination • General pattern: Entity <channel> channel <name>dest1</name> Channel <selector>query1</selector> Selector </channel> Event • Effect: subscribe to events on this channel per selected queries.71
  72. 72. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations:Prova: Selection• General pattern: <rcvMsg / rcvMult> (CID,Protocol, Agent,Performativ,Event|Context) :- <selection_processing> Event . Event Monitor + Selection Selected f(message(event)) Event Event• Effect: monitor message channels and select (see also Selection Pattern) events according to message context (conversation id, protocol, agent, pragmatic performativ, event72 context);72
  73. 73. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Monitoring:Implementations: Prova: Messaging Reaction Rules in Prova• Send a messagesendMsg(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive a messagercvMsg(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)• Receive multiple messagesrcvMult(CID,Protocol,Agent,Performative,[Predicate|Args]|Context)Selection according to: – CID is the conversation identifier – Protocol: protocol e.g. self, jms, esb etc. – Agent: denotes the target or sender of the message – Performative: pragmatic context, e.g. FIPA ACL – [Predicate|Args]|Context or Predicate(Arg1,..,Argn): Event73
  74. 74. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations:IBM WODM Decision Server Events • Example: Use an event connector that subscribes for aircraft arrivals from a JMS topic• Effect: A message selector is used to limit which messages will trigger events, and an XSL stylesheet is used to transform the message text into an event packet.74
  75. 75. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Monitoring:Implementations:IBM InfoSphere Streams (SPL)• Example: type BargainType = rstring symbol, float32 price; /* in exporting application */ () as ExportTech = Export(TechSectorBargains) { param properties : { kind = "bargains", category = "tech" }; } /* in importing application */ stream<BargainType> TechBargains = Import() { param subscription : kind == "bargains" && category == "tech"; }• Effect: Stream of bargains in tech sector is sent (exported) from current application, making it available to another application which imports the stream to monitor bargains in various sectors75
  76. 76. epts event processing technical societyRA:Preparation:Enrichment: Event Preparation Identification, Selection, Filtering, Monitoring, Enrichment Enrichment: add some information based on prior events – E.g. customer purchase: add the customer history to the purchase event – E.g. enrich the event with semantic background knowledge76
  77. 77. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Classification • Alternative Names: – Event Annotation, Semantic Event • EPTS Reference Architecture: – "During event preparation, events may be "enriched" through knowledge gained through previous events or data (including semantic background knowledge). " • EPIA: – Enrich (EPA): a translate EPA that takes a single input event, uses it to query data from a global state element, and creates a derived event which includes the attributes from the original event, possibly with modified values...77
  78. 78. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Description • Role / Explanation – Updating some attribute or metadata of the event with some other values, possibly computed, from some other event or data • Associated Business Rule Specification – a selection (to be enforced during the processing of events): All <event entities> that are also <enriched data expression> Other data must have <some status>. or event Enrichment event event f(event)78
  79. 79. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Structure • EPTS Glossary comparison – Enrichment can be specified in an event pattern (pattern definition containing additional meta data, semantic knowledge) – .. as part of an event processing rule (A method for enriching events during processing, e.g., by analysing the meta data and querying external data sources or inferencing semantic knowledge bases) – .. or as part of event stream processing (additional additional information to event stream data, e.g. by querying external data sources)79
  80. 80. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations • TIBCO, Oracle, Prova and IBM implementations for this pattern Other data or event Enrichment event event f(event)80
  81. 81. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations:TIBCO BusinessEvents: Rules • General pattern: Enrich <declare> event, data data event <if> event-data-match Identify enrichment data <then> update-event-with-data Enrich Operation • Effect: find appropriate data for on event events and apply enrichment operations on them* Event81 * note: event object: events cannot be modified
  82. 82. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: OracleEP: queries • General pattern template: event SELECT <property> FROM <STREAM>[WIN],<RELATION> join-condition WHERE <join-condition> event • Effect: enrich events from stream with contextual data from relation where condition applies. Operation on event82
  83. 83. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: OracleEP: model • Scenario: – For every stock event from stock tick stream whose bid is greater than 5.0, find its company’s location. • Application Model83
  84. 84. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: OracleEP: queries No need for window SELECT event.symbol, location operator on a ‘relation’ FROM StockTickStream [NOW] AS event, StockTable AS data WHERE event.symbol = data.symbol AND event.lastBid > 5.084
  85. 85. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: OracleEP: table metaphor StockTable Symbol Full-name Location AAA The AAA company San Francisco BBB The BBB company San Jose Time Input (StockTickStream) Output (QUERY) 1 {“AAA”, 10.0, 10.5} {“AAA”, “San…”} 2 {“BBB”, 11.0, 12.5} {“BBB”, “San Jose”} 3 {“AAA”, 4.0, 4.5}85
  86. 86. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: Prova:rules• General pattern template: rcvMsg / rcvMult <Event Msg Pattern(s)> :- event <query built-in(s)>, <enrichment condition(s)> External ... . Query data <logical enrichment rule 1> :- <enrichment operations>. Enrichment rules• Effect: query data or knowledge from event* external source and enrich the event with it Operation on enriched event86
  87. 87. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, EnrichmentPreparation:Enrichment:Implementations: Prova:External Data and Object Integration• Java ..., L=java.util.ArrayList(),, ..., java.lang.String(“Hello”)• File Input / Output ..., fopen(File,Reader), ...• XML (DOM) document(DomTree,DocumentReader) :- XML(DocumenReader),• SQL …,sql_select(DB,cla,[pdb_id,“1alx“],[px,Domain]).• RDF ...,rdf(http://...,"rdfs",Subject,"rdf_type","gene1_Gene"),• XQuery ..., XQuery = for $name in StatisticsURL//Author[0]/@name/text() return $name, xquery_select(XQuery,name(ExpertName)),• SPARQL ...,sparql_select(SparqlQuery,name(Name),class(Class),87 definition(Def)),
  88. 88. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Enrichment:Implementations: Prova: Example with SPARQL Query% Filter for car manufacturer stocks and enrich the stock tick event with data from Wikipedia (DBPedia) about the manufacturer and the luxury carsrcvMult(SID,stream,“S&P500“, inform, tick(S,P,T)) :- carManufacturer(S,Man), % filter car manufacturers findall([luxuryCar|Data],luxuryCar(Man,Name,Car),Data), % query EnrichedData = [S,Data], % enrich with additional data sendMsg(SID2,esb,"epa1", inform, happens(tick(EnrichedData,P),T).% rule implementing the query on DBPedia using SPARQL queryluxuryCar(Manufacturer,Name,Car) :- Query="SELECT ?manufacturer ?name ?car % SPARQL RDF Query WHERE {?car <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:Luxury_vehicles> . ?car foaf:name ?name . ?car dbo:manufacturer ?man . ?man foaf:name ?manufacturer. } ORDER by ?manufacturer ?name“,sparql_select(Query,manufacturer(Manufacturer),name(Name),car(Car)).88
  89. 89. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Enrichment:Implementations: IBM WODM Decision Server Events • Example: Define a Mapped Key expression, where a event field in the event is used to look up objects in a database table Mapped Key look up Enriched event • Effect: Required enrichment data is obtained from the data base and added to the event89
  90. 90. Event Preparation epts Identification, Selection, Filtering, event processing technical society Monitoring, Enrichment Preparation:Enrichment:Implementations: IBM InfoSphere Streams (SPL)• Example:/* VWAP = volume-weighted average price */stream<rstring sym, float32 vwap> Vwaps = PrepEnr_VwapsSource() {}stream<rstring sym, float32 price> Trades = PrepEnr_TradesSource() {}stream<rstring sym, float32 vwap, float32 price> E = Join(Vwaps; Trades) { window Vwaps : sliding, count(0); Trades : sliding, count(100), count(1), partitioned; param equalityLHS : Vwaps.sym; equalityRHS : Trades.sym; partitionByRHS : Trades.sym;} stream Trades Enriched Trades Join enriched with Stream VWAPs stream VWAPs 90
  91. 91. epts event processing technical societyEP Patterns:RA:Analysis Event Analysis Analytics, Transforms, Tracking, Scoring, Rating, Classification Event Analysis is the process of analysing suitably prepared events and their payloads and metadata for useful information. For example, event analysis may involve the identification of events against existing entities.91
  92. 92. epts event processing technical societyRA:Analysis:Analytics Event Analysis Analytics, Transforms, Tracking, Scoring, Rating, Classification Analytics: use of mathematical methods like statistics to derive additional information about an event or set of events – E.g. standard deviation of the response time of a system, used to give a quantitative comparison of current with past performance of a system92
  93. 93. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Classification • Alternative Names: – Event Statistics • EPTS Reference Architecture: – “Event Analytics are the use of statistical methods to derive additional information about an event or set of events.” • EPIA: – Aggregate (EPA): a transformation EPA that takes as input a collection of events and creates a single derived event by applying a function over the input events.93
  94. 94. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Description • Role / Explanation – Analytics is where multiple data items (in a single event, or more commonly across multiple events), are analysed mathematically to define some additional information – For example: an average or mean value of event data can be used to compare against subsequent events to indicate some trend (see Learning) • Associated Business Rule Specification – an event analytics (event processing) process: The <analytic fact> is provided by <analytic function> applied to <events> Analytics event info event f(events)94 event
  95. 95. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Structure • EPTS Glossary comparison – Cause: An event A is a cause of another event B, if A had to happen in order for B to happen. – Event abstraction: The relationship between a complex event and the other events that it denotes, summarizes, or otherwise represents. – Derived event (synthesized event, synthetic event): An event that is generated as a result of applying a method or process to one or more other events. – Relationships between events: Events are related by time, causality, abstraction, and other relationships. Time and causality impose partial orderings upon events. – Event pattern: A template containing event templates, relational operators and variables. – Constraint (event pattern constraint): A Boolean condition that must95 be satisfied by the events observed in a system.
  96. 96. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations • TIBCO, Prova, Oracle, IBM implementations for this pattern past event data Analytics event info f(events,data)96
  97. 97. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations:TIBCO BusinessEvents: Rules • General pattern: <declare> event, past data event historic-event-object <if> Statistical event-matches-statistical- operation requirement or process <then> apply-update-function for Information event, historical-event-object • Effect: event-driven statistic function (eg update of mean for a given event type or other condition)97
  98. 98. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations:Prova: Rules • General pattern: event (past) data rcvMsg / rcvMult <Event Msg Pattern(s)> :- <query (past) data>, <analytics functions(s) with data> Analytics ... . function(s) <analytics rule 1> :- <Java call to analytics API>, Information <or Prova functional programming>. • Effect: event-driven statistic function (eg update of mean for a given event type or other condition)98
  99. 99. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations:Prova: Java Programming and Functional Programming Prova Dynamic Java Programming • Ability to embed Java calls … :- X = java.lang.Math.abs(2.99), X+1, … • Java constructors, object instance + methods and static methods, and public field access; (+ Java exception handling) Prova Functional Programming • single‐ and multi‐valued functions, • functional composition with the extended derive built‐in; • partial evaluation; • lambda functions; • monadic functions; • monadic bind using a composition of map and join; • maybe, list, state, tree and fact monads99
  100. 100. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations:Oracle EP: queries • General pattern: event SELECT analytical- function(<property>) analytics FROM <SOURCE> WHERE <predicate-condition> info • Effect: performs analytical function on selected properties, such as std-dev, regressions, etc.100
  101. 101. Event Analysis epts Analytics, Transforms, Tracking, event processing technical society Scoring, Rating, ClassificationAnalysis:Analytics:Implementations:IBM WODM Decision Server Events • General Pattern: Filters in Decision Server Events allow analytic expressions to be applied101
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×