Open Your Business Rules!                     
Rules-based Operational Decision Services

Sample Rule Projects

OpenRules installation includes the following sample rule projects:

Project Name

Description

HelloRules

This is a basic rule project that decides how to greet a customer during different times of the day. For example, if a customer Robinson is a married woman and local time is 14:25, it produces a greeting like "Good Afternoon, Mrs. Robinson!". All rule tables and test data are defined completely in Excel.

HelloJava

This rule project is similar to "HelloRules" but test data comes from Java objects.

HelloGroovy

This Groovy project is similar to "HelloJava" but Excel rules are called from Groovy.

HelloJavaProtected

This rule project is similar to "HelloJava" but Excel files are protected

HelloJavaTemplates

This rule project shows how to use OpenRules templates by converting rules tables from the project "HelloRules" to summer and winter greeting rules that are based on the same template

HelloFromThreads

This project demonstrates how to organize a parallel execution of the same instance of the OpenRulesEngine in different threads and how to measure their performance

HelloJsr94

This rule project is similar to "HelloJava" but demonstrates how to launch OpenRules in accordance with JSR-94 standard Rule Engine API. This project depends on another project "lib.jsr94" that contains jar-files and sources for JSR-94 API.

HelloTwoEngineRuns

This project demonstrates how to run different Excel-based rules from the same OpenRulesEngine

HelloTwoEngines

This project demonstrates how to create and run different instances of the OpenRulesEngine

HelloXMLCustomer

This rule project shows how to use XML objects within a rule project

HelloXMLPeople

This rule project shows how to use array of XML objects within rule projects

AutoInsurance

This rules project shows how to organize complex rules-based calculations creating an auto insurance premium calculator. It demonstrates how to use OpenRules' data modeling mechanism for complex data structures with internal dependencies. It also demonstrates complex calculation methods.

HealthCare1

This project demonstrates how to implement the clinical guidelines. It defines business terms and facts, uses them to create and test the proper business rules. It does not use Decisions. See the detailed description at http://openrules.com/docs/ClinicalGuidelines.Part1.htm.

Loan1

This rule project specifies several decisions and related rule families for a loan pre-qualification process (without use of Decisions).

LoanExplain

This rule project demonstrates how to add an explanation mechanism to business rules by adding explanations of made decisions to the loan pre-qualification project "Loan1".

 
OverdraftProtection

This rules project shows how business rules are used to resolve such banking problem as overdraft. This rule service can be used to support a customer services rep while on the phone with a bank customer complaining about some problems with her account.

OneOrTwo

This project explains execution logic of decision tables showing that even trivial rules can be not so trivial.

Merge

This rules project shows how to merge and how not to merge cells within Excel-based rules tables.

DataArrays

This rules project shows how to access different data arrays defined in Excel from a Java program.

UpSellRules

This rule project demonstrates how deal with arrays of objects using complex up-sell rules organized in intuitive rule families. While presented rules use financial products, lists of products and services can be easily adjust to any industry.

Vacation

This project specifies complex rules for calculation employee vacation days using simple formulas within a decision table.

RuleRepository

This project demonstrates how to organized a rules repository using inter-related Excel rules books distributed between different directories and websites. It also shows how associate Java classes and methods with different rules that use them. Read more

RuleRepositoryDB

This project demonstrates how to organize a rules repository using a relational database. Read more

RuleRepositoryDBV

This project demonstrates how to organized a rules repository using a relational database with a built-in version control. Read more

SeasonRules

This rules project shows how to parameterize an OpenRules repository. It specifies different versions of similar rules inside inside the same repository. To define rules that offer  different travel packages for different years and seasons, we use environment variables YEAR and SEASON inside include statements of the Environment tables that define which rules should be included into the project. Read more

ExternalRulesFromJava

This rules project shows how to use external rules defined in Java. Read more

ExternalRulesFromGUI

This rules project shows how to use external rules defined in run-time from a GUI. Read more

ExternalRulesFromDB

This rules project shows how to use external rules defined in database tables. Read more

ExternalRulesFromXML

This rules project shows how to use external rules defined in XML files. Read more

com.openrules.tools

An optional library with convenience Java classes that contains predefined methods shared by different OpenRules-based projects.  It includes common printing methods, operators, a simple JDBC interface. It is a place where OpenRules and its customers contribute commonly used classes and methods.  The library comes with all sources included so that it may be easily understood, modified or extended by customers.

openrules.config

The main configuration project that includes needed OpenRules libraries and templates. This projects should be always present for other sample project to work.

All sample projects are accompanied by readme-files, include test cases, and can be executed directly from a file manager using "run.bat" or within an IDE such as Eclipse.

More sample projects are described at

     OpenRules-6 Decision Projects

     OpenRules Web Applications

You may always request samples you are interested in by sending an email to support@openrules.com.

 

Top