Wednesday, April 23, 2014

Rules Engine

  • Should I use a Rules Engine?
commands in sequence with conditionals and loops, it provides a list of production rules. Each rule has a condition and an action - simplistically you can think of it as a bunch of if-then statements.

The subtlety is that rules can be written in any order and the system can choose to evaluate them in whatever order makes sense for it. A good way of thinking of it is that the system runs through all the rules, picks the ones for which the condition is true, and then evaluates the corresponding actions.

http://martinfowler.com/bliki/RulesEngine.html


  • Getting Started With the Java Rule Engine API (JSR 94): Toward Rule-Based Applications
For many mission-critical applications, the process of automating business policies, procedures, and business logic is simply too dynamic to manage effectively as application source code

The Business Rules Group defines a business rule as a statement that defines or constrains some aspect of the business; a business rule is intended to assert business structure or to control or influence the business's behavior

A rule engine evaluates and executes rules, which are expressed as if-then statements. The power of business rules lies in their ability both to separate knowledge from its implementation logic and to be changed without changing source code.

http://www.oracle.com/technetwork/articles/javase/javarule-139829.html



  • Open Source Rule Engines in Java


Drools
https://www.jboss.org/drools/
Mandarax
JLisa
JEOPS - The Java Embedded Object Production System
OpenRules
Open Lexicon
SweetRules
JRuleEngine
http://java-source.net/open-source/rule-engines

No comments:

Post a Comment