TrustRadius: an HG Insights company

Drools

Score7 out of 10

7 Reviews and Ratings

What is Drools?

Drools, developed by Red Hat, is a Business Rules Management System (BRMS) designed to streamline and automate decision-making processes. According to the vendor, Drools caters to a wide range of professionals including business analysts, software developers, and data scientists, and finds application in various industries such as the financial services and healthcare sectors.

Key Features

Drools Workbench (web UI for authoring and management): According to the vendor, this web-based application provides a user-friendly interface for creating, editing, and managing business rules. It supports collaboration among team members, version control, and rule deployment.

Drools Expert (business rules engine): The core component of Drools, it executes business rules written in the Drools rule language (DRL). According to the vendor, it supports both forward and backward chaining rule execution, complex rule conditions and actions, and provides rule evaluation and inference capabilities.

Drools Fusion (complex event processing features): According to the vendor, Drools Fusion enables real-time event processing and complex event detection. It supports event correlation, pattern matching, temporal reasoning, and allows the definition of event-driven rules and actions.

jBPM (process/workflow integration for rule orchestration/flow): With integration to the jBPM workflow engine, Drools allows the seamless integration of business rules with business processes. According to the vendor, it supports the definition and execution of rule-driven workflows, provides flexibility in defining rule execution order, and allows the integration of human tasks and decision points.

OptaPlanner (automated planning): The integration with OptaPlanner constraint solver enables the optimization of resource allocation and scheduling problems. According to the vendor, it supports the definition of optimization constraints and objectives, provides various optimization algorithms and strategies, and allows the integration of automated planning with business rules.

Decision Model and Notation (DMN) support: According to the vendor, Drools offers full runtime support for Decision Model and Notation (DMN) models at Conformance level 3. It allows the execution of DMN decision tables and models, provides a graphical representation of DMN models, and supports the definition of decision logic using DMN expressions and decision tables.

Eclipse IDE plugin for core development: The integration with Eclipse IDE provides a dedicated plugin for Drools rule language (DRL) development. According to the vendor, it offers syntax highlighting, code completion, rule validation features, and enables remote debugging of rule execution.

Maven Central repository availability: Drools is available in the Maven Central repository, simplifying dependency management and integration with Maven-based projects. According to the vendor, it provides access to the latest stable releases, simplifies inclusion in project build configurations, and allows seamless integration with other Java libraries and frameworks.

Categories & Use Cases

Drools to rule over the rules

Use Cases and Deployment Scope

Drools is used to manage business logic and to make it easy to understand and maintain. Drools helps you manage logic without complete knowledge of code. You concentrate on business logic only. It is very efficient when it comes to rules evolution when logic evolves with new business problems or capacities.

Pros

  • Writing rules with business focus
  • Rules evolution and maintenance
  • separate business logic from program code

Cons

  • Error handling may be difficult
  • Accurate for big projects, for small projects it may be too much effort

Most Important Features

  • Versioning
  • Ui to make evolution easy

Return on Investment

  • Separation between code and rules make it easy to evolve with business agenda
  • Error handling was sometimes tricky and required expertise

Other Software Used

Ionic, Angular Feature Flags, Google App Engine

Drools - Dealing with evolving complexity

Pros

  • We started using the Drools since its early open source version, now Drools has grown to one application suite. We are majorly using the rule engine core Expert. It is very well integrated with our corporate programming language standard - java.
  • We also use Fusion to write rules about events that occur over time, which enhance our capability of dealing with static data and dynamic events for some complex business environment. Also, we like the fact that Fusion fully implements all first-order logic operators, which helps us deal with CEP very well.
  • The new editor UI Guvnor has been improved a lot and the optimization module Solver does a good job to "compile" complex rule flows to gain more performance.

Cons

  • Fusion doesn't support persistence of working memory, which brings some extra high availability risk to our business.
  • Guvnor still has a lot room to be implemented, it is not so user-friendly for non-technical people, so a lot of business users complain it is hard to master.
  • Rule execution server doesn't even have JMX implemented, hard to be monitored.
  • Drools is still lacking support for key Web services standards.

Return on Investment

  • The IT department quickly adopted Drools as it is a very good java-based rule engine, which saves a lot of time to meet the project timeline and balanced our business requirements.
  • Recently we start considering the OpenRules, which may be more business user-friendly.

Other Software Used

IntelliJ WebStorm