Rule-Based Services

A rules engine is a software system that executes one or more business rules in a run-time production environment. The rules might come from clinical guidelines or other sources. But generally they are developed and stored in a Business Rules Management System (BRMS) which effectively stores and provides version control for the rule. A business rule system enables policies and other operational decisions to be defined, tested, executed and maintained separately from application code. A major benefit of a rule engine is this separation of the rules from the operational code, meaning that the rules can be changed without having to redeliver modified applications.

KAI has recently delivered systems that use the Drools Rule Engine and the JBOSS Guvnor BRMS. We have found the performance of Drools to be very good, based on its enhanced implementation of the Rete algorithm which our framework has leveraged extensively.

We have also experimented with a JavaScript processor to execute logic within our framework, testing dynamically generated conditions, converting them to JavaScript code and then running them through the processor to determine if the conditions are true.