The Java Community and Rule Engine Standards.

Daniel Selman, Johan Majoor · 2005

Introduction The number one request from the Java rules community is a standard business rules language (source: http://www.javarules.org). Developers view a standard rule language as a key enabling technology, allowing them to build tools and applications that can generate and manage rules, and execute them on multiple rule engines. A standard rule language breaks the dreaded lock and ensures that the considerable investment required to distill knowledge as business rules can be moved between execution environments. It also allows JSR-94, the Java Rule Engine API, to evolve to offer much more interesting services related to the semantics of execution and the internal structure of rules and rulesets. Underlying the request for a standard business rule language lurks the more difficult issue of semantic interoperability between rule engines. It is clearly not enough to have a standard XML Schema for business rules, and then have the rules execute differently on two rule engines! The difficulty of defining semantic interoperability is compounded by the diversity in rule engine products: ranging from RETE/AI/CLIPS heritage forward-chaining engines, through XML processing engines to decision trees and so forth. Consequently a major prerequisite for deriving significant value from a standard rule language is resolution of two major open questions: What is a rule engine? and How does a rule engine execute rules? The Java rule engine space is still very dynamic, with new vendor products and projects appearing monthly. There are approximately 25 commercial products and 18 open source software projects in the Java rule engine space (source: http://www.javarules.org).

Read the paper · More papers on PaperTik