A brief analysis of the characteristics and usage scenarios of rule engines Drools, Aviator, and Easy Rules

Drools

Features:

  • The Java-based open source rule engine provides a powerful rule engine and business process management system.
  • It supports complex rule logic and pattern matching, and provides rich rule syntax and function libraries.
  • Provides a rule language (DRL) and a Java-based API, which is highly extensible.
  • Supports rule-based reasoning, decision-making, and event processing.

scenes to be used:

  • Complex business rules and decision-making logic scenarios: such as risk assessment, price calculation, preferential strategy, etc.
  • Event-driven systems: Process real-time event streams and make decisions and processes based on rules.
  • Business process management: can be used to manage and execute complex business processes, such as tasks, reviews, etc.

Aviator

Features:

  • High performance, lightweight
  • Supports complex expression calculations and conditional judgments, and provides a wealth of built-in functions and operators
  • Support operator overloading
  • It natively supports big integer and BigDecimal types and operations, and maintains consistent operation methods with general numeric types through operator overloading.
  • Native support for regular expression types and matching operator =~ 
  • Clojure-like seq library and lambda support can flexibly handle various collections
  • Supports custom function access and various customization options
  • Provides a concise expression language AviatorScript and a Java-based API

scenes to be used:

  • Expression calculation: such as mathematical calculations, string processing, etc.
  • Conditional judgment: such as judging whether a certain condition is met, selecting appropriate processing logic, etc.
  • Data processing and transformation: large-scale data processing and transformation, such as data cleaning, data formatting, etc.

Easy Rules

Features:

  • Simple and easy to use, focusing on handling simple business rules and decision-making logic.
  • Provides a declarative way of defining rules.
  • Supports rule priority and conditional judgment, and provides a Java-based API.
  • It has good scalability and flexibility and can be easily integrated.

scenes to be used:

  • Simple business rules and decision-making logic: such as approval process, permission control, etc.

Summary: Drools is suitable for processing complex business rules and decision-making logic, Aviator is suitable for performing expression calculations and conditional judgments, and Easy Rules is suitable for processing simple business rules and decision-making logic.

Welcome to follow the public account [Mashang Hunter] (*`▽´*) Come on, long live open source!

Guess you like

Origin blog.csdn.net/rice2020/article/details/131591683