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
-
Starting with the
release of 4.0 OpenRules will support two different
types of decision tables:
- 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
-
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.
-
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
-
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
-
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.
-
To
demonstrate the use of new features the
following new sample project have been included
in the standard OpenRules installation:
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.