Open Your Business Rules!                     
Rules-based Operational Decision Services

Release Notes 4.0 (July-2007)

OpenRules Release 4.0 adds new features and components requested "from the trenches" by real-world OpenRules customers and consultants.  The major improvements include: 

  • Single-Hit and Multi-Hit Decision Tables  
    • Starting with the release of 4.0 OpenRules will support two different types of decision tables:
      • Multi-hit decision table executes all rules when conditions for these rules are satisfied - this is a standard OpenRules behavior for all previous releases. Multi-hit tables allow rule overrides
      • Single-hit decision table executes no more than one rule and will stop its execution upon the "first hit" (when a rule is satisfied for the first time). Single-hit table may return values produced by the last executed action. Single-hit tables do not allow rule overrides and provide a more natural support for representing "IF-THEN-ELSE" or "SWITCH" logic
    • Single-hit tables essentially expedite rules execution when decision tables are used to find/calculate only one value out of a large number of possible combinations
    • See examples and description
       
  • Use of Natural Language Expressions Inside Decision Tables
    • Instead of creating multiple columns for defining different ranges for integer and real values, a business user may define any from-to intervals in practically unlimited English using such phrases as:  "500-1000", "between 500 and 1000",  "Less than 16", "More or equals to 17", "17 and older", "< 50", ">= 10,000", "70+", "from 9 to 17", "[12;14)", etc.
      Having an access to the source code, a customer may customize and/or expand the standard implementation.  In particular, the provided features may be easily customized to support different national languages
    • A user may define different domains of integer and real numbers, various sequences of characters and words inside the same decision table cell by separating them with spaces or commas.  This removes a necessity to create multiple sub-columns
    • See examples and detailed description
       
  • DB-based Rule Repositories
    • Release 4.0 introduces DB-based rule repositories.  A user may move their Excel files with rules and other OpenRules tables into any RDBMS such as Oracle, MySQL, MS SQL or Apache Derby
    • OpenRules Engine will dynamically access such repositories without necessity to move Excel files back into a file system
    • Release 4.0 include two new protocols: 1) "db:" for simple db repositories; 2) "dbv:" for repositories with a built-in version control.  It also allows a user to create custom db-protocols.  Read more
       
  • Parameterized Rule Repositories
    • Release 4.0 allows you to parameterize your OpenRules repository in such a way that different rules may be invoked from the same rule repository under different circumstances.  For example, you may want to define rules that offer different travel packages for different years and seasons.  You may specify a concrete year and a season by using environment variables YEAR and SEASON and parameterize your include statements, e.g. ../${YEAR}/${SEASON}Rules.xls.  Read more

Additional new features include:

  • Enhanced List of Predefined Data Types
    • Release 4.0 introduces predefined data types for easier handling of Excel-based arrays of integers, doubles, and strings - see examples
       
  • Use of Formulas Inside Decision Table Cells
    • OpenRules allows the use of formulas presented as Java snippets directly inside rules table cells if these formulas are enclosed in curly brackets.  New release also allows a user to start formulas with ":=" and without closing ";" - see examples
       
  • Extended OpenRules API
    • Along with an array of objects, OpenRulesEngine's method "run" now accepts a single Java object as a parameter or may run without parameters at all
     
  • Combined jar-files
    • openrules.jar now includes classes previously kept in com.openrules.java.eval.jar used for syntax validation.  All build-files inside standard samples are corrected to reflect these changes
     
  • Additional Sample Projects
    • To demonstrate the use of new features the following new sample project have been included in the standard OpenRules installation:
      • HelloJavaDB and RuleRepositoryDB - show the use of a simple "db:" protocol
      • RuleRepositoryDBV - show the use of the "dbv:" protocol with a built-in version control
      • DataArray - shows the use of predefined datatypes
      • Loan1 - expanded with different natural language expressions.

Release 4.0 also fixes several bugs in the code, installation, and documentation found by OpenRules customers and testers.  The web site www.openrules.com as well as the online User's Guide have been modified to reflect introduced changes.

The OpenRules development team thanks all customers and consultants who contributed to the creation of this release.

 

Top