Application programming interface (API) for the decision engine

The decision engine is composed of several interfaces and subinterfaces to control the engine.

Use the decision engine API to define the loading of ruleset archives into an engine loader. An engine loader represents the result of the compilation of a ruleset. It is not an executable engine. From an engine loader, you load an archive and create an engine definition. You can parameterize the creation of the engine definition by providing an external BOM-to-XOM mapping, a class loader, and other optional parameters. From an engine definition, you can access rules or tasks, and create an executable engine.

Decision engine classes

A decision engine is an instance of the Engine interface. The Engine object is a Java™ object. This interface and its subclasses contain all the methods required to control the engine.

An instance of the Engine interface is always attached to an instance of EngineDefinition. The EngineDefinition interface describes the rules and tasks. The Engine object executes the rules. An application can contain several rule engine objects.

Decision engine packages

The Decision Server class library consists of packages that contain classes and interfaces for different components.
com.ibm.rules.engine.runtime
Contains EngineDefinition and Engine, which are the main interfaces for implementing the engine objects.
com.ibm.rules.engine.ruledef.runtime
Contains Rule, RuleEngine, RuleEngineDefinition and other rule-related interfaces.

The RuleEngine interface uses a working memory and an agenda to store and manipulate application objects. The working memory contains references to the application objects. The agenda lists and orders the rule instances that are eligible for execution.

com.ibm.rules.engine.ruleflow.runtime
Contains Rule, RuleflowEngine, RuleflowEngineDefinition, and other classes and interfaces related to ruleflows. The RuleflowEngine interface controls the execution of tasks and rule tasks.
com.ibm.rules.engine.load
Contains the EngineLoader interface to load a ruleset archive as an EngineDefinition object.