One consistent question we get from outside the CEP market is: what is the difference between a “standard” Business Rules Engine (or BRE) and a (rule-driven) Complex Event Processing engine? This is particularly interesting because a rule-based CEP en
The one, really big, difference between Complex Event Processing and traditional BRMS tools is that the former is loosely associated with EDA and decisions that are based on multiple events, whereas the latter is more associated with conventional request-reply SOA and automating decisions made in managed business processes.
Most BREs today are deployed as “decision services”, and are used in “stateless” transactions to make “decisions” as a part of a business process. A CEP application is instead processing multiple event streams and sources over time, which requires a “stateful” rule service optimized for long running. This is an important distinction, as a stateful BRE for long-running processes needs to have failover support - the ability to cache its working memory for application restarting or distribution. And of course long-running processes need to be very particular over issues like memory handling - no memory leaks allowed!
The Center for Multisource Information Fusion (CMIF) is a research center based at the University at Buffalo and at a non-profit Western New York research center called CUBRC Inc.. Information fusion allows users to assess complex situations more accurately by combining effectively the core evidence in the massive, diverse and sometimes conflicting data received from multiple sources. CUBRC/UB's partners in the center are the Rochester Institute of Technology, which has expertise in image analysis and visualization, and Pennsylvania State University, which also has a long history in information fusion research focused on the human and cognitive aspects.
Rule-processing is just a style of computation. Of course it is used in BRMS, but it is also used in CEP. CEP systems typically employ rules-based processing to infer higher-order events by matching patterns across many event streams within the event ‘cloud’. BRMS’s use rule processing to match patterns within data tuples representing business-orientated data. CEP systems may support the use of advanced analytics to manage predictive analysis, reasoning under uncertainty and other requirements in relation to the event cloud. Some of the better BRMS’s offer similar analytics in regard to processing business data.
Function answers the question --- what is being done?Technique answers the question -- how something being done?
Application answers the question --- what is the problem being solved?
ExamplesBusiness Activity Monitoring (BAM) is an application type, it solves the problem of controlling the business activities in order to optimize the business, deal with exceptions etc...Business Rules are type of technique --- which can be used to infer facts from other facts or rules (inference rules) , or to determine action when event occurs and condition is satisfied (ECA rules) and more (there are at least half a dozen types of rules, which are techniques to do something).Event Processing is really a set of functions which does what the name indicates -- process events --- processing can be filtering, transforming, enriching, routing, detect patterns, deriving and some more.
JT has posted his view on rules and decisions and how they relate. Given that James talks more about services than events, I thought it would be worth reviewing his post from both a Complex Event Processing and a TIBCO BusinessEvents event processing platform perspective.
”Decision Services:
Support business processes by making the business decisions that allow a process to continue.
Support event processing systems by adding business decisions to event correlation decisions (they are often called Decision Agents in this context).
Allow crucial and high-maintenance parts of legacy enterprise applications to be externalized for reuse and agility.
Can be plugged into a variety of systems using Enterprise Service Bus approaches.”
The main characteristic to be aware of in these tools is that BE is primarily rule-based (using an embedded rule engine), whereas BW and iProcess are orchestration / flow engines. In BE we can use a state diagram to indicate a sequence of states which may define what process / rules apply, but this is really just another way of specifying a particular type of rules (i.e. state transition rules).
The main advantages to specifying behavior as declarative rules are:
Handling complex, event-driven behavior and choreography
Iterative development, rule-by-rule
The main advantages of flow diagrams and BPMN-type models are:
Ease of understanding (especially for simpler process routes)
Process paths are pre-determined and therefore deemed guaranteeable.
In combination these tools provide many of the IT capabilities required in an organization. For example, a business automation task uses BW to consolidate information from multiple existing sources, with human business processes for tasks such as process exceptions managed by iProcess. BE is used to consolidate (complex) events from systems to provide business information, or feed into or drive both BW and iProcess, and also monitors end-to-end system and case performance.
Esper and NEsper enable rapid development of applications that process large volumes of incoming messages or events. Esper and NEsper filter and analyze events in various ways, and respond to conditions of interest in real-time.
BI stands for Business Intelligence, which to some will sound suspiciously similar to Groucho’s famous comment. But in reality BI is more to do with providing the right “Business Information” to people who need it (i.e. business analysts), and there
Embedded operational analytics help applications and business users take close to real-time action. However, there is another class of applications where even close to real-time analytics are not
sufficient.
D. Anicic, P. Fodor, S. Rudolph, R. Stühmer, N. Stojanovic, and R. Studer. Reasoning in Event-Based Distributed Systems, volume 347 of Studies in Computational Intelligence, Springer Berlin / Heidelberg, 10.1007/978-3-642-19724-6_5.(2011)
D. Anicic, P. Fodor, R. Stühmer, and N. Stojanovic. CSE '09: Proceedings of the 2009 12th IEEE International Conference on Computational Science and Engineering, Washington, DC, USA, IEEE Computer Society, (2009)
D. Anicic, S. Rudolph, P. Fodor, and N. Stojanovic. Proceedings of the 5th international conference on Rule-based reasoning, programming, and applications, page 138--153. Berlin, Heidelberg, Springer-Verlag, (2011)
D. Anicic, and N. Stojanovic. Intelligent Event Processing, Papers from the 2009 AAAI Spring Symposium, SS-09-05, page 14-20. Menlo Park, CA, AAAI Press, (2009)
A. Barthe, F. Benaben, S. Truptil, J. Lorre, and H. Pingaud. Workshop Ädvanced results in MDI/SOA innovation" in IWEI 2011 Third International IFIP Working Conference "Interoperability and Future Internet for Next-Generation Enterprises", Stockholm, (2011)
A. Barthe, F. Benaben, S. Truptil, J. Lorre, and H. Pingaud. Workshop Advanced results in MDI/SOA innovation in IWEI 2011 Third International IFIP Working Conference Interoperability and Future Internet for Next-Generation Enterprises, Stockholm, (2011)
A. Barthe, M. Lauras, and F. Benaben. 8th International Conference on Information Systems for Crisis Response and Management : From early-warning systems to preparedness and training, Lisbon, (2011)