Rule engine object

The rule engine reads rules from a ruleset archive, evaluates rule conditions against application objects, and executes the rules for the objects that meet the conditions. You can maintain the rule engine independently from the business applications.

The rule engine has the following functions:

The rule engine is designed so that you can manage the business behavior separately from the core, code-based architecture of an application. As a consequence, you can modify it independently from the code as often as necessary. The rule engine operates on rules that are expressed in IRL. This language expresses business rules in a form that is directly translatable to rule engine execution.

Decision Server provides a set of architecture-independent class libraries that you can use to integrate the rule engine into any Java™ application without predefined architectural constraints. You can deploy the rule engine on a Java Standard Edition (Java SE) or Java Enterprise Edition (Java EE) platform.

You must provide the rule engine with rules, in the form of ruleset archives. Rulesets interact with a calling application through input and output parameters. The ruleset and the ruleset parameters are packaged, ready for execution, into the ruleset archive. The rule engine matches rule conditions with objects that are defined by the ruleset parameters.

You can create a ruleflow to control the order in which rules are executed. A ruleflow organizes rules into a sequence of decisions by grouping the rules into rule tasks. Ruleset parameters transfer information from the application to the rule engine. After execution, the output parameters return the results back to the application.

The following diagram illustrates the instantiation of the rule engine. The ruleset is loaded into the rule engine, and the input parameters are passed to the rule engine. The working memory contains the referenced objects, and the agenda lists and orders the rule instances that are scheduled for execution.

Shows the rule engine object and the interaction with the ruleset parameters and the XOM.

The rule engine interacts with the application objects and the rules in the following way:

The rule engine processes the rules that you provide. It evaluates the rules against the application objects and executes the rules when appropriate.

The selection of the rules and the order in which they are selected also depend on the execution mode. The default execution mode is RetePlus, but you can also select the sequential or FastPath execution modes.