Mar 1, 2022. Release 8.5.0 comes with many new features which make OpenRules Decision Manager even friendlier to subject matter experts and even faster to execute large input data sets.
Rules Validation. Release 8.5.0 essentially improves built-in compiler that validates Excel-based Rule Repositories and catches the majority of possible errors before generating Java code. It provides essentially improved error diagnostics in business friendly terms in design time.
New Implementation of Built-In and Custom Templates. Release 8.5.0 moves the old implementation of built-in decision table templates from Excel to Java further minimizing time for building and executing decision models. It provides uniformity to all types of decision tables (DecisionTable or DecisionTableSingleHit, DecisionTableMultiHit, and DecisionTableSequence) making them all to support the standard conditions and conclusions. It is very simple for a user to add custom types of conditions and conclusions using the tables of the type “Template“.
Condition=If and Action=Conclusion=Then. Starting with this release the keywords “Condition” and “If” become synonyms as OpenRules now automatically recognize the type of column by the number of sub-columns it uses. Similarly, the keywords “Action“, “Conclusion“, and “Then” also become synonyms and can be used interchangeably. We recommend our customers from now on to use only keywords “Condition” and “Action“. Of course, there many other standard conditions (e.g. ConditionVarValue) and actions (e.g. ActionExecute) that start with these words.
Efficient Handling of High Volume Requests. This release adds new capabilities to the automatically deployed RESTful decision services. Our customers with high volume requests will especially appreciate such new features as:
- The same endpoint URL now can handle both single and batch requests that simplifies decision service integration
- Now OpenRules REST and SprintBoot decision services automatically handle JSON requests compressed with gzip.
- Improved integration of OpenRules Java API with custom Java code.
Interrupting Execution. We added two default actions that can be used inside the column “ActionExecute” to interrupt the execution:
- ACTION-STOP – it forces to stop the execution of the remaining rules inside the current tables of the types “Decision”, “DecisionTableMultiHit”, and “DecisionTableSequence”
- ACTION-TERMINATE – it forces to stop executing the current decision table and all remaining decision tables that otherwise would be executed after it.
3rd Party Software Upgrades. We upgraded all used 3rd party tools to their latest versions including Apache POI 5.2.0, SLF4J, Jackson – see the automatically generated list of all third-party dependencies.
Other Enhancements. Our existing customers would appreciate the following small but very helpful enhancements:
- Along with the operators “Is” and “Is Not” now you may use “Is Ignore Case” and “Is Not Ignore Case“;
- You may take your text constants inside decision table cell in quotes. Sometimes it is convenient especially when your text constants contain only digits and Excel may automatically modify them. For instance, Excel may internally cut the constant 6102565243338 to the largest integer number 2147483647, but it would not happen if you use “6102565243338”;
- Improved Decision Diagrams in the OpenRules Explorer and nicely shown executed rules in the OpenRules Debugger;
- You may use arrays inside columns “ActionExpect” of the DecisionTest tables. For instance, if your decision model produces a text array “Explanations”, you may list all expected explanations through a new line in the same cell of the column “ActionExpect” for the variable “Explanations”.
Installation and Support
After you install the release 8.5.0, simply change the version of OpenRules Decision Manager in your pom-files to
The examples of the modified pom-files can be found in the installation workspace “OpenRulesDecisionManager”.
Attention Existing Customers:
Your existing decision services should continue to work as they did with previous releases but more potential errors could be caught. The only difference you may found if you use tables of the type “Decision” without the second row with “ActionPrint” and “ActionExecute” – starting with 8.5.0 you cannot omit these rows.
If you have any issues with the new release, please contact us at email@example.com and we will help.