We use cookies and other similar technologies (Cookies) to enhance your experience and to provide you with relevant content and ads. By using our website, you are agreeing to the use of Cookies. You can change your settings at any time. Cookie Policy.

James Taylor's Decision Management

James Taylor

Business rules, routing rules, event rules

Vote 0 Votes

I have been thinking about the response I got from David Campbell to my posting on his CEP article. In his comment David discussed the difference between using a business rules engine in CEP (Complex Event Processing) and using business rules more generally. He says that CEP uses business rules, but not business rule engines because BREs are "best suited to problems where the process steps are linear and predictable and don’t require contextual information about timing and sequence of event patterns "and goes on to say that "The reason for this is that most rules engines today require all of the data used in the rules, including the contextual data involving timing and sequence arrays, to be built in advance and stored in a database". He goes on to say that CEP solutions maintain this contextual information with the event messages to simplify this problem.

Now, while I don't think the statement about databases and BREs is 100% true (many rules engines allow for call outs to gather additional information as needed by rules while they are executing and allow for this data to come from other components or services, not just databases), it seems to me that this is similar to the arguments about keeping rules in a BRMS/BRE or in a BPMS and about the role of rules inBusiness Activity Monitoring also.

I believe that each of these specialized contexts - business process management, event processing, activity monitoring - can take advantage of a rules-based approach with the technology primarily responsible for it - BPMS, CEP or BAM software - but that this is not the same as using a rules approach to automate business decisions. Nor does using rules for routing, activity monitoring or event processing in anyway replace using business rules for decisioning. Why not? Two reasons - reuse and synchronization.

First reuse. By embedding rules in a CEP/BPMS/BAM solution I make it impossible to reuse those rules across the other members of this family of solutions and across my legacy applications. Rules for what makes a good customer, a fraudulent claim or the right next best action in marketing terms are the same across the enterprise and should be managed as the enterprise asset they are. Managing these decisions this way also allows me to invest in improving them, analytically for instance, while maximizing the return. There are rules that belong in each environment, but the core rules for decisions should not.

Secondly synchronization. Rules for routing and handling processes are synchronized with the process definition in the same way that rules for event handling are synchronized with the event definition. Rules for making business decisions within these processes or as a result of identifying an event are not. It is essential you don't over-synchronize business decisions and processes or business decisions and event identification. I must be able to change the way my business responds to an event separately from how it processes and identifies the event. Similarly I must be able to change how I manage a decision without having to change the process(es) that include it.

I am glad to see that CRM vendors, BPM vendors, CEP vendors and more are seeing the value of the business rules approach to managing business logic. The fact that these applications can and should have business rules in them does not replace the use of a business rules management system to manage core operational business decisions across the enterprise.

Technorati Tags: , , , , , , ,

1 TrackBack

More on BPM - what about Decision Services? from Enterprise Decision Management - a Weblog on May 8, 2007 10:41 AM

Tulu Tanrikorur of New York Life wrote Business Process Management 101: The Basics of BPM and How to Choose the Right Suiteover on Intelligent Enterprise. It's a nice summary of various approaches to considering BPM and related software. However, while Read More

1 Comment


I agree that rules engine technology has a role to play in decisioning applications that is unique and distinct from the use of rules by CEP applications.

For example, one would never use CEP to price an insurance policy - rules engines are great at that.

However, to automate baggage handling at an airport, where outside events are constantly forcing adjustments to the business processes, rules engines require too much additional functionality already contained in CEP. It is highly likely that in this scenario both tools would work together - CEP handling the complex business process decisions (when to send baggage handlers to the plane, for instance), and the rules engine handling the complex decisions (which baggage handler has is the best to send and what is the best route).

My confusion in the original post stemmed from the use of "business rules" generically, which I think we can all agree have a role in many, many types of applications.

James Taylor blogs about decision-management technologies such as predictive analytics and business rules, discussing how they deliver agility, improve business processes and bring intelligent automation to SOA.

James Taylor

James Taylor blogs on decision management for ebizQ, and is an independent consultant on decision management, predictive analytics, business rules, and related topics.

Sponsored Links



 Subscribe to this blog by RSS
Subscribe by email:

Recently Commented On

Recent Webinars

    Monthly Archives