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
- 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.