For years different Rules Engines and Business Rules&Decision Management systems successfully help organizations worldwide to incorporate sophisticated decision logic into business applications and quickly update underlying business rules as market conditions change. In the new cloud-based world, the decision-making applications have new requirements to operational decision services.
The traditional monolithic services are being replaced by microservices that requires high availability, security, and super-fast performance. The customers are not satisfied anymore with a relatively slow startup time of 20–30 seconds — they want decision services to start under 1 second and execute millions of rules-based transactions a day under 10 milliseconds per transaction. And they want to deploy their decision services on-premise, on-cloud, and even on smartphones.
It means the decision execution engines cannot use dynamic features such as reflection and class-loading in run-time anymore. In response, forward-looking vendors started to migrate their well-established rule engines to a new world with Code Generation replacing Run-Time Interpretation. But doing this, they preserve references back to the original business rules, so when their tools report errors and provide explanations, they do it in business terms (!) which rules authors, who are usually business analysts, can understand.
Two major open-source products, Red Hat Drools and OpenRules, already announced the availability of their new implementations:
- Red Hat is turning Drools into a first-class serverless component and has introduced Kogito that embraces the Quarkus framework and GraalVM’s for super-fast startup times and low memory footprint;
- OpenRules introduced a brand-new product Decision Manager that executes exactly the same decision models as the classical OpenRules BRDMS, but uses a completely new execution mechanism that doesn’t need Excel-based Rules Repositories in run-time anymore as it converts all rules to Java ahead of time. As a result, decision services also can startup almost immediately, be executed within milliseconds, and have a minimal memory footprint.
Thus, business decision models can be naturally deployed as containerized decision services using Docker, Kubernetes, and utilize serverless architectures provided by major cloud vendors such as Amazon, Google, Microsoft, IBM or Oracle.