Open Your Business Rules!
Rules-based
Operational Decision Services
Release Notes 5.0 (March-2008)
OpenRules Release 5.0 essentially simplifies rules
repository construction and management and expedites
initialization of the OpenRulesEngine. OpenRules-5
introduces Rule Templates that allow rule designers
to completely hide implementation details of the business
rules tables. Rule templates are regular rules tables that
were usually used in previous OpenRules releases such as
this "defineGreeting" rules table:
With OpenRules-5 you may define different tables for summer and winter greetings by extending this table-template with particular rules:
Rules summerGreeting extends defineGreeting |
||
Hour From |
Hour To |
Set Greeting |
0 |
10 |
Good Morning |
11 |
18 |
Good Afternoon |
19 |
22 |
Good Evening |
23 |
24 |
Good Night |
and
Rules winterGreeting extends defineGreeting |
||
Hour From |
Hour To |
Set Greeting |
0 |
11 |
Good Morning |
12 |
17 |
Good Afternoon |
18 |
22 |
Good Evening |
23 |
24 |
Good Night |
Note that Rules tables "summerGreeting" and "winterGreeting" do not contains technical information at all - Java snippets and signature are defined only once and reside in the template-table "defineGreeting". Any regular rule table may serve as a template (or a base table) for other rule tables that extend it - the only requirement is that base and extended tables should have exactly the same condition and action columns. Both vertical and horizontal rule templates are supported.
While the new rules templatization mechanism is simple and intuitive it brings enormous advantages from the business rules management perspective:
-
Write once use many times
- Write rules for one state or country and then use them as a template for all other states/countries
- Changes in the implementation of a rule template are automatically propagated to all rule tables that extend this template
-
Complete separation
of business and technical views
- Business people have less to learn (and to be afraid of)
- Technical people have more freedom in rule templates design and maintenance not being afraid to scare their business counterparts by complexity of rules implementation logic
-
By placing rule
templates and rule tables in separate files you may
essentially simplify authorization control and
who-does-what assignments
- Rules repository
becomes smaller and easy to maintain
- Templates allow to avoid a "paste-copy" approach by minimizing the total amount of code and the size of rule tables
-
While preserving
the same structure changes in the templates and
rules could be done independently
-
Expedited initialization of OpenRulesEngine
- Use of rule templates not only minimizes the total size of rule repositories but contain much less code to be interpreted when OpenRulesEngine downloads all rules for the first time
- Based on the size and design of
the existing rules repositories the gain in the
initialization time could vary from 2 to 5 times
-
Libraries of rule templates specific for different lines
of business
- An ability to create OpenRules template libraries may allow leading organizations in different industries to implement already established business standards such as ACORD for insurances or MISMO for mortgages as a set of Excel-based templates. Even if the library implementers prefers to use their own business models initially they always may change the templates implementation later on without changing the business rules themselves
- A similar model will work well
for OpenRules OEMs who may define and maintain their
rule template libraries in accordance with their
latest business object models
-
Non-intrusive
approach
- Rule templates are regular rule tables that were always used in OpenRules repositories. They may include concrete rules and be executed as usual
- All rules repositories created before OpenRules-5 will continue to work without problems (just a little bit more efficiently)
OpenRules 5.0 includes a sample project "HelloJavaTemplates" that demonstrate the use of new features. The web site www.openrules.com as well as the online User's Guide have been modified to reflect the changes introduced by OpenRules-5.