How I may help
LinkedIn Profile Email me!
Call me using Skype client on your machine

Reload this page Business Rules Engine Evaluations

Here is an introduction to using business Rules Engine (BRE) services within Business Rule Management Systems (BRMS) that make systems intelligent.

First of all, a business rule engine (BRE) moves business logic from being embedded (hard coded) in application code and treat business rules so that they can be more easily changed and thus more flexible, which enhances business agility.

Wikipedia entry on Rules Engines

I very much welcome and invite your feedback on this.

 

Site Map List all pages on this site 
About this site About this site 
Go to first topic Go to Bottom of this page


Set screen Business Rules

    Business Rules are also called policies because rules can specify dynamic workflows (what users see and do).

    There are several different types of rules. forward chaining rules include:

      Production/inference (IF condition THEN action) rules are invoked when called. Examples:

      • Allow ... to ... before registration.
      • After ... automatically ...
      • Limit ... to ...

      Reactive (Event Condition Action) rules are triggered by a change in the status of events. Examples:

      • When ... automatically notify/perform ...
      • Products such as the Swedish RuleCore collect event XML issued as messages from code placed in applications code.

    What makes rules engines useful is that it can operate at meta levels, referencing generic properties and attributes of something. For example, rather than operating on rules for a specific customer, rules are specified for a type of customer.

    Rule engines process facts through rules. The knowledge base of facts can be include values from external sensors (such as a rain guage) or (of course) a database. A fact model is similar to a class diagram.

    Rules engines are smart in that they match patterns of facts. For example, in a credit granting application, a rules engine can process "If the transaction is international and the cardholder has never bought a plane ticket, question the charge."

    Actions are also called consequences. The (profit) potential of expert rules is that advanced engines can use backward chaining logic that works backward from consequences. This is done though working from assertions.

    Rules themselves can be generated dynamically as a result of the rules engine observing patterns.

    There are different types of rules:

    • Register and unregister rules
    • Parse rules
    • Inspect rule metadata
    • Execute rules
    • Retrieve results
    • Filter results

 


Go to Top of this page.
Next topic this page

Set screen Architecture - XML Between Processes

    A Business Rule Engine (BRE) pretty much needs to operate as a service on a separate server because it is likely going to need memory and compute power, especially when more complex rules are added.

    Since XML over HTTP is a popular choice for communication among machines, Hayley defined the vendor neutral RML (Rules Markup Language) for JSR 94.

    RuleLab.Net offers a XML service for ASP.

    Drools running under JBoss can exchange XML as well with a wrapper.

    The Sun JSR (Java Specification Request) 94 Rules Administrator to load rules is defined in the javax.rules.admin package.
    The JSR 94 Runtime Client API to run rules is defined in the javax.rules package.


Go to Top of this page.
Next topic this page

Set screen Both Sides of the Truth

    Every technology provides both rewards and dangers. Here are both the pros and cons.

    What Vendors Promise Caveats Weighting
    Lower application maintenance costs

    IT personnel have yet another set of software and additional servers to learn, install, and maintain. Developers have to learn a new way (such as learning the ILOG Eclipse-based IDE Rule Studio). Changing existing source code to use business rules is much like brain surgery -- taking the thinking parts of the code outside the body (of code).

    With business rules separated from other processing, developers may feel that their job has been downgraded.

     
    Improve collaboration between IT and business departments. Making a scenario manager application available to business workers enable them to specify rules lets them skip software requirements.

    GUI that translate Excel spreadsheets or natural language text into programming code make business rules more visible, understandable, and available to those who need to manipulate them.

    Use of business rules is a hugh paradigm change for IT. A big change in mindset is needed to understand its full potential. It's not just an API change that developers adopt like switching from an Oracle to a DB2 database. It's not just that Use cases need to be written differently to account for dynamic changes to workflow due to dynamic rules.

    When Business Rules Engines dynamically direct a different workflow appropriate for each user, use case diagrams themselves are dynamic entities. Use case diagrams in advanced realizations of BPM will look like screens used by air-traffic controllers, perhaps different colors or shapes to illustrate the different types of use cases being used.

     
    More accurate and consistent policy implementation across applications. Becauase those who make the rules change the rules, there is less misunderstanding.

    As ponderous as they can be, the process of going through requirements specifications and analysis forces the collaboration necessary to think through subtle but major side-effects from even small changes to business logic -- wisdom usually learned the hard and expensive way (suffering the consequences of mistakes). This is why being good at Business Rules Language requires much training and experience to master -- so much so that the job of Business Rules Analysis is a combination of mathematician and air traffic controller. This is why I predict that when this technology will take off, ;) Business Rules Analysts (Knowledge Engineers) will be the air traffic controllers of the business world. They hold the key to unique competitiveness for organizations. However, some business users are "not good with computers". So knowledge engineers need to be embedded within business units rather than in data center basements.

     
    More responsiveness and flexibility from separating business logic from source code. Business logic that is systematized separately in a rules application is faster and safer to change than hard-coded logic within application source code, which takes time and introduces risks.

    Rules that are dynamically changed by a system require monitoring and tuning by people that need to be smarter and more educated than before, lest the rules become an unruly "Frankenstein monster" crazy robot.

    Transplanting rules away from developers may make it more difficult for developers to debug and testers to find logic flaws.

    Application responsiveness (user response time) degrades when another layer of processing and traffic is added within application servers. Another set of servers can become another potential bottleneck to throughput. So performance testing and monitoring will be a key part of BRE implementations.

     
    Not brought up by salespeople and sales brochures

    Transferrability of business rules is a concern because the industry is still fragmented. As of this writing, the Business Rules Group drafted the Java-based "industry-wide standard" Sun JSR 94 rule engine language API based on CLIPS. But even the JSR 94 reference implementation (JESS, Java Expert System Shell) language is proprietary (developed in Java by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, California).

    Hopefully, sure-to-come consolidation among companies in this space would result in synergy (products combining to become better than separate parts) rather than burying of good ideas (like automakers buying up commuter rail lines so they can plow their rails under).

     

    It would be helpful if each of these items can be associated with a common factor of dollars.


Go to Top of this page.
Next topic this page

Set screen Vendor Comparisons

    In 2005 this Forrester Wave on BRM Forrester's Wave compares top vendors on their combination of strategy and execution.

    Although Fair Isaac was lauded by InfoWorld as its BRMS awardee, (followed by InfoWorld's evaluator going to work for them), numerical ratings are very close and one should also consider other important strategic factors:

    1. Experts Learning Rules: If you have a simple application and want to experiment and want to learn a new language, start with an open-source service such as JBoss Rules, then take JSR 94 compliant rules from it when upgrading to Haley for production support.
    2. Machine Learning: If you want quick payback get Open Rules to generate rules from data rather than training experts to Lisp the right way ;) Open Rules makes use of ML training set such as WEKA (ARFF format). Open Rules also incorporates Constraint Program Solvers (CSPs)
    3. Ruby Language: If you are wild about Ruby, Rools won't require your developers to be "degraded by inferior languages".
    4. VM: If your CEO is wild about being a pure Microsoft shop, you would want to consider BRMS web servers from Fair Isaac, ILOG, or InRule's BizTalk plug-in.
    5. Legacy Integration: If you want to increase the agility of legacy mainframe systems, Fair Isaac claims to do that.
    6. Scalability: If you are a large shop most concerned about scalability, Fair Isaac provides a most compelling case.
    7. One-stop shop: If you can easily get hardware and want to build a new integrated workflow management system with minimal integration risk, Pega Systems offers BPM with BRMS.
    8. In this 10 year trend chart of stock indexes, notice that while FICO (Fair Isaac) stock price has lost its early lead over PEGA, which is faring better during the 2008 downturn.

    Simulating rule execution is especially important with rules. Software that helps with the creation and manipulation of rules should (as Haley Tabular Rules does), analyze rulesets to ensure:

    1. Coverage: where rules are incomplete, where additional rules are needed.
    2. Overlap: where rules are redundant.
    3. Consistency: where multiple rules conflict with each other (generate mutually exclusive results).


Go to Top of this page.
Next topic this page

Set screen Vendors

    Business Rules Management System (BRMS)

    VM Vendor Product Pricing Input Algorithm Stds Notes
    Java IBM ILOG JRules Comm. JSR 94 in Eclipse Rule Studio - - Its ILOG CPLEX and CP Optimizer are constraint solvers that find optimal configurations and routes. This French-based co. was acquired by IBM July 2008. 125 question Application Development cert. exam 000-527 for 6.x, 000-528 for Advanced, 000-529 for 7.x
    .NET IBM ILOG .NET Comm. JSR 94 in Eclipse Rule Studio - - -
    -- Haley Comm. JSR 94 - - Defined the vendor neutral RML (Rules Markup Language) for JSR 94
    -- Fair Isaac Blaze Advisor (from the same company that brought you the FICO score which lenders over-depended on -- leading to the 2008 financial crisis) Comm Proprietary GUI, JSR 94 Optimized Rete - Claims superior performance from the creator of older Rete used by other vendors. Its rules compiler and forward-chaining considers more complex rule dependencies faster. FIC's Decision Simulator add-on evaluates the profitability of different rule sets.
    Java Red Hat JBoss Rules GPL Rete-OO - - -
    Ruby rools.rubyforge BSD - - - A Ruby BPMS Solution integrating Rails, XForms, OpenWFEru, and pure ruby rails inference engine that supports decision tables, XML rules, and Ruby Rules.
    Java Visual Rules GNU/LGPL Not Rete - - Plug-in for Eclipse, SAP NetWeaver or IBM Rational.
    .NET SDSRE GNU/LGPL - - - -
    .NET InRule GNU/LGPL - - - Claims to be the most popular for .NET due to its MS BizTalk server plug-in
    .NET NxBRE GNU/LGPL - - - -
    .NET Drools GNU/LGPL JSR 94 - - Lead by Mark Proctor from London, canadian Edson Terelli, and Australian Mic Neale.
    Java Pega Systems Comm Visio - - Generates from Visio drawings rules for processing on a Java server. It's popular as a complete BPM workflow app GUI development platform rather than just a BRMS service/plug-in.
    _ Coricon Comm. Spreadsheet in the Eclipse-based Rule Studio or ARIS Rule Designer GUI from IDS Scheer. DETI - Its BRMS is built into Tibco's Staffware Rules Manager. Its DETI (Design-Time Inferencing, pronounced Dee-Tee) engine which is fast at run-time because it does most of the complex checking of the rulebase during design time. This removes the problems later on that can be caused by circular reasoning, duplicate rules, inconsistent rules, and incompleteness of the ruleset. Designed by Dr. Mark Allen.
    _ OpenRules open spreadsheets
    & Eclipse
    - - A full-scale open source BRMS based on MS Excel, Google Spreadsheets, and Eclipse IDE for quick and intuitive GUI generation. Its tutorials and examples from CTO Jacob Feldman, Eugene Freuder, etc. are free and open as well. Its strength is its integration of Business Rules with Optimization and Machine Learning to extract patterns and decision rules from data for true business agility (constant learning instead of waiting for human experts to define rules).
    Java OpenLexicon Open - - - Provides a rules repository with a simple web-based wizard published from simple Java web service API's that integrates rule sets with no code, so its scalable.
    Java CA Comm - - - -
    Java SAP Yasu Comm - - - -

    RuleXpress and RuleTrack from Business Rule Solutions, LLC (London, UK)

    open source engines


Go to Top of this page.
Next topic this page

Set this at top of window. Rules Language

    OpenL Tablets use spreadsheets as input.

    But more complicated rules require ontology languages (including XSB Prolog, Jess, HP Jena-2, and IBM CommonRules) which have origins in (artificial intelligence) languages Lisp and Smalltalk. These have their own specialized vocabulary.


Go to Top of this page.
Next topic this page

Set this at top of window. Rules Engine (Rete)

    Rete (pronounced Ree-tee) is an efficient rule evaluation algorithm because it remembers past test results across iterations of the rule loop, thus avoiding the inefficiencies of repeating the process of rules looking for facts. Its names (from the Latin/Italian 'rete' for net, or network) stems from its use of a network of nodes. It was developed in the late 1970s by CMU Dr. Charles Forgy.

      "Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem", Charles L. Forgy (Carnegie Mellon University), Artificial Intelligence 19 (1982), 17-37.
      "Expert Systems: Principles and Programming" by Giarrantano and Riley, Second Edition, (Boston: PWS Publishing, 1993).

    At the Rule Task level, the execution algorithm.

    The JBoss Rules engine uses what it calls the Rete-OO algorithm after adding node types needed for within an object-oriented (OO) language.


Go to Top of this page.
Previous topic this page
Next topic this page

Set this at top of window. Standards


Go to Top of this page.
Next topic this page

Set this at top of window. Performance Testing of Rule Engines

    From an Infoworld article in 2003

    OPS5 benchmark (dated 1991) from the University of Texas includes two benchmarks.

    Set this at top of window. Miss Manners

    The Miss Manners benchmark originated about 15 years ago with OPS5 and CLIPS (C Language Integrated Production System), two programming languages for rule-based production systems. Miss Manners includes a relatively simple rule base with only eight rules and a data generator. The idea is that Miss Manners has invited 16, 32, 64, or 128 guests with various hobbies to a dinner party. She wants to seat the guests in boy-girl-boy-girl arrangement so that each guest will have someone on the left or right that has a common hobby.

    The Miss Manners test becomes increasingly complex with the addition of hobbies and guests. The original test was written to stress any rule base, but some BRMS vendors discovered a trick to beat the system: By putting a single “not” statement in one of the rules, they enabled their systems to run the test 15 or 20 times faster. (Another trick is to rearrange the data so that the rules will run faster because the benchmark is data-sensitive.) Nevertheless, if you omit the tricks, Miss Manners is a very good measure of how fast a rules-inferencing system will run on any give platform and CPU.

    Set this at top of window. Waltz Benchmark

    The Waltz benchmark stresses a rule-base system by checking to see how well the rules engine does pattern matching. Consisting of 32 rules and a data generator, it analyzes the lines of a two-dimensional drawing and labels them as if they were edges in a three-dimensional object. The Waltz benchmark is harder to cheat with than the Miss Manners benchmark.

    Set this at top of window. Real World Benchmarks

    Fair Isaac produced an internal benchmark.


Go to Top of this page.
Next topic this page

Set this at top of window. Rule Logic

    Because Rules provide a mechanism for handling complex logic, a more complex vocabulary is needed to describe that mechanism:

    pattern matching complement

    sequential algorithms.

    algorithms share condition tests.

    decision tables and Decision Trees

    Incremental updates triggered by

    assert/update/retract

    dynamic scheduling using:

      refraction,

      priorities,

      recency.

    Ruleflow to segment and control rule execution

    Conditions of code calling for code to be executed. http://www.knowledgerulesinc.com/krome.htm


Go to Top of this page.
Next topic this page

Set this at top of window. Guardrails

    The complexity of Business Rules makes it important to use a good methdology. Pega Systems measures compliance to its "Guardrail" standard for configurations.

    Knowledge Rules offers its KROME


Go to Top of this page.
Next topic this page

Set this at top of window. IBM ILOG Resources


Go to Top of this page.
Next topic this page

Set this at top of window. Resources


Go to Top of this page.
Previous topic this page
Next topic this page

Portions ©Copyright 1996-2011 Wilson Mar. All rights reserved. | Privacy Policy |


How I may help

Send a message with your email client program


Your rating of this page:
Low High




Your first name:

Your family name:

Your location (city, country):

Your Email address: 



  Top of Page Go to top of page

Thank you!