The OpenRulesTM Tutorials Home TOC | Installation Guide |
OpenRules Installation Structure
You may download OpenRules from http://www.openrules.com/download.htm. The standard OpenRules installation contains several projects that you may need (or not) based on your development needs. There are several OpenRules configuration projects and several sample projects.
OpenRules Configurations Projects
Configuration Project Required or Optional Description openrules.config Required This project is a simple placeholder for all OpenRules jar-files and related 3rd party jar-files. They are located in the subdirectory "lib". For simplicity, all sample projects depend on this project. It also contains build.xml file with a few targets used to compile, validate and run standard projects. All standard sample projects depend on openrules.config project. However, you do not need this project if you copy all needed jars to you own directory and properly adjust your build-files. The jar-file openrules.config/lib/openrules.all.java contains all necessary OpenRules classes. All other jars are standard 3rd party jar-files that you may or may not need. Besides openrules.all.java a minimal OpenRules configuration includes the following jars:
- poi-3.6-20091214.jar
- commons-logging-1.1.jar
- log4j-1.2.15.jar
- commons-lang-2.3.jar
You may use different versions of these commonly used 3rd party tools.
com.openrules.tools Optional com.openrules.tools.jar is an additional library with optional convenience classes. I t contains Java classes with predefined methods shared by different OpenRules-based projects. It includes common printing methods, operators, a simple DB interface, and 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.forms.lib Optional This is an optional library to support Web applications that use OpenRules Forms. It provide Excel files that supports typical interaction constructions, layouts and layout elements, and predefined data types. To work with Web-based applications, you will need web containers or application servers such as Apache Tomcat, IBM WebSphere or BEA WebLogic. While earlier versions of OpenRules included pre-installed Tomcat, starting from the Release 3.* OpenRules relies on the Tomcat or other servers installed by customers. All standard OpenRules examples that deal with Web Applications expect that you have Apache Tomcat already installed. To deploy your rules projects as Web Services you will also need to install Apache Axis 1.4.
OpenRules Sample Projects ►top
OpenRules provides multiple sample projects to support the "Learn By Examples" approach. There are three groups of sample projects:
- Hello Examples
- JSR94
- Other Examples.
A family of "Hello"-examples covers different types of applications from basic rules projects to presentation-oriented Web applications and Web Services. It also includes a few client applications for the "Hello" rules deployed as a Web Service. Other projects provide more complex examples of OpenRules applications. You may run all sample projects right "out-of-the-box". You have the ability to concentrate on what is essential – your business logic, presentation layouts and/or processing flows.
Hello Projects ►top
Sample Project Project Type Description HelloRules rules only This is an example of a basic project that contain business rules for generating a greeting based on the current time of day and a customer's gender, age, marital status. All data types are defined directly in Excel. HelloJava rules only This is an example of a basic rule project that works with a Java class named Customer. HelloXMLCustomer rules only This is an example of a basic rule project that works with a class named Customer defined in an XML file. HelloJsp rules integrated in a JSP-based web application This project adds a JSP-based GUI to the rules from the HelloRules project. The project is deployed on Apache Tomcat as a web application with business logic in OpenRules HelloForms rules and forms deployed as WAR This project adds a Web-based GUI to the rules from the HelloRules project. The project is deployed on Tomcat as a presentation-oriented web application HelloWS rules and forms deployed as WS This project includes all components for an automatic deployment of the rules from the HelloRules project as a Web Service on Tomcat. HelloWSExcelClient Excel client for WS This project contains an Excel table that launches the HelloWS service deployed on Apache Tomcat or other web server. From your Excel, open Visual Basic Editor to see the proper VB classes automatically generated based on the WSDL published by the Web Service HelloWS. HelloWSJavaClient Java client for WS This project contains an example of the Java class HelloWSServiceClientMain that launches the HelloWS service deployed on Apache Tomcat or other web server. This class uses Java classes from the directory "gen" automatically generated based on the WSDL published by the Web Service HelloWS. HelloWebSphere rules integrated in IBM WebSphere-based web application This project adds a JSP-based GUI to the rules from the HelloRules project. The project is deployed on IBM WebSphere as a web application with business logic in OpenRules HelloWebLogic rules integrated in BEA WebLogic-based web application This project adds a JSP-based GUI to the rules from the HelloRules project. The project is deployed on BEA WebLogic as a web application with business logic in OpenRules HelloJavaDB rules located in a database Demonstrates how rules repository can be moved to a relational database HelloJavatTemplates rules only This is an example demonstrates how to use Rules Templates JSR94 Projects ►top
OpenRules includes a reference implementation of the JSR94 standard known as Java Rule Engine API.
Sample Project Project Type Description lib.jsr94 rules only This project contains the standard JSR94 library com.openrules.jsr94 rules only This is OpenRules's reference implementation for the JSR94 standard HelloJsr94 rules only This example shows how to use JSR94 interface (created based on a simple HelloJava example) HelloJsr94Multi rules only This JSR94 project demonstrates how to invoke different rules and methods from the same RuleExecutionSet HelloJspJsr94 rules and Jsp HelloJspJsr94 is similar to HelloJsp but uses OpenRules JSR-94 Interface to
create and run OpenRulesEngine for a web application.Other Sample Projects ►top
Sample Project Project Type Description Vacation rules only A basic project that contains one decision table to define vacation days based on the age and length of service. Loan rules only This is an example of a basic project that contains business rules for loan pre-qualification. It is an implementation of a typical business rules use case described by KPI, Inc. LoanWeb rules and forms This project adds a Web-based GUI to the rules from the Loan project. The project is deployed on Tomcat as a presentation-oriented web application LoanDynamics rules and forms This is a presentation-oriented web application that supports
a dynamic loan approval process. Demonstrates an ability to dynamically add/delete/modify different securities related to an initial loan application. See details at http://openrules.com/LoanDynamics.htmLoanStudent rules and forms This is a dynamic web application that supports an interactive
product selection with rules and forms defined in OpenRules. Demonstrates how to create OpenRules tables with dynamic content.HealthCare rules only This is an example of a basic project that contains business rules for clinical guidelines described in detail in the use case study. HealhCareWeb rules and forms This project adds a Web-based GUI to the rules from the HealthCare project. The project is deployed on Tomcat as a presentation-oriented web application. UpSellRules rules only This basic rule project provides an example how to define up-cell rules for some banking products. OverdraftProtection rules only This basic project provides an example of problem resolution rules to assists a customer service representative during her phone conversation with a customer. RulesRepository rules only This rule project demonstrates how a business rules repository can be organized AutoInsurance rules only This rule project demonstrates complex data models. NumberGuess rules and forms This is an example of a Web Application that implements a number guessing
game that is frequently used as a sample application for different Web
development techniques. To see a detailed description, click here.SeasonRules rules only Demonstrates how to parameterize OpenRules repository. The same rules project supports rules for different years and seasons DataArrays rules only Demonstrates how to use predefined data types RulesRepositoryDB rules only This rule project demonstrates how a business rules repository can be organized in a simple database RulesRepositoryDBV rules only This rule project demonstrates how a business rules repository can be organized in a database with a built-in version control