Business Rules Engine

Definition

A business rules engine separates business logic from your mission-critical applications in order to gain agility and improve operational performance.

 

A BRE platform should support a variety of rule types, so that business rule creators aren’t left trying to fit square pegs into round holes. Rule types include:

  • Process rules that automate the routing, assignment, and tracking of work tasks.
  • Decisioning rules of varied types including decision trees, decision maps, and decision tables.
  • Declarative rules that compute values or enforce constraints as other properties change.
  • Transformation rules that map and parse data across heterogeneous IT systems.
  • Integration rules that determine the right system connection to make in each circumstance.

A business rules engine empowers business users to create and manage business rules with minimal involvement from IT. It should complement your business workflow, integrate seamlessly with your existing IT assets, and scale for performance.

Best in class rules engines have the following characteristics:

Usability: Ensure it puts business users firmly in charge of creating and managing business rules, for maximum agility. Usability features include:

  • Intuitive rule forms to easily configure and manage business rules, a graphical user interface supporting drag and drop to link rules with application logic and process,
  • System guided entry of properties leveraged by the rules to maintain consistency across the ruleset and application,
  • Built-in review and approval processes,
  • A version-controlled rules inventory that supports the efficient reuse of existing rules,
  • A secure audit trail for all rules changes, and
  • Automatic documentation generation.

Power: Provides support for a wide range of rule types, including process rules that automate workflow management, decisioning rules of all types, declarative rules that compute values based on detected changes in other related property values, transformation rules that appropriately transform data as it passes across heterogeneous systems, and integration rules that determine the right system to invoke for each situation.  It is also imperative that rules can call other rules.  For example, a user leveraging a declarative rule in a decision table or tree.

Scalability: Ensure that the rules engine has distributed application nodes that can share a common rules database, for optimum scalability. Ideally the system employs an open Java and XML architecture, and can run any major operating system in conjunction with any major application server.

BRE solutions should all be compliant with the latest SOA, Web Services and other Architecture trends such as Open Source.

What it Includes

Business Rules Engine should include:

  • Decision Tables: basic if, then statements
  • Decision Trees: helps model complex decisions consisting of a series of branches that contain more specific conditions as the branches are navigated and evaluated
  • When Rules
    • Re-usable Boolean expressions
    • When rules are similar to a decision tree, the difference is the results are either True or False
    • They are used for simple branches or for determining when to display or not display user interface elements for a responsive user interface
  • Map Values
    • Use a Map Value to create a table of number, text, or date ranges that converts one or two input values, such as latitude and longitude numbers, into a calculated result value, such as a city name.
    • Map Value rules greatly simplify decisions based on ranges of one or two inputs.
  • Declare Expressions
    • A Declare Expression rule defines a computational relationship among properties
    • Depending on the rule configuration, the target property is calculated from the available data, when the target property is needed, or the engine can execute Declare Expression rules when a value is needed for a property, rather than when inputs change (forward – backward chaining)
  • A Declarative Network Display
    • The Declarative Network display conveys relationships among properties that are computed by Declare Expression rules in the selected application.
    • You can review relationships that depend on forward chaining or backward chaining.
    • By interacting with the Declarative Network display, you quickly can access the Declare Expression rules and the properties it references.
  • Constraints
    • Create Constraints rules to define and enforce comparison relationships among property values.
    • Constraints rules can provide an automatic form of property validation every time the property's value is "touched", in addition to the validation provided by the property or other means.
    • The system evaluates Constraints automatically each time a property identified in a constraints rule is changed. This technique is known as forward chaining.
  • Declare Trigger
    • Launches an activity (procedural treatment) when an object of a specified type is saved, deleted, or when a specific property value changes
  • Declare OnChange
    • Launch an activity (procedural treatment) when an object of a specified type is updated in memory (in the clipboard)
  • Case Match
    • Use a Case Match rule to retrieve objects (referred to as cases in this rule, they can be cases or data objects) from the database and evaluate them according to criteria you specify in the rule.
    • A Case Match rule can combine multiple factors into a single numeric score. The full power of Pega expressions and functions can compute factors that add into the score.
  • Collection
    • Use a Collection to model business logic and implement common rule engine patterns.
    • Collections define an ordered sequence of rules, the conditions under which they execute, and post-processing steps known as response actions.
    • The business-friendly options on this form help you to quickly develop flexible solutions that are easily understood by various audiences.
  • Business Rule Delegation
    • Business rules can be delegated to final users (individual business users oraccess groups for example) so they can update them in their end-user portal
    • Common rules to delegate : Decision trees, decision tables, map values, expressions, constraints
    • Function aliases
      • Improve the readability of rules
      • Reduce the risk of errors during maintenance
  • Business Flow Optimization
    • The Process Optimization tool can be used at runtime to analyze the flow execution statistics, and create Decision Tree or Decision Table rules using these statistics.
    • By saving these conditions as a decision tree or table rule, you can reduce work volume and eliminate operator handling in the workflow assignments.

What it Does not Include

Does not include features and requirements that are contained in other components such as:

  • Notifications and messaging, the core system for this is typically outside of BRE
  • Scheduling rules and the core scheduling system is outside of BRE
  • Can integrate with a case management system and drive the work to completion, but isn’t necessarily the system of record
  • Information security outside the BRE
  • ID and verification handled outside of BRE

Applicable Standards and Documents

  • Link to JTC component model
  • Business Rules Markup Language (BMRL)
  • OMG Decision Model and Notation standard to designed to standardize elements of business rule development
  • Standard for Java runtime API for rule engines JSR-94