BEA Systems, Inc. has released the final version of
Java Specification Request 94, a
Java Rule Engine API, in the Java Community Process.
"A rule engine may be viewed as a
sophisticated if/then statement interpreter. The if/then statements that are interpreted
are called rules. The if portions of rules contain conditions such as
shoppingCart.totalAmount > $100
. The then portions of rules contain actions
such as recommendDiscount(5%)
. The inputs to a rule engine are a rule execution set
and some data objects. The outputs from a rule engine are determined by the inputs and
may include the original input data objects with possible modifications, new data
objects, and side effects such as sendMail('Thank you for shopping'
)."
This API describes how applications load and use rule engines.
It does not define a standard rule
description language. The zip file for the proposed final draft includes a reference implementation.
Java 1.3 or later is required.