规则引擎

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ilog JRules
Ilog Jrules是完整的业务规则管理系统(BRMS),它提供了对整个企业业务规则进行建模、编写、测试、 部署和维护所必需的所有工具。
Ilog Jrules主要包括以下4个组件: ➢ Rule Studio(RS) 面向开发人员使用的开发环境,用于规则的建模和编写 ➢ Rule Scenario Manager 规则测试工具 ➢ Rule Team Server(RTS) 基于Web的管理环境,面向业务人员使用,用于规则发布、管理、存储 ➢ Rule Execution Server(RES) 面向运维人员使用,用于规则执行、监控 https://www-01.ibm.com/software/integration/business-rule-management/jrules-family/
➢ Drools Guvnor (BRMS/BPMS) ➢ Drools Expert (rule engine) ➢ Drools Flow (process/workflow) ➢ Drools Fusion (cep/temporal reasoning) drools代码地址 https://github.com/kiegroup/droolsjbpm-build-bootstrap/blob/master/README.md
创建测试类
动态规则: 动态规则思想:
1、输入的灵活性,不需要在调用端在创建Fact 2、规则可以动态的更新 3、规则的更新实现在线更新,热加载 动态规则的几种方式: 1、kie server + workbench 2、动态字符串 3、Kjar: git+maven DB+MQ 4、规则模板方式
规则引擎
2020-03-09
1、规则引擎简介 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离
出来,并使用预定义的语义模块编写业务决策。 规则引擎具体执行可以分为接受数据输入,解释业务规则,根据业务规则做出业务决策几个过程。 使用规则引擎可以把复杂、冗余的业务规则同整个支撑系统分离开,做到架构的可复用移植。
这两款规则引擎设计和实现都比较复杂,学习成本高,适用于大型应用系统。
Drools vs ILog vs Jess vs Mandarax
规则类型
Drools ILog Jess Mandarax源自文库
优点
缺点
开源、社区非常活跃、易使用、 免费、JSR94兼容(JSR94是Java Rule Engine API)、支持Java、强 大的工具集
4、开发流程 下载源码包h:ttps://drools.org/ 创建项目,引入binaries下所有jar包,加入到项目中
创建一个对象
创建规则文件drl(一)
创建规则文件drl(二)
推荐使用下面的方法,在添加规则时动态生产drl文件内容并保存到数据库,这样可以不用提前生成 drl;在执行的时候直接查数据库,根据不同的类别
2、规则引擎的应用 相对于业务系统,规则引擎可以认为是一个独立于业务系统的模块,负责一些规则的计算等。
一般来说,规则引擎主要应用在下面的场景中:
风控模型配置,风控是规则引擎 用户积分等配置,如日常操作引起积分变化等 简单的离线计算,各类数据量比较小的统计等
3、常用规则引擎的选型【Easy Rules/Drools/Ilog JRules/Jess/JLisa/Mandarax/QuickRules】
只支持一种推理方式、安全性不 够
性能高(电信领域使用)、易使 用
商业产品、不开源
支持2种推理方式(正向链和反向 链)、很强的表示、推理能力、 支持AOP
不开源、无规则管理工具、不易 使用
开源、免费、支持Java
JSR94不兼容(JSR94是Java Rule Engine API)、已经不更新、社区 不活跃、并且文档不全
Easy Rules
Easy Rules是一个规则引擎实现,相比Drools等企业级规则引擎,Easy Rules的应用非常简单,学习成本 低,容易上手。
Drools
Drools是一个基于Java的开源规则引擎,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形 式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。 目前版本是5.0.1,Drools从5.0后分为四个模块:
相关文档
最新文档