To finish off the second day of Business Rules Forum, Paul Vincent of TIBCO spoke about events and event-driven architecture as a useful way of dealing with business rules. TIBCO is best known for their messaging bus (although some of us know it more for the BPM side), and events are obviously one of the things that can be carried by the bus, or generated from other messages on the bus. The three major analysts who presented here this week – Jim Sinur of Gartner, Mike Gualtieri of Forrester, and Steve Hendrick of IDC – all stressed the importance of events and CEP; in fact, Gualtieri stated that CEP is the future of business rules in his breakfast roundtable this morning.
Going back to the basics of business rules, rules can be restrictions, guidelines, computations, inferences, timings and triggers; the last two are where events start to come into play. Rules are defined through terms and facts; some facts may be events, and rules enforced as events occur. Business rules drive process definitions and the decisions made within business processes, and mapping between rules, processes and decisions is easiest done from an event perspective. Events are key to business rule evaluation and enforcement, where events are triggers for both processes and the rules that determine the decisions within those processes: an event triggers a process, which in turn calls a decision service; or an event triggers a change to a rule, which in turn changes the decisions returned to a process. In fact, there’s a fine line between business processes and event processing if you consider how an event might impact an in-flight event-triggered process, and Paul declared that BPM is really just a constrained case of CEP.
Having taken over the world of BPM, he moved on to BRM, and showed how CEP systems are better for managing automated rules (when all you have is a CEP system, everything looks like an event, I suppose 🙂 ) since all decisions are event-driven, and CEP systems monitor simple events and decisions to identify patterns in real time by combining rules, events and real-time data in the same system to allow organizations to react intelligently to business events. He walked through an example architecture for real-time event processing (which happens to be TIBCO’s CEP architecture): a distributed CEP framework including an event bus and data grid, plus rule maintenance and execution, and real-time analytics. This allows historic patterns to be detected in real time (which sounds like a contradiction), while providing the decision management interfaces, rule agents and real-time dashboards. Rather than having a listener application feeding a rules engine, events are fed directly to the event processing engine in an event-driven architecture. He walked through other aspects, such as rule definition and decision services, showing how EDA provides a simpler and more powerful environment than standard BRMS and SOA.
Business rules are used in sense and respond, track and trace, and situation awareness CEP applications; business users (or at least business analysts) need to be able to understand and model events independent of any particular infrastructure. I completely agree with this, since I find that business analysts focused on process are woefully unaware of how to identify and model events and how those events impact their business processes.
Thanks Sandy! Good to meet you at the conference, and hopefully it was an interesting session. A few responses:
“In fact, there’s a fine line between business processes and event processing if you consider how an event might impact an in-flight event-triggered process, and Paul declared that BPM is really just a constrained case of CEP.”
You could argue that this simply means that the definition of CEP (aggregating events) is too broad. But I prefer the view that BPM (usually meaning process orchestration via BPMN) is simply, so far, the most used pattern for CEP…
“Having taken over the world of BPM, he moved on to BRM, and showed how CEP systems are better for managing automated rules”
🙂 I probably meant to say how CEP are better for automating managed rules. But rule (and process) management is of course a workflow which is usually a type of simple event processing. For example, what events lead you to change a process diagram? Is process change itself a managed process based on events? etc etc.
“This allows historic patterns to be detected in real time (which sounds like a contradiction)”
You are right – it does sound funny. Historic patterns may be discovered via traditional data-based analytics, then mapped to a CEP (or BRE) for pattern detection. Of course, real-time pattern discovery (finding new patterns on the fly) is the domain of real-time analytics (via metarules, for example, in TIBCO)- a pretty new field.
“business users (or at least business analysts) need to be able to understand and model events independent of any particular infrastructure. I completely agree with this…” A rule consultant I once worked with stopped me after the presentation and made this point exactly – analysing rules from an event perspective can be very clarifying (regardless of using CEP, BRE, or BPM).
Cheers