前面有聊过规则引擎以及RETE算法,今天就产品化方案给大家介绍下URule。带大家了解一下他是如何担当得起国产规则引擎大哥大的。
目录
第一章节:Urule
1、Urule简介
URule是一款国产公司(上海锐道信息技术有限公司)的纯Java规则引擎。该规则引擎提供了规则集、决策表、交叉决策表(决策矩阵)、决策树、评分卡、复杂评分卡、规则流等八种类型的业务规则设计工具,从各个角度满足复杂业务规则设计的需要。该引擎提供了可视化平台,可以让用户简单快速的基于浏览器做规则设计,以及仿真测试。该规则引擎核心采用Rete算法,在此基础上做了相关优化,对整个引擎的处理性能做了很大的提高。
2、系统架构图
用户通过浏览器打开URule规则设计器来定义业务规则,完成后的业务规则文件会被存储在规则存储仓库中。规则文件调用时引擎会从规则存储仓库里把指定的规则文件取出,再通过规则构建引擎对规则进行解析、编译,最后由规则执行引擎执行并返回结果。
3、技术架构图
4、运行模式
4.1、嵌入式模式
所谓的嵌入式,是指将URule Pro直接嵌入到我们的Java Web应用当中,作为应用的一部分运行。这种模式的好处是配置起来比较简单;
而不好的地方在于因为将URule Pro直接嵌入到我们的应用当中,如果我们有多个涉及到规则引擎的应用, 那么每个应用都需要嵌入一个URule Pro模块,
所以更多的时候我们使用的是独立服务模式。
4.2、本地模式
本地模式类似于嵌入式模式,所不同的是嵌入到我们客户端应用中的URule Pro模块仅仅为其规则计算部分(core部分),不含设计器部分(console部分);
之后将测试好的知识包导出为一个.data格式文件,然后把文件放在客户端应用的一个指定目录下或数据库中,这样客户端应用在调用知识包时就直接到这个指定目录下或数据库中查找目标.data文件并加载。
这种模式非常适用于规则运行环境封闭,且需要对外部屏蔽规则设计细节的应用需要,其部署模式简单、快捷,一旦有新的知识包放入指定目录中,客户端应用会自动检测并加载新的版本。
4.3、分布式计算模式
分布式计算模式是指将URule Pro部署为一个独立的Java Web应用,在这个应用里定义各个业务系统所需要业务规则,定义好后统一存储到一个规则存储仓库当中。
业务系统要使用规则时只需要指定URule Pro Server的地址即可通过HTTP协议取到目标规则包,然后解析并运行。