Preface |
|
xvii | |
Acknowledgments |
|
xxiii | |
About the Author |
|
xxv | |
Part I: Getting Started |
|
1 | (52) |
|
Chapter 1 The Event-Enabled Enterprise |
|
|
3 | (8) |
|
|
3 | (1) |
|
|
3 | (2) |
|
Sense, Analyze, and Respond |
|
|
5 | (1) |
|
Innovation in Sensing, Analyzing, and Responding |
|
|
6 | (3) |
|
|
6 | (2) |
|
|
8 | (1) |
|
|
9 | (1) |
|
The Event-Enabled Enterprise |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (24) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (4) |
|
|
12 | (2) |
|
Simple Event Recognition May Be Inadequate |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
Complex-Event Processing (CEP) |
|
|
17 | (3) |
|
|
20 | (1) |
|
|
21 | (2) |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
23 | (1) |
|
Analysis Requires Context |
|
|
23 | (2) |
|
Selecting an Analytical Approach |
|
|
25 | (1) |
|
|
26 | (2) |
|
|
28 | (3) |
|
Event-Enabled Enterprise Capabilities |
|
|
31 | (1) |
|
|
32 | (3) |
|
Chapter 3 CEP Solution Design Patterns |
|
|
35 | (18) |
|
|
35 | (1) |
|
Variability in CEP Architectures |
|
|
36 | (3) |
|
|
36 | (1) |
|
Partitioning Functionality |
|
|
37 | (2) |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
42 | (2) |
|
Business Process Timeliness Monitor |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
46 | (2) |
|
|
48 | (2) |
|
|
50 | (1) |
|
|
51 | (2) |
Part II: Technology |
|
53 | (88) |
|
Chapter 4 TIBCO BusinessEvents® |
|
|
55 | (14) |
|
|
55 | (1) |
|
TIBCO BusinessEvents® Product Suite |
|
|
55 | (7) |
|
|
56 | (1) |
|
TIBCO BusinessEvents® Data Modeling |
|
|
57 | (1) |
|
TIBCO BusinessEvents® Decision Manager |
|
|
58 | (2) |
|
TIBCO BusinessEvents® Event Stream Processing |
|
|
60 | (1) |
|
TIBCO BusinessEvents® Process Orchestration |
|
|
61 | (1) |
|
TIBCO BusinessEvents® Views |
|
|
61 | (1) |
|
TIBCO BusinessEvents® Solution Deployment |
|
|
62 | (3) |
|
BusinessEvents Solution Life Cycle |
|
|
65 | (2) |
|
|
67 | (2) |
|
Chapter 5 Inference Agents |
|
|
69 | (34) |
|
|
69 | (1) |
|
|
70 | (1) |
|
Events, Concepts, and Scorecards |
|
|
70 | (7) |
|
|
71 | (2) |
|
|
73 | (2) |
|
|
75 | (2) |
|
|
77 | (2) |
|
|
77 | (1) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
Run-to-Completion (RTC) Behavior |
|
|
79 | (4) |
|
Rule Conditions and Rete Network Efficiency |
|
|
83 | (4) |
|
Completing the Inference Agent: Preprocessing and Postprocessing |
|
|
87 | (4) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
91 | (2) |
|
|
93 | (5) |
|
|
98 | (2) |
|
|
98 | (1) |
|
|
99 | (1) |
|
Starting and Stopping State Machines |
|
|
99 | (1) |
|
|
100 | (3) |
|
|
103 | (12) |
|
|
103 | (1) |
|
|
103 | (1) |
|
The Cache and Cache Agents |
|
|
104 | (1) |
|
|
104 | (5) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
106 | (3) |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
111 | (2) |
|
|
111 | (2) |
|
|
113 | (1) |
|
|
113 | (2) |
|
|
115 | (12) |
|
|
115 | (1) |
|
|
115 | (6) |
|
|
115 | (2) |
|
Snapshot Query Life Cycle |
|
|
117 | (4) |
|
|
121 | (5) |
|
|
122 | (1) |
|
Continuous Query Life Cycle |
|
|
123 | (3) |
|
|
126 | (1) |
|
|
127 | (8) |
|
|
127 | (1) |
|
|
127 | (3) |
|
|
130 | (1) |
|
|
130 | (2) |
|
|
132 | (1) |
|
|
133 | (2) |
|
Chapter 9 Dashboard Agents |
|
|
135 | (6) |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (2) |
|
|
139 | (1) |
|
|
139 | (2) |
Part III: Design Patterns |
|
141 | (68) |
|
Chapter 10 Solution Basics |
|
|
143 | (20) |
|
|
143 | (1) |
|
Recognizing a Situation Change |
|
|
143 | (1) |
|
Reference-Data Comparison Pattern |
|
|
144 | (1) |
|
Systems of Record for Reference Data |
|
|
145 | (2) |
|
TIBCO BusinessEvents® as Reference-Data System of Record |
|
|
145 | (1) |
|
Database as Reference-Data System of Record |
|
|
146 | (1) |
|
External System as Reference-Data System of Record |
|
|
146 | (1) |
|
Reference-Data Change Coordination Patterns |
|
|
147 | (2) |
|
State Machine Change Recognition Pattern |
|
|
149 | (2) |
|
Continuous Query Change Recognition Pattern |
|
|
151 | (1) |
|
Handling Duplicate Events |
|
|
151 | (3) |
|
Enabling Run-Time Rule Changes |
|
|
154 | (3) |
|
|
154 | (1) |
|
|
155 | (1) |
|
Rule Management Server (RMS) |
|
|
156 | (1) |
|
Sequential and Conditional Action Performance |
|
|
157 | (3) |
|
Orchestration Implemented in the Action Section of a Single Rule |
|
|
157 | (1) |
|
Having a Separate Rule for Each Action |
|
|
157 | (1) |
|
Sequencing the Execution of Rules |
|
|
158 | (1) |
|
Orchestration Implemented in an Explicit Orchestration Component |
|
|
159 | (1) |
|
Logging and Exception Reporting |
|
|
160 | (1) |
|
|
160 | (1) |
|
|
161 | (2) |
|
Chapter 11 Event Pattern Recognition |
|
|
163 | (8) |
|
|
163 | (1) |
|
The Need for Event Pattern Recognition |
|
|
163 | (3) |
|
Event Stream Processing Pattern Language |
|
|
166 | (1) |
|
|
166 | (2) |
|
|
168 | (1) |
|
|
169 | (2) |
|
|
171 | (16) |
|
|
171 | (1) |
|
Interacting with TIBCO ActiveMatrix BusinessWorks™ |
|
|
172 | (2) |
|
TIBCO ActiveMatrix BusinessWorks™ Send Event |
|
|
172 | (1) |
|
TIBCO ActiveMatrix BusinessWorks™ Wait for Event |
|
|
173 | (1) |
|
TIBCO ActiveMatrix BusinessWorks™ Receive Event |
|
|
173 | (1) |
|
|
174 | (1) |
|
TIBCO BusinessEvents® as a Service Provider |
|
|
174 | (1) |
|
TIBCO BusinessEvents® as an Asynchronous Service Consumer |
|
|
175 | (3) |
|
Concept Maintains Asynchronous Context |
|
|
176 | (1) |
|
State Machine Maintains Asynchronous State |
|
|
177 | (1) |
|
Process Maintains Asynchronous State |
|
|
178 | (1) |
|
TIBCO BusinessEvents® as a Synchronous Service Consumer |
|
|
178 | (2) |
|
HTTP Send Request Invocation |
|
|
179 | (1) |
|
TIBCO BusinessEvents® Process Orchestration Web Service Invocation |
|
|
179 | (1) |
|
Custom Function Invocation |
|
|
180 | (1) |
|
Interacting with Databases |
|
|
180 | (1) |
|
Database Interaction Using Database Concepts |
|
|
181 | (1) |
|
Database Concepts and Memory Management |
|
|
181 | (1) |
|
|
181 | (1) |
|
Database Update and Delete |
|
|
182 | (1) |
|
Database Interaction Using TIBCO ActiveMatrix® Adapter for Database |
|
|
182 | (1) |
|
Inference Agent Publication |
|
|
183 | (1) |
|
Inference Agent Request-Reply |
|
|
183 | (1) |
|
Inference Agent Subscription |
|
|
184 | (1) |
|
Database Interaction Using TIBCO ActiveMatrix BusinessWorks™ |
|
|
185 | (1) |
|
|
185 | (2) |
|
Chapter 13 Solution Modularization Patterns |
|
|
187 | (8) |
|
|
187 | (1) |
|
Partitioning Situation Recognition from Action |
|
|
188 | (2) |
|
Partitioning Filtering and Enhancement from Rule Processing |
|
|
190 | (1) |
|
Using TIBCO ActiveMatrix BusinessWorks™ for Filtering and Enrichment |
|
|
191 | (1) |
|
Partitioning Advantages and Disadvantages |
|
|
192 | (1) |
|
Partitioning Rules of Thumb |
|
|
192 | (1) |
|
|
193 | (2) |
|
Chapter 14 Common Design Challenges |
|
|
195 | (14) |
|
|
195 | (1) |
|
|
195 | (3) |
|
Using an Event for Information Sharing |
|
|
196 | (1) |
|
Using the Cache for Information Sharing |
|
|
196 | (2) |
|
|
198 | (3) |
|
|
198 | (1) |
|
Locking Requires Programming Discipline |
|
|
199 | (1) |
|
|
199 | (1) |
|
Locking and Data Structures |
|
|
199 | (2) |
|
|
201 | (1) |
|
Using IP Redirectors to Distribute Load |
|
|
201 | (1) |
|
Using JMS Queues to Distribute Load |
|
|
201 | (1) |
|
Using TIBCO BusinessEvents® Load Balancer to Distribute Load |
|
|
202 | (1) |
|
Directing Related Work to a Single Agent |
|
|
202 | (1) |
|
|
203 | (3) |
|
Preserving Sequencing within One Inference Agent |
|
|
204 | (1) |
|
Preserving Sequencing across Multiple Inference Agents |
|
|
205 | (1) |
|
Recovering Temporal Sequencing (Reordering) |
|
|
205 | (1) |
|
Handling Duplicate Events |
|
|
206 | (1) |
|
|
207 | (2) |
Part IV: Deployment |
|
209 | (56) |
|
Chapter 15 Case Study: Nouveau Health Care |
|
|
211 | (14) |
|
|
211 | (1) |
|
Nouveau Health Care Solution Architecture |
|
|
212 | (5) |
|
Nouveau Health Care Business Processes |
|
|
212 | (1) |
|
Nouveau Health Care Architecture Pattern |
|
|
213 | (1) |
|
Nouveau Health Care in Context |
|
|
214 | (1) |
|
Processing Claims from Providers |
|
|
215 | (2) |
|
|
217 | (1) |
|
|
218 | (1) |
|
|
219 | (2) |
|
|
221 | (3) |
|
|
222 | (2) |
|
|
224 | (1) |
|
|
224 | (1) |
|
|
225 | (14) |
|
|
225 | (1) |
|
TIBCO BusinessEvents® Profiler |
|
|
225 | (1) |
|
Design Choices and Agent Performance |
|
|
226 | (6) |
|
Structuring Rule Conditions |
|
|
227 | (1) |
|
Organizing Decision Tables |
|
|
228 | (1) |
|
Accessing Large XML Event Payloads |
|
|
228 | (1) |
|
|
229 | (1) |
|
Choosing Inference Agent Threading Models |
|
|
229 | (2) |
|
Using Synchronous I/O Calls in Rule Actions |
|
|
231 | (1) |
|
|
232 | (5) |
|
|
233 | (1) |
|
|
234 | (2) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
237 | (2) |
|
Chapter 17 Deployment Planning |
|
|
239 | (14) |
|
|
239 | (1) |
|
|
240 | (4) |
|
|
240 | (1) |
|
|
241 | (1) |
|
|
242 | (1) |
|
|
243 | (1) |
|
Object Management Configuration |
|
|
244 | (3) |
|
|
245 | (1) |
|
|
245 | (1) |
|
|
245 | (1) |
|
Claim Tracker Object Management Configuration |
|
|
246 | (1) |
|
|
247 | (1) |
|
Deployment Requirements for Run-Time Configurability |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
250 | (3) |
|
Chapter 18 Fault Tolerance, High Availability, and Site Disaster Recovery |
|
|
253 | (6) |
|
|
253 | (1) |
|
|
254 | (2) |
|
Backing Store Configuration for Fault Tolerance |
|
|
254 | (1) |
|
|
254 | (2) |
|
Inter-Agent Communications |
|
|
256 | (1) |
|
|
256 | (1) |
|
|
257 | (2) |
|
Chapter 19 Best Practices |
|
|
259 | (6) |
|
|
259 | (1) |
|
|
259 | (1) |
|
Designing Data Models for Concepts |
|
|
260 | (1) |
|
Object Management Modes, Threading, and Locking |
|
|
261 | (1) |
|
|
261 | (1) |
|
|
262 | (1) |
|
|
262 | (3) |
Index |
|
265 | |