Drools 是一个业务规则管理系统 (BRMS) 解决方案。它提供了一个核心业务规则引擎 (BRE)、一个 Web 创作和规则管理应用程序 (Drools Workbench)、对一致性级别 3 的决策模型和表示法 (DMN)模型的完整运行时支持以及一个用于核心开发的 Eclipse IDE 插件。

Drools简介

JBoss Rules 的前身是Codehaus的一个开源项目叫Drools。最近被纳入JBoss门下,更名为JBoss Rules,成为了JBoss应用服务器的规则引擎。

Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现。具有了OO接口的RETE,使得商业规则有了更自然的表达。

Drools的用XML的<Conditons>、<Consequence> 节点表达If--Then句式,而里面可以嵌入上述语言的代码作为判断语句和执行语句。

其中Java代码会使用Antlr进行解释,而Groovy和Python本身就是脚本语言,可以直接调用。

Drools的聪明之处在于,用XML节点来规范If--Then句式和事实的定义,使引擎干起活来很舒服。

而使用Java,Groovy等原生语言来做判断和执行语句,让程序员很容易过渡、移植,学习曲线很低。

Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用非 XML 的本地语言编写规则,从而便于学习和理解。并且,还可以将 Java 代码直接嵌入到规则文件中,这令 Drools 的学习更加吸引人。

Drools 还具有其他优点:

非常活跃的社区支持

易用

快速的执行速度

在 Java 开发人员中流行

与 Java Rule Engine API(JSR 94)兼容

Drools 是开源软件,在 Apache License 2.0 下发布。它是用 100% 纯 Java™ 编写的,可以在任何 JVM 上运行,并且也可以在 Maven 中央存储库中使用。

更多信息可以在以下链接中找到:

 Drools Workbench(用于创作和管理的 Web UI)

 Drools Expert(业务规则引擎)

 Drools Fusion(复杂事件处理功能)

 jBPM(规则编排/流的流程/工作流集成)

 OptaPlanner(自动规划)

这些项目有来自 JBoss.org 的社区版本,但不提供支持。社区版本专注于快节奏的创新,为您提供最新最好的产品,每隔几个月发布一次,其中包括功能和修复。红帽 JBoss BRMS 是我们针对关键任务版本的企业产品,基于经过净化的 Drools 社区版本,承诺多年后提供修复。提供一系列支持包,包括高达 24/7 的关键任务,以及通过我们的全球专业服务部门提供的培训和咨询。检查 红帽流程自动化管理器 更多细节。

Drools 官方网站:https://www.drools.org/