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
You may always request samples you are interested in by sending an email to support@openrules.com.