Open Your Business Rules!                     
Rules-based Operational Decision Services

Release Notes 7.0.0

OpenRules Release 7.0.0 is a major release that essentially simplifies and at the same time enhances OpenRules decision modeling capabilities. Now OpenRules-based decision models are capable of recognizing its own internal structure, discovering and publishing all supporting business goals, and finally they can automatically calculate their execution paths. The following videos explain how to build and test decision models using OpenRules-7:
- Building and Executing Decision Models with OpenRules-7
- Goal-Oriented Business Decision Modeling with OpenRules

The major enhancements include:
  • Automatic Discovery of Decision Execution Path
  • Support for Goal-Oriented Decision Modeling
  • New Graphical Decision Model Analyzer
  • A redesigned Set of Sample Decision Models


Taking Simplicity Further
OpenRules-7 is making its software even more user-friendly without losing any of the sophistication of the already proven decision modeling technology. You don't have anymore to define execution sequence of your decision tables using a table "Decision". Now it is sufficient for a decision model author to define only Glossary and Decision Tables that specify business logic for all unknown decision variables. OpenRules engine will automatically figure out the execution order to automatically build and execute the decision models. Along with traditional single-hit and multi-hit decision tables, OpenRules will correctly build an execution path for those decision tables that deal with collections, including iterations with unlimited embedding levels.

Goal-Oriented Decision Modeling
OpenRules-7 supports a goal-oriented approach to decision modeling. This approach aims to creation of complex decision models  that cover certain business domains and capable to reach not just one but multiple business goals by providing answers to various questions in terms of automatically calculated decision variables. Such decision models can be designed by defining hierarchies of business goals and subgoals with relationships between them described in business-friendly decision tables. Without asking a human decision modeler to specify knowledge and information requirements, these models are able to automatically calculate an execution path within the decision model that leads to any business goal supported by the decision model and selected by a user.

New Graphical Decision Model Analyzer
OpenRules-7 includes a new “Decision Model Analyzer”, a stand-alone web application built on top of OpenRules and freely available online from here. Its main purpose is to allow a business user to analyze different decision models to better understand why certain decisions were made. The Analyzer comes with a collection of predefined decision models and allows business users to add, execute, and analyze their own decision models. The Analyzer also can be downloaded with all sources and easily customized. Now our potential customers can do serious evaluation of OpenRules capabilities without any downloads.

Redesigned Library of Decision Models
Release 7.0.0 comes with a newly redesigned library of sample decision models called "openrules.models". A typical decision model project such as "Hello" now has the following structure:



The file “DecisionModel.xls” is considered as an entry point to a decision model. It usually contains the high-level description of the decision model (e.g. optional DMN-based decision requirements diagrams) and the “Environment” table that describes the internal structure of the decision model including references to all included files, standard template from "openrules.config", and possible related Java packages. The file “Rules.xls” contains decision tables, the file “Glossary.xls” contains the glossary, and the file “Test.xls” contains test cases. There is a new batch-file “built.bat”:



When you double-click on this file, OpenRules will:
1) analyze the decision model whose Environment table is defined in the INPUT FILE (rules/DecisionModel.xls)
2) define an execution path for the specified GOAL ("Hello Statement") and all its subgoals
3) save the generated tables in the OUTPUT FILE (rules/Goals.xls).
The file "Goals.xls" will contain a generated table "DecisionHelloStatement" of the type "Decision" that specifies the calculated execution order. The name of this table is composed using the word "Decision" and the goal with all spaces being omitted. In previous versions, this table had to be created manually. As before, you may execute the decision model by double-click on "run.bat" that still looks as in previous versions:



Of course, you still may create the file "Goals.xls" manually. If y
ou don't want to create the table "DecisionHelloStatement" at all, you may skip the "build.bat" step and  just use your goal as the decision's name in the file "run.bat", e.g.: 
   set DECISION_NAME="Hello Statement"
In this case "run.bat" will create the execution path on the fly (without saving it in an xls-file) and will execute the model. It can be useful during testing, but of course it is better to generate "Goals.xls" ahead of time before going to production.
As always, it's better to keep your test cases in a separate file "Test.xls" not to mix them with the production environment. The Environment table inside "Test.xls" may refer to "Goals.xls" or directly to "DecisionModel.xls".

The old sample decision models are also available and continue to work - see the downloadable workspaces "openrules.dmn" and "openrules.decisions".

Additional Capabilities

Handling Different Date Formats
Previous OpenRules versions assumed that Date variables are presented only in the standard format specific for a particular country (locale). For example, the standard US date formats are: "MM/dd/yyyy" and "EEE MMM dd HH:mm:ss zzz yyyy". Now we also support "MM/dd/yy HH:mm" and "yyyy-MM-dd" formats.

Adding Breaks to DecisionIterate
We've added an advanced decision table of the type DecisionIterateWithBreak that allows you to break your iteration process when certain conditions are achieved. Here is an example of the proper rules:

This decision table will iterate through the list of department's "Employees" applying to each employee the rules "EvaluateOneEmployee":

The iteration process will stop when the boolean decision variable "Department Has High-Paid Employees" is TRUE.

Old Deprecated Excel Templates Have Been Removed
If you prefer to restore the deprecated method, you may remove an empty line between the first and the second "include" in the file "openrules.config/DecisionTemplates.xls" to make the Environment table to look as below:


Advanced DecisionBook API
The Java API "DecisionBook" now includes an ability to generate tables of the type "Decision" like those in the file "Goals.xls" described above.

Bugs Fixed
- Fixed an error in the operator "Are" for non-string arrays or lists
- Fixed an error in the method Dates.months(date1, date2)

Download the latest complete OpenRules release 7.0.0 from here.

If you have any questions, comments or suggestions, please post them at the Google Discussion Group or send them directly to support@openrules.com

 

Top