service oriented architecture (soa) and complex event processing (cep) – complementary views of...
TRANSCRIPT
Service Oriented Architecture (SOA) and Complex Event
Processing (CEP) – Complementary Views of the
Enterprise
John Salasin, Ph. D.Defense Advanced Research Projects
Agency (DARPA)[email protected], [email protected]
Agenda
• Objectives• Reputed SOA Benefits• Conceptual view of an SOA-based system• Conceptual architecture of an SOA-based
system• Reputed CEP Benefits• Conceptual view of a CEP system • Conceptual CEP Architecture• Generalized Event Processing Agent
Objectives
To provide:
Technical background to justify discussions of similarities and differences;
More on CEP than SOA (less familiar)
Guidance on the contexts in which the techniques are most useful, and;
References to additional information.
Reputed SOA Benefits
Core Concept: “Orchestrating” business functions to provide services.
• Reducing integration expense;
• Increasing asset reuse;
• Increasing business agility, and;
• Reducing business risk.
Conceptual view of an SOA-based system
Conceptual architecture of an SOA-based system
Reputed CEP Benefits
Core concept: specifying and managing conceptual hierarchies, or patterns, of events.
Users receive information at the appropriate semantic level (Aggregation);
Flexibility in monitoring (run-time specification);
Analysis of event patterns (pattern matching against observed patterns or rules/policies), and;
Consolidation (correlation across hierarchic levels).
Conceptual view of a CEP system
NOTE: This has been used to diagram both SOA and CEP.
Conceptual CEP Architecture
Out Actions
ErrorFiltered StringOutput pattern/sequenceConstraint check results
In ActionsFor EPA types:Instantiate, StopInput string (to filter)Input pattern(s) (to map)Input pattern(s) (to check)
Event Processing Agent
Behaviors
Reactive rules to start, terminateB(…) => Pass;A(…), B(…), C(…) => generate Seq (…);B(…) -> A(…) => generate Alert1(…);
//create alert whenever a B causes an A
Generalized Event Processing Agent
CEP Illustrative Examples (1 of 2)
• Pattern matching and analysis – Match what is actually happening (e.g., a broker
“trading ahead” of placing a customer order large enough to change the price of a stock) with pre-defined constraints (e.g. trading ahead is illegal).
• Causal Tracking– Identify the Partially Ordered Set (POSET) of events –
at all levels -- related to a specific event of interest (e.g., failure of a machine on a chip fab line)
– Assure that a sequence of events is correct with respect to policy in complex contexts involving multiparty transactions.
CEP Illustrative Examples (2 of 2)Loan Processing Example -- Causality and
Aggregation
When CEP Is Useful (1 of 2)
SOA is satisfactory when application is data dependent – where the major concerns are with, e.g.:
–The magnitude of variables rather than the time at which they are set;–Relationships among these magnitudes (e.g., sales / ft3 at a set of stores), and;–Triggers are based on magnitude (e.g., order when stock level =< “H”).
When CEP Is Useful (2 of 2)
CEP should be added when concern is with patterns of events in real-time. E.G., We:• Know (or suspect) the pattern of events we’re looking for (e.g., trading ahead);
• Can filter out a finite set of events from the “cloud” to start the process (e.g., sequences starting with customer requests for a stock trade), or;
• Want to respond to the pattern immediately, without the delay in retrospective data searches to see if it occurred.
Potential Added Value of Combining SOA/CEP
CEP at Enterprise level could support data marshaling in complex processes
– Optimize access sequences to allow greatest number (possibly weighted by process priorities or deadlines) of processes to continue.
– Allow identification of causality or dependency relationships across independent services.