Java and the rule engine

The pure Java design of the rule engine fosters execution performance of your business rule applications on Java SE and Java EE.

The rule engine directly integrates with Java to maximize optimization.

Integration with Java

Traditional rules-based systems often require a proprietary language to define the objects used by the rule engine. In contrast, the Decision Server rule engine works by direct inference from Java objects in the application, without any duplication. The rule language supports any class type. Therefore, you can use any application classes and you do not have to derive application classes from Decision Server classes.

Note: In the classic rule engine, rules are directly applied to the application objects because rules only carry a reference to objects. Consequently, no intermediate layer between the application classes and rules is required. This approach saves memory and increases performance, because no synchronization between "shadow" objects and application objects is necessary.

Optimization for Java EE and Java SE

Decision Server can scale inexpensively with respect to the number of servers and CPUs in a Java EE environment and to the number of rules in a Java SE environment.

Rules are generally preparsed when the rule engine instance is created, which saves ruleset parsing time when the engine evaluates business rules.