Drools简介

简介: Drools简介

1.1 什么是规则引擎


规则引擎是由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

 

大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。开源的代表是Drools,商业的代表是Visual Rules ,I Log。


1.2  Drools规则引擎


Drools(JBoss Rules )具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。


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


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


1.3  Drools使用概览


Drools是Java编写的一款开源规则引擎,实现了Rete算法对所编写的规则求值,支持声明方式表达业务逻辑。使用DSL(Domain Specific Language)语言来编写业务规则,使得规则通俗易懂,便于学习理解。支持Java代码直接嵌入到规则文件中。


Drools主要分为两个部分:一是Drools规则,二是Drools规则的解释执行。规则的编译与运行要通过Drools 提供的相关API 来实现。而这些API 总体上游可分为三类:规则编译、规则收集和规则的执行。


Drools是业务规则管理系统(BRMS)解决方案,涉及以下项目:

  • Drools Workbench:业务规则管理系统
  • Drools Expert:业务规则引擎
  • Drools Fusion:事件处理
  • jBPM:工作流引擎
  • OptaPlanner:规划引擎

1.4 Drools版本信息


目前Drools发布的最新版本为7.0.0.Final,其他版本正在研发过程中。官方表示后续版本会加快迭代速度。本系列也是基于此版本进行讲解。


从Drools6.x到7版本发生重大的变化项:

  • @PropertyReactive不需要再配置,在Drools7中作为默认配置项。同时向下兼容。
  • Drools6版本中执行sum方法计算结果数据类型问题修正。
  • 重命名TimedRuleExecutionOption。
  • 重命名和统一配置文件。

    Drools7新功能:
  • 支持多线程执行规则引擎,默认为开启,处于试验阶段。
  • OOPath改进,处于试验阶段。
  • OOPath Maven 插件支持。
  • 事件的软过期。
  • 规则单元RuleUnit。

1.5  JDK版本及IDE


从Drools6.4.0开始已经支持JAVA8,最低版本JDK1.5。可通过Eclipse插件进行集成,也可通过Intellij IDEA中插件进行集成开发。Drools提供了一个Eclipse的集成版本,不过它核心依赖于JDK1.5。

关键Eclipse的集成官方有详细的文档可参考,这里不再赘述。本系列后续项目及示例演示均采用JAVA8和Intellij IDEA。


1.6  官方资料


官网地址:http://www.drools.org/

官方最新文档:

https://docs.jboss.org/drools/release/7.0.0.Final/drools-docs/html_single/index.html


目录
相关文章
|
算法 IDE Java
《Drools7.0.0.Final规则引擎教程》第1章 Drools简介
《Drools7.0.0.Final规则引擎教程》第1章 Drools简介
1422 0
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
929 0
|
JSON 安全 Java
Spring Boot 序列化、反序列化
本文介绍了Spring Boot中的序列化和反序列化。Java提供默认序列化机制,通过实现Serializable接口实现对象到字节流的转换。Spring Boot默认使用Jackson处理JSON,可通过注解和配置自定义规则。然而,序列化可能引发安全问题,建议使用白名单、数据校验和安全库。最佳实践包括使用标准机制、自定义规则及注意版本控制。文章还提醒关注性能并提供了相关参考资料。
798 2
|
10月前
|
搜索推荐 数据挖掘 API
探讨拼多多商品 API 接口:运用及收益
拼多多以其独特的商业模式迅速崛起,成为电商领域的重要力量。拼多多商品API接口为开发者和企业提供了一套强大的工具,能够获取丰富的商品信息,包括基本资料、价格详情、库存数据、商品图片、销售属性、销量数据及用户评价等。该接口在电商平台拓展、数据分析、移动应用开发和营销推广等多个领域展现出卓越的应用价值,不仅促进了销售额和利润的增长,还优化了用户体验,积累了宝贵的数据资产,为企业战略决策提供了重要依据。
973 5
|
Java 关系型数据库 MySQL
规则引擎 ice
规则引擎 ice
268 0
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
687 0
|
存储 NoSQL Java
Spring Data Repositories使用详解( Spring Data CRUD)
Spring Data Repositories使用详解( Spring Data CRUD)
469 1
|
Java Spring
4、Drools规则引擎-Drools入门案例
Drools的实现并不难,关键是了解他的语法即可
473 0
4、Drools规则引擎-Drools入门案例
|
存储 jenkins 持续交付
git文件过大导致构建失败的解决方案(快速提升jenkins构建速度)
git文件过大导致构建失败的解决方案(快速提升jenkins构建速度)
326 0
|
监控 网络协议 安全
2023年最新整理的中兴设备命令合集,网络工程师收藏!
2023年最新整理的中兴设备命令合集,网络工程师收藏!
1032 0

热门文章

最新文章