SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
"Complex-event processing is simple in principle but hard to do well in practice. This guide presents the principles and motivations for those new to the subject. More importantly, it details the entire thought-landscape of a complete implementation, using TIBCO products as the background. Well worth the read for anyone who is thinking of implementing a complex-event solution. Those who have already implemented one should read it as well, both for another perspective and for a view of the capabilities of the TIBCO products.”
—Lloyd Fischer, Senior Software Architect, WellCare Health Plans
“This complete guide drives you through the specifics of complex-event processing (CEP) design concepts. The book covers all the fundamental aspects and design phases relevant for any TIBCO CEP project implementation, from design through performance-tuning and deployment. I would highly recommend this book to any reader interested in CEP concepts, although a small amount of TIBCO technology knowledge will let you appreciate it more.”
—Antonio Bruno, Infrastructure Account Manager, UBS AG
The architecture series from TIBCO® Press comprises a coordinated set of titles for software architects and developers, showing how to combine TIBCO components to design and build real-world solutions.
Complex-event processing is required when multiple events occurring throughout an organization must be sensed, analyzed, prioritized, and acted on in real time. Architecting Complex-Event Processing Solutions with TIBCO® shows how to design and architect complex-event processing systems, addressing all their complexities and achieving maximum efficiency and effectiveness, while delivering superior business value.
After reading this book, you will be able to
Architecting Complex-Event Processing Solutions with TIBCO® is intended for working architects, designers, and developers who want to apply TIBCO products in complex-event processing applications. It is also required reading for anyone seeking TIBCO Certified Architect status.
Preface xvii
Acknowledgments xxiii
About the Author xxv
Part I: Getting Started 1
Chapter 1: The Event-Enabled Enterprise 3
Objectives 3
Extreme Value 3
Sense, Analyze, and Respond 5
Innovation in Sensing, Analyzing, and Responding 6
The Event-Enabled Enterprise 9
Summary 10
Chapter 2: Concepts 11
Objectives 11
Overview 11
Events 12
Complex Events 16
Complex-Event Processing (CEP) 17
Event Correlation 20
Context 21
Analysis Requires Context 23
Selecting an Analytical Approach 25
Responding to Events 26
Event-Driven Processes 28
Event-Enabled Enterprise Capabilities 31
Summary 32
Chapter 3: CEP Solution Design Patterns 35
Objectives 35
Variability in CEP Architectures 36
Condition Detection 39
Situation Recognition 41
Track and Trace 42
Business Process Timeliness Monitor 44
Situational Response 45
Decision as a Service 46
Orchestrated Response 48
Pioneering Solutions 50
Summary 51
Part II: Technology 53
Chapter 4: TIBCO BusinessEvents® 55
Objectives 55
TIBCO BusinessEvents® Product Suite 55
TIBCO BusinessEvents® Solution Deployment 62
BusinessEvents Solution Life Cycle 65
Summary 67
Chapter 5: Inference Agents 69
Objectives 69
Inference Agent Overview 70
Events, Concepts, and Scorecards 70
Rules 77
Run-to-Completion (RTC) Behavior 79
Rule Conditions and Rete Network Efficiency 83
Completing the Inference Agent: Preprocessing and Postprocessing 87
Preprocessing Behavior 91
Postprocessing Behavior 93
State Models 98
Summary 100
Chapter 6: Cache Agents 103
Objectives 103
The Need for a Cache 103
The Cache and Cache Agents 104
Object Management Modes 104
Object Locking 109
Cache Object Replication 110
Object Persistence 111
Summary 113
Chapter 7: Query Agents 115
Objectives 115
Snapshot Queries 115
Continuous Queries 121
Summary 126
Chapter 8: Process Agents 127
Objectives 127
Intended Utilization 127
Processes 130
Behavior 130
Deployment 132
Summary 133
Chapter 9: Dashboard Agents 135
Objectives 135
Dashboard Configuration 135
Behavior 136
Metrics 136
Dashboard 137
Deployment 139
Summary 139
Part III: Design Patterns 141
Chapter 10: Solution Basics 143
Objectives 143
Recognizing a Situation Change 143
Reference-Data Comparison Pattern 144
Systems of Record for Reference Data 145
Reference-Data Change Coordination Patterns 147
State Machine Change Recognition Pattern 149
Continuous Query Change Recognition Pattern 151
Handling Duplicate Events 151
Enabling Run-Time Rule Changes 154
Sequential and Conditional Action Performance 157
Logging and Exception Reporting 160
Naming Guidelines 160
Summary 161
Chapter 11: Event Pattern Recognition 163
Objectives 163
The Need for Event Pattern Recognition 163
Event Stream Processing Pattern Language 166
Using a Pattern 166
Liveness Monitoring 168
Summary 169
Chapter 12: Integration 171
Objectives 171
Interacting with TIBCO ActiveMatrix BusinessWorks™ 172
TIBCO BusinessEvents® as a Service Provider 174
TIBCO BusinessEvents® as an Asynchronous Service Consumer 175
TIBCO BusinessEvents® as a Synchronous Service Consumer 178
Interacting with Databases 180
Database Concepts and Memory Management 181
Database Query 181
Database Update and Delete 182
Inference Agent Publication 183
Inference Agent Request-Reply 183
Inference Agent Subscription 184
Summary 185
Chapter 13: Solution Modularization Patterns 187
Objectives 187
Partitioning Situation Recognition from Action 188
Partitioning Filtering and Enhancement from Rule Processing 190
Using TIBCO ActiveMatrix BusinessWorks™ for Filtering and Enrichment 191
Partitioning Advantages and Disadvantages 192
Partitioning Rules of Thumb 192
Summary 193
Chapter 14: Common Design Challenges 195
Objectives 195
Information Sharing 195
Locking 198
Load Distribution 201
Directing Related Work to a Single Agent 202
Managing Sequencing 203
Handling Duplicate Events 206
Summary 207
Part IV: Deployment 209
Chapter 15: Case Study: Nouveau Health Care 211
Objectives 211
Nouveau Health Care Solution Architecture 212
Claim Tracker 217
Claim Status Concept 218
Claim Track Interface 219
Claim Tracker Processes 221
Summary 224
Chapter 16: Performance 225
Objectives 225
TIBCO BusinessEvents® Profiler 225
Design Choices and Agent Performance 226
Demand Analysis 232
Sizing Rules of Thumb 237
Summary 237
Chapter 17: Deployment Planning 239
Objectives 239
Modularization 240
Deployment Patterns 247
Deployment Requirements for Run-Time Configurability 248
Monitoring 249
Summary 250
Chapter 18: Fault Tolerance, High Availability, and Site Disaster Recovery 253
Objectives 253
Solution Fault Tolerance 254
Site Disaster Recovery 256
Summary 257
Chapter 19: Best Practices 259
Objectives 259
Architecture Planning 259
Designing Data Models for Concepts 260
Object Management Modes, Threading, and Locking 261
Designing Rules 261
Testing Best Practices 262
Summary 262
Index 265