Thursday, 4 March 2010

Do Rules need a Rules Engine?

Do Business Rules need a Rules Engine?

Architectures tend to spring from technical IT types stacking a set of facilities that they have or can buy into a neat PowerPoint picture and centre on the solution execution rather than the long path of getting there. Hence, when Business Rules is thought about, a box is placed centrally labelled Business Rules Engine. A couple of bullet points in the presentation to senior management cover the concept that a clear statement of facts and rules by the business will be transforms magically and with little effort into operating code in the IT domain.
There can be little argument against stating the requirements in a provably consistent form that can readily change with  business change is a good thing.
Mark Myers provides an insight this month. With an example of an organisation that did its rules definition so well that a rules execution engine did not add value.
 As part of our SOA architecture we had specified a rule engine.  We had a vision of "rules as service" and using the rule engine would be the core component.  The job of the rule engine, in part, was to help meet the business goal of "agile rule management."  Our thought at the time was that this kind of interface would aid in rule change and rule management.  As it turned out, the business involvement in maintaining a business-side repository provided a much better interface in managing rules.  The amount of meta-data needed to accompany each rule could not even begin to be captured in the interface offered by the rule engine.  During this process the business became very interested in and knowledgeable about their business and just wanted the rules (logic) implemented.  They didn't want to be involved in the gritty implementation details and really didn't care how the logic was ultimately implemented.
 Mark Myers, "Something Happened on the Way to the Forum:  Did We Really Need a Rules Engine?" Business Rules Journal, Vol. 11, No. 3 (Mar. 2010), URL: 

So no, you do not need a 'rules engine' bought in to execute rules. If you have a comprehensive development shop working in the SOA style then the implementation of an additional engine in the mix is probably not an effective use of budget.
However, if you are less blessed or want to downsize those pesky developers then there are rules engines out there. BUT the most important thing is to capture the rules, facts, nouns and verbs in a manageable form within the business.

No comments: