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/
发表评论