Table of Contents
1简介 1 12安装与配置 1 23库文件介绍 1 34规则集 145脚本式规则集 1 56决策表 1 67交叉决策表 1 78评分卡 1 89复杂评分卡 1 910决策树 1 101 1规则流 1 1 112内置动作定义 1 1213代码中调用规则 1 1314数据库中存储知识库 1 1415知识库权限配置 1 1516客户端服务器配置 1 1617与SpringBoot集成 1 1718调试信息输出 1 1819知识包测试 1 1920规则监控 120
1
1.产品简介
规则引擎是一种嵌入在应用程序中的组件它可以将业务规则从业务代码中剥离出来使用预先定义好的语义规范来实现这些剥离出来的业务规则规则引擎通过接受输入的数据进行业务规则的评估并做出业务决策。因为规则引擎将复杂的业务逻辑从业务代码中剥离出来所以可以显著降低业务逻辑实现难度 同时剥离的业务规则使用规则引擎实现这样可以使多变的业务规则变的可维护配合规则引擎提供的良好的业务规则设计器不用编码就可以快速实现复杂的业务规则 同样 即使是完全不懂编程的业务人员也可以轻松上手使用规则引擎来定义复杂的业务规则。
业务系统运行过程中难免会发生业务规则变化的情形有了规则引擎业务规则部分采用的是规则引擎实现这样在系统正常运行的情况就就可以利用规则引擎对业务规则进行修改从而实现业务规则的随需应便。
URule Pro是一款由上海锐道信息技术有限公司自主研发的一款纯Java规则引擎它可以运行在Windows、 Linux、Unix等各种类型的操作系统之上 URule Pro的规则设计器采用业内首创的纯浏览器编辑模式无须安装任何工具打开浏览器即可完成复杂规则的设计与测试 我们可以从以下几个方面来了解URule Pro。
强大的功能
在URule Pro当中提供规则集、决策表、交叉决策表决策矩阵 、决策树、评分卡、复杂评分卡、规则流等八种类型的业务规则设计工具从各个角度满足复杂业务规则设计的需要。
如果我们的业务给出的是零散的逻辑规则那么可以使用规则集来实现如果给出的是表格形式的业务规则那么可以直接使用对应的决策表或交叉决策表决策矩阵来实现如果需要对实体进行综合评分则可以使用评分卡或复杂评分卡来实现最后还可以通过规则流对一系列复杂的规则个体进行编排将这个规则流作为实际业务规则调用入口从而实现任意复杂的业务规则。
简单的使用方式
URule Pro中提供的所有的规则设计器及仿真测试工具全部基于浏览器实现所有的规则设计器皆为可视化、 图形化设计器通过鼠标点击即可实现复杂的业务规则定义 URule Pro中规则的多条件组合也是以图形方式展现这样即使没有任何编程经验的普通业务人员也可以轻松上手完成复杂业务规则的定义。
因为所有的业务规则设计器都是基于网页的且规则的定义都是通过鼠标点击的方式完成所以对于一个普通的使用者来说配合教学视频两到三天即可完全掌握URule Pro中各种设计器的使用结合业务需要定义出想要的业务规则。
优秀的性能
URule Pro后台采用纯Java实现运行时借鉴Rete了算法的优势再结合中式规则引擎的特点独创了一套自己的规则模式匹配算法这套算法可以从根本上保证规则运行的效率实现大量复杂业务规则计算时的毫秒级响应。完善的服务
锐道秉持“用户第一”的理念无论售前售后 URule Pro都配有专门的研发人员负责相应技术支持使用过程中遇到问题可以通过电话或其它方式第一时间联系到一线研发人员 以保证问题得以快速解决。
系统架构
2
系统架构图
从上图中可以看到使用者通过浏览器打开URule Pro规则设计器来定义业务规则完成后的业务规则文件会被存储在规则存储仓库中在URule Pro当中规则存储仓库既可以是文件系统中的某个目录也可以存储于数据库当中 。规则文件调用时引擎会从规则存储仓库里把指定的规则文件取出再通过规则构建引擎对规则进行解析、编译最后由规则执行引擎执行并返回结果。
运行模式
实际使用时有两种使用URule Pro的方式一种是嵌入式一种是独立服务模式。
嵌入式模式
所谓的嵌入式是指将URule Pro直接嵌入到我们的Java Web应用当中作为应用的一部分运行。这种模式的好处是配置起来比较简单而不好的地方在于因为将URule Pro直接嵌入到我们的应用当中如果我们有多个涉及到规则引擎的应用那么每个应用都需要嵌入一个URule Pro模块所以更多的时候我们使用的是独立服务模式。独立服务模式
3
独立服务模式是指将URule Pro部署为一个独立的Java Web应用在这个应用里定义各个业务系统所需要业务规则定义好后统一存储到一个规则存储仓库当中。业务系统要使用规则时只需要指定URule Pro Server的地址即可通过HTTP协议取到目标规则包然后解析并运行其运行模式图如下所示
在独立服务模式下一个URule Pro Server可以下挂多个需要用到规则引擎的业务系统但实际的业务规则在运行时还是发生在各个业务系统中而不是URule Pro Server上。
各个业务系统在运行业务规则时会首先检查要运行规则对应的规则包在本地缓存中是否存在如果存在则直接使用不存在则通过配置的URule Pro Server地址向Server发出使用对应规则包的请求 URule Pro Server收到请求后会将指定的规则包序列化成JSON通过HTTP协议传递给请求的业务系统。业务系统收到传递过来的规则包后会首先对其进行反序列化将JSON格式的规则包反序列化为Java对象并在本地缓存下来然后再使用这个规则包进行业务规则的计算。
可以看到在这个过程当中 URule Pro Server只负责业务规则的定义、编译与发布不负责具体的业务规则执行具体的规则执行还是发生在各个业务系统当中这是一种典型的分布式计算模式可以大大减轻URule Server的压力使得规则的计算可以分布到各个业务系统所在的服务器上从而可以根据需要对计算规则的服务器进行灵活的扩充。
规则更新
在独立服务模式下规则包的更新有两种方式一种是主动推送方式一种为定时更新的方式。
主动推送方式是指URule Pro Server在规则包更新后会主动将更新后的规则包通过HTTP协议推送到配置好的各种业务系统应用的缓存当中这样各个业务系统中的规则包就可以与Server中的规则包时刻保持一致但这种推送方式要求对应的各个业务系统应用必须是一个标准Java Web应用否则这种推送无法实现如果您的业务系统应用是一个Java应用而非一个标准的Java Web应用那么要更新规则包就不能采用这种推送方式而需要使用定时更新的方式。
定时更新方式是指具体调用规则的业务系统可以通过相应的参数配置周期性的检查URule Pro Server上当前业务系统用到的规则包是否有更新如果有则主动从Server上取下来并序列化成Java对应缓存到当前业务系统中备用如果没有更新则不做任何操作。
所以如果您的业务系统是一个非Java Web应用那么更新规则包可以采用定时更新的方式实现相反如果您的业务系统是一个标准的Java Web应用那么主动推送和定时更新两种方式都可以 当然主动推送的方式更为合适。
4
规则设计器
URule Pro当中提供了向导式规则集、脚本式规则集、决策表、交叉决策表决策矩阵 、决策树、评分卡、复杂评分卡、规则流八种类型的业务规则设计工具我们来看看这些设计器以及它们设计出来的规则的样子。向导式规则集
规则集也叫决策集是由一系列单个普通规则以及循环规则构成的规则集设计器采用全向导方式通过鼠标点击就可以完成规则配置。
5
定义好的普通规则如下图
7
定义好的循环规则如下图
脚本式规则集
如果使用URule Pro的是一名程序员那么在编写规则的时候可能会更倾向于使用脚本方式业定义业务规则。在URule Pro当中向导式规则集能实现的功能脚本式规则集全部可以实现反之亦然。
8
脚本式规则集编辑器是一个基于浏览器技术的脚本编辑器、提供了完善的关键字及BOM信息提示、脚本合法性的实时检测、语法错误提示、适合业务人员使用的中文关键字等功能。
在脚本式规则编辑器里既可以定义英文关键字脚本式规则也可以定义中文关键字的脚本式规则还可以定义中英文混合关键字的脚本式规则。
9
IncogNet LLC是个由3个人运作的美国公司,主要特色是隐私保护,号称绝对保护用户的隐私安全。业务涵盖虚拟主机、VPS等,支持多种数字加密货币、PayPal付款。注册账号也很简单,输入一个姓名、一个邮箱、国家随便选,填写一个邮箱就搞定了,基本上不管资料的真假。当前促销的vps位于芬兰机房,全部都是AMD Ryzen系列的CPU,性能不会差的!5折优惠码:CRYPTOMONTH,支持:BTC,...
官方网站:点击访问酷番云官网活动方案:优惠方案一(限时秒杀专场)有需要海外的可以看看,比较划算29月,建议年付划算,月付续费不同价,这个专区。国内节点可以看看,性能高IO为主, 比较少见。平常一般就100IO 左右。优惠方案二(高防专场)高防专区主要以高防为主,节点有宿迁,绍兴,成都,宁波等,节点挺多,都支持防火墙自助控制。续费同价以下专场。 优惠方案三(精选物理机)西南地区节点比较划算,赠送5...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...