The Java Rule Engine JaRE is based on Java and allows to run rules against a set of data - e.g. from files or databases. Rules can be combined to a complex logic using [and] and [or] conditions and by grouping the rules.
The results - which groups failed, how many, which rules failed, how many rules and rule messages - will be output to either a file or a mongo database. But users can easily extend this to other output mechanisms.
There is a web application available where rules and complex logic can be easily defined and grouped into projects. The web app also allows maintenance of users, user rights, LDAP login and more.
For details look on http://github.com/uwegeercken
This container allows to run the rule engine in client server mode. The server in the container waits for a socket connection from a client and then runs the data from the client though the rule engine and outputs the results.
You will need to provide a volume definition when running the container - the ruleengine requires a few files to be available on startup:
- a zip file containg the rules. This file can be exported from the Business Rule Maintenance Web application, where the rules can be defined
- a server.properties file containg information for the server such as port, log files, name of the zip file and more
- in case logging is done to a text file, a template (Apache Velocity) is required
You could run the container as follows:
docker run -d -v [folder on host]:[folder in container] uwegeercken/ruleengine [folder incontainer]/server.properties
last update: uwe geercken 2015-03-18