This is a blog describing some thoughts about issues related to event processing and thoughts related to my current role. It is written by Opher Etzion and reflects the author's own opinions
Thursday, February 25, 2010
On spatial relations between events and entities
Wednesday, February 24, 2010
Event Processing in Action -- Updated Table of Contents
Event Processing in Action
Preface
Part 1: The Basics
1. 1. Entering the world of event processing
1.1 Event-driven behavior and event-driven computing
1.1.1 What do we mean by events?
1.1.2 Event-driven behavior in daily life
1.1.3 Some examples of computerized event processing
1.1.4 Reasons for using event processing
1.2 Introduction to event processing
1.2.1 What do we mean by event processing?
1.2.2 Event processing and its relationship to the real world
1.2.3 Reasons for using event processing
1.3 Business value of an event processing platform
1.3.1 Effectiveness issues
1.3.2 Efficiency issues
1.3.3 When is it appropriate to use dedicated event processing software?
1.4 Event processing and its connection to related concepts
1.4.1 Event-driven business process management
1.4.2 Business Activity Monitoring (BAM)
1.4.3 Business Intelligence (BI)
1.4.4 Business Rules Management Systems (BRMS)
1.4.5 Network and system management
1.4.6 Message oriented middleware (MOM)
1.4.7 Stream computing
1.5 Fast Flower Delivery: an example that accompanies this book
1.5.1 General description
1.5.2 Skeleton specification
1.6 Utilizing this book’s website
1.7 Summary
2. 2. Principles of event processing
2.1 Events and event-based programming
2.1.1 The background: request-response interactions
2.1.2 Events and the principle of decoupling
2.1.3 Push-style event interactions
2.1.4 Channel-based event distribution
2.1.5 Using request-response interactions to distribute events
2.1.6 Event processing and service oriented architecture
2.2 The main concepts of event processing
2.2.1 Event processing architecture
2.2.2 Event processing networks
2.2.3 Types of intermediary event processing
2.3 Modeling event processing networks
2.3.1 What is a building block?
2.3.2 What information is contained in a definition element?
2.3.3 The seven fundamental building blocks
2.3.4 The event processing agent building blocks
2.4 Summary
Part 2: The Building Blocks
3. Defining the events
3.1 Event types
3.1.1 The logical structure of an event
3.1.2 The event type building block
3.1.3 Event type description attributes
3.2 Header attributes
3.3 Payload attributes
3.3.1 Data types
3.3.2 Attributes with semantic roles
3.3.3 Payload example
3.4 Relations between event types
3.5 Events in the Fast Flower Delivery example
3.5.1 Header attributes
3.5.2 Event type definition elements
3.5.3 Event instance example
3.6 Event representation in practice
3.6.1 Event structure
3.6.2 Defining event types in current event processing platforms
3.6.3 Standards for interchanging event types and event instances
3.7 Summary
4. Producing the events
4.1 Event producer: concept and definition element
4.1.1 The event producer definition element
4.1.2 Event producer details
4.1.3 Output terminal details
4.1.4 Producer relationships
4.2 The various kinds of event producer
4.2.1 Hardware event producers
4.2.2 Software event producers
4.2.3 Human interaction
4.3 Interfacing with an event producer
4.3.1 Interaction patterns
4.3.2 Queriable event producers
4.3.3 Interfacing mechanisms
4.4 Producers in the Fast Flower Delivery application
4.4.1 The four event producers
4.5 Summary
5. Consuming the events
5.1 Event consumer: concept and definition element
5.1.1 Event consumer definition element
5.1.2 Event consumer details
5.1.3 Input terminal details
5.1.4 Consumer relationships
5.2 The various kinds of event consumer
5.2.1 Hardware event consumers
5.2.2 Human interaction
5.2.3 Software event consumers
5.3 Interacting with event consumers
5.3.1 Interaction patterns
5.3.2 Interfacing mechanisms
5.4 Consumers in the Fast Flower Delivery example
5.4.1 The three event consumers
5.5 Summary
6. The event processing network
6.1 Event processing networks
6.1.1 The event processing network and its notation
6.1.2 Nested event processing networks
6.1.3 Implementation perspective
6.1.4 Benefits of an event processing network model
6.2 Event processing agents
6.2.1 The functions of an event processing agent
6.2.2 Types of event processing agent
6.2.3 The filter event processing agent
6.2.4 The transformation event processing agent
6.2.5 The pattern detect event processing agent
6.2.6 The event processing agent definition element
6.2.7 Event processing agents in the Fast Flower Delivery application
6.3 Event channels
6.3.1 The event channel notion
6.3.2 Routing schemes
6.3.3 Channels in the Fast Flower Delivery application
6.4 Global state elements
6.5 Event processing networks in practice
6.6 Summary
7. Putting events in context
7.1 The notion of context and its definition element
7.2 Temporal context
7.2.1 Fixed interval
7.2.2 Event interval
7.2.3 Sliding fixed interval
7.2.4 Sliding event interval
7.3 Spatial context
7.3.1 Fixed location
7.3.2 Entity distance location
7.3.3 Event distance location
7.4 State oriented context
7.5 Segmented oriented context
7.6 Context initiator policies
7.7 Composite contexts
7.7.1 The notion of composite context
7.7.2 Priority ordering in context composition
7.8 Contexts in the Fast Flower Delivery example
7.9 Context definitions in practice
7.10 Summary
8. Filtering and transformation
8.1 Filtering in the event processing network
8.1.1 Filtering on an input terminal
8.1.2 Filtering in an event processing agent
8.1.3 Filtering and event processing contexts
8.2 Transformation in depth
8.2.1 Project, translate, and enrich
8.2.2
8.2.3 Aggregate
8.2.4 Compose
8.2.5 Header attributes and validation
8.3 Examples in the Fast Flower Delivery application
8.4 Filtering and transformation in practice
8.5 Summary
9. Detecting event patterns
9.1 Introduction to event patterns
9.1.1 The pattern matching process
9.1.2 Pattern definitions
9.1.3 Event pattern categories and types
9.2 Basic patterns
9.2.1 Logical operator patterns
9.2.2 Threshold patterns
9.2.3 Subset selection patterns
9.2.4 Modal patterns
9.3 Dimensional patterns
9.3.1 The sequence pattern
9.3.2 Trend pattern
9.3.3 Spatial patterns
9.3.4 Spatiotemporal patterns
9.4 Pattern policies
9.4.1 Repeated type policies
9.4.2 Order policies
9.4.3 Cardinality policies
9.4.4 Consumption policies
9.5 Patterns reference table
9.6 The Fast Flower Delivery patterns
9.7 Pattern detection in practice
9.8 Summary
Part 3: The pragmatics
10. Engineering and implementation considerations
10.1 Event processing programming in practice
10.1.1 Stream oriented programming style
10.1.2 Rule oriented languages
10.1.3 Development environments
10.2 Non-functional properties
10.2.1 Scalability
10.2.2 Availability
10.2.3 Security
10.3 Performance objectives
10.4 Optimization types
10.4.1 EPA assignment optimizations
10.4.2 EPA code optimizations
10.4.3 Execution optimizations
10.5 Event processing validation and auditing
10.5.1 Static analysis of event processing networks
10.5.2 Dynamic analysis of event processing networks
10.5.3 Event processing auditing
10.6 Summary
11. Today’s event processing challenges
11.1 The temporal semantics of event processing
11.2 Inexact event processing
11.2.1 Uncertain events and inexact event content
11.2.2 Inexact matching between events and situations
11.2.3 Handling inexact event processing
11.3 Retraction and causality
11.3.1 Event retraction
11.3.2 Event causality
11.4 Summary
12. Emerging directions of event processing
12.1 Event processing trends
12.1.1 Going from narrow to wide
12.1.2 Going from monolithic to diversified
12.1.3 Going from proprietary to standards-based
12.1.4 Going from programming-centered to semi-technical centered
12.1.5 Going from reactive to proactive
12.2 Future directions in event processing technology
12.2.1 Event processing virtual platforms
12.2.2 Event processing optimization
12.2.3 Event processing software engineering
12.2.4 Intelligent event processing
12.3 Epilogue to the book
Appendix A: Definitions
Appendix B: The Fast Flower Delivery Example