Business Rules Service Engine (Status
: Incubator)
Overview
Business Rules Service Engine (a.k.a "rules4jbi") is a JBI (JSR 208) compliant service engine that allows to integrate a JSR 94 compliant rules engine into a JBI container and expose a deployed ruleset as a stateless service within the JBI environment. The accompanied NetBeans plugins allow for easy creation of the deployment artifacts and integrate well with the rest of the NetBeans SOA/enterprise pack.
This project was originally donated and is still being developed by Milan Fort
.
Downloads and Installation
Service Engine
To install the service engine into OpenESB V2/GlassFish ESB runtime, follow these steps:
- Download rules4jbi.jar
to a location on disk
- Go to Netbeans - Services Panel - Servers - GlassFish - JBI - Service Engines
- Right click on Service engines node and select Install to browse for the file you downloaded at step 1
- Right click on installed engine and select Start
To install the NetBeans tooling support, follow these steps:
- Download org-openesb-components-rules4jbi-netbeans.nbm
and org-openesb-components-rules4jbi-netbeans-spi.nbm
to a location on disk
- Go to Netbeans -> Tools -> Plugins
- Click on the Downloaded tab
- Click Add Plugins to browse for the files you downloaded at step 1
- Click on Install and follow the prompts
Optionally, using the steps outlined above, you may want to install some or all of the following NetBeans modules:
Please note that the NetBeans tooling support for any rules engine is out of scope of this project. These modules only plug-in JSR 94 configuration values for the respective rules engines to the rules engine configuration panel in project's properties dialog and into the new project wizard.
Rules Engine
Rules4JBI is not a rules engine by itself and does not ship with any bundled rules engine either. Therefore, for proper operation, it requires you to install/deploy your chosen JSR 94 compliant rules engine. First, please consult your rules engine vendor's documentation to determine which jar files you need. Then, you have two options how to install/use the rules engine:
- you can copy the jar files into your GlassFish domain's lib/ext folder. This way, the rules engine will be available for all service units deployed into the service engine. This is a convenient way to install the rules engine, best suitable for testing purposes. Don't forget to restart GlassFish if it is already running as this mechanism does not support hot deployment.
- you can deploy the rules engine's jars along with the service unit. This will allow you to use different versions of the rules engine for different deployments.
Note that you are free to combine these two approaches, e.g. you can install one version into the lib/ext folder and then deploy a different version as part of your service unit. The version bundled with the service unit will take precedence. And obviously, nothing prevents you from using different rules engines for different service units.
As of December 2008, we do not officially support or endorse any rules engine. However, the project is tested to work with Jess
(the JSR 94 reference implementation), Jamocha
(a CLIPS-based rules engine like Jess, but Open Source), and Drools
(a.k.a JBoss Rules). We encourage other vendors of JSR 94 compliant rules engines to test their implementations against this component and report the results/problems to the users mailing list at OpenESB mailing lists
.
Getting Started
Screencast
Watch the screencast
to see rules4jbi in action.
Quick Start Guide
The Quick Start Guide contains a step-by-step explanations of what you have seen in the screencast
.
Sample Project
SampleRules4JBIProject.zip
contains the JSR 94 TCK example with Drools we have created in the Quick Start Guide. Contrary to that example, this sample project bundles Drools rules engine within the service unit, for easy, out-of-the-box experience. Please see the enclosed LICENSE.txt file for the license of Drools and its dependencies.
Steps to Use:
- The sample project's zip file contains Rules Module project and a Composite Application project. Extract the zip file and open both projects in NetBeans
- Build and deploy the Composite Application project
- Run the TestCase included in the Composite Application project
Development Status
The current version of rules4jbi is 0.4. The project has incubator status.
License
Rules4JBI is open source software licensed under the Common Development and Distribution License v1.0
.
Source Code
The source code for rules4jbi is located under Open JBI Components CVS
. The source is located under the contrib-fort/rules4jbi
directory.
Issue Tracker
Go to the OpenESB issue tracker
to submit issues. Please choose Business Rules Service Engine as the subcomponent.
Mailing Lists
For questions and feedback please use the OpenESB mailing lists
.