映凡博客资源网
我们一直在努力

【更新】【平台框架】微擎框架v2.7.6去授权一键安装纯净商业版

1、规则引擎简介

规则引擎是一种嵌套在应用程序中的组件,实现将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则。

引入规则引擎后端带来的好处:

(1)实现业务逻辑与业务规则的分离,实现业务规则的集中管理。

(2)可以动态修改业务规则,从而快速响应需求变更。

(3)使业务分析人员可以参与编辑、维护系统的业务规则。

(4)使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得简单。

2、规则引擎选型比较:

目前的规则引擎系统中,使用较多的开源规则引擎是Drools,另外还有商用的规则管理系统BRMS是ILOG JRules。这两款规则引擎设计和实现都比较复杂,学习成本高,适用于大型应用系统。当然还有还有付费版的URule这样优秀的规则引擎。

1.Drools:

Drools 是用 Java 语言编写的开放源码规则引擎,基于Apache协议,基于RETE算法,于2005年被JBoss收购。Drools就是为了解决业务代码和业务规则分离的引擎。Drools 规则是在 Java 应用程序上运行的,其要执行的步骤顺序由代码确定,为了实现这一点,Drools 规则引擎将业务规则转换成执行树。drools优点:

1、简化系统架构,优化应用。
2、提高系统的可维护性和维护成本。
3、方便系统的整合。
4、减少编写“硬代码”业务规则的成本和风险。

​ Drools是一个业务逻辑集成平台(BLip)。它是用Java编写。它是由JBoss和红帽公司扩展支持,并实现Rete模式匹配算法的一个开源项目。

通俗地说,Drools是一种工具,使我们能够分离内部业务流程,找到逻辑和数据的集合。我们需要注意的两个重要关键词是逻辑和数据。Drools的被分成两个主要部分:编写和运行系统。

制作: 制作过程涉及创建规则文件(.DRL文件)。

运行时: 它涉及到创建工作存储器和处理活化。

优点:1.策略规则和执行逻辑解耦方便维护。

缺点:

​ 1.规则规模变大以后也会变得不好维护,相对硬编码的优势便不复存在。

​ 2.规则的语法仅适合扁平的规则,对于嵌套条件语义(then里嵌套when…then子句)的规则只能将条件进行笛卡尔积组合以后进行配置,不利于维护。

​ 由于Drools本身不提供可视化界面,所以需要集成到项目后需要再次开发动态配置页面及其功能,drools规则是文本的,可以先读取再加载执行,比如存储到数据库,每次加载规则都是从数据库中读取。而规则则可以通过其他方式写入数据库。

​ 由于Drools本身不提供可视化界面,所以调用方式可以分为以下两种:

创建好服务后提供api直接调用

二次开发。与前端配合(通过蚂蚁G6组件实现规则编辑,传递json格式的drl脚本),后端解析json并集成quartz或akka任务调度,使用spring kafka组件接收来自集群的数据流。

2.Ilog JRules:

IBM WebSphere ILOG JRules 是目前业界领先的业务规则管理平台。与传统的由 IT 人员用硬代码来维护规则的做法不同,ILOG JRules 让业务用户能够在不依赖或者有限依赖于 IT 人员的情况下,快速创建、修改、测试和部署业务规则,以满足经常变化的业务需求。ILOG JRules 提供了一整套的工具,帮助开发人员和业务人员进行规则的全生命周期管理。

主要组件:
1、Rule Studio(RS) 面向开发人员使用的开发环境,用于规则的建模和编写。
2、Rule Scenario Manager 规则测试工具。
3、Rule Team Server(RTS) 基于Web的管理环境,面向业务人员使用,用于规则发布、管理、存储。
4、Rule Execution Server(RES) 面向运维人员使用,用于规则执行、监控。

​ JRules 规则引擎提供了 RetePlus、Sequential 和 FastPath 三种运行模式,以适应不同的应用需求,获得最优性能。在基于业务规则引擎的应用中,需要根据不同应用的特点,合理地组织和编排业务规则,选择合适的运行模式,有助于更好的发挥规则引擎的效能,但同时复杂度较高。

3.Easy Rules:

Easy Rules 是一款 Java 规则引擎,它的诞生启发自有Martin Fowler 一篇名为 “Should I use a Rules Engine?” 文章。Easy Rules 提供了规则抽象来创建带有条件和操作的规则,以及运行一组规则来评估条件和执行操作的RulesEngine API。

特性:
1、轻量级框架和易于学习的API。
2、基于POJO的开发。
3、通过高效的抽象来定义业务规则并轻松应用它们。
4、支持创建复合规则。
5、使用表达式语言定义规则的能力。

4.Visual Rules:

旗正VisualRules是由国家科技部和财政部的创新基金支持,专门针对国内规则引擎市场空白的情况,结合国内项目的特点而开发的一款业务规则管理系统(BRMS)产品。

Visual Rules是在规则引擎基础上发展出来的一款产品,其秉承了规则引擎可以使业务逻辑的变化可以独立于程序之外的特点,同时结合国内软件项目的特点,为数据库层和界面层也提供了独立于程序之外配置的特点,因此本产品不光是一个业务规则管理系统,还是一个基于规则引擎的web快速开发平台。

​ 特点就不赘述了,不是开源的。

5.URule规则引擎

URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共六种类型的规则定义方式,配合基于WEB的设计器,可快速实现规则的定义、维护与发布。

URule提供了两个版本:一个是基于Apache-2.0协议开源免费版本,URule开源版本第一款基于Apache-2.0协议开源的中式规则引擎;另一个是商用PRO版本

————————————————
版权声明:本文为CSDN博主「Monica&Anthony」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AntdonYu/article/details/106103056

资源获取:

点击下方按钮,获取资源链接,安装方法请移步公众号文章查看;

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《【更新】【平台框架】微擎框架v2.7.6去授权一键安装纯净商业版》
文章链接:https://www.1457vip.com/186/
网站说明:本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
资源备注:本站资源来源于网络采集,版权归原作者所有,如有侵犯原作者权益,请及时联系我们,我们将在72小时之内删除文章资源。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

映凡博客资源网&映凡博客网&皮皮模仿站

首页隐私政策

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏