产品概述
前言
规则引擎是一种负责业务规则定义及运算的服务引擎,它可以帮助我们将复杂的业务逻辑从应用代码当中剥离出来,通过预定义的语义规范来编写业务规则,接收输入的业务数据,根据业务规则做出相应决策。同时,系统在运行时可根据业务系统的变化实时在线修改业务规则,可大幅降低业务系统的维护复杂度及成本,实现业务规则的随需而动。
产品简介
URule Pro是一款由锐道自主研发的规则引擎,它可以运行在Windows、Linux、Unix等各种类型的操作系统之上,包括银河麒麟、中标麒麟、统信等国产操作系统,兼容国内各种主流软硬件厂商产品,满足各级党政机关及企事业单位,信创办公需求,自主可控。
URule Pro后台采用纯Java实现,运行时借鉴Rete了算法的优势,再结合中式规则引擎的特点,独创了一套自己的规则模式匹配算法,这套算法可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。
提供基于网页的可视化规则设计器,可让开发人员或最终用户在不编写代码的情况下就可以根据自己的业务定制出相应的业务规则,可大幅提高系统开发效率,降低系统后续维护成本。
URULE PRO提供基于浏览器的可视化规则编辑器,用户无需安装任何开发环境,即可进行规则的开发和维护,适合业务人员使用。
URULE PRO提供了七种类型的规则设计器,分别是:向导式决策集、决策表、交叉决策表(决策矩阵)、决策树、评分卡、复杂评分卡、决策流等。还提供了15大类,近40个小类的常用数学符号,可进行几乎所有类型的可视化的科学计算,URule Pro应该是目前市面上唯一一款能进行可视化科学计算的规则引擎
URULE PRO支持与各种后台业务逻辑进行对接,实现与业务系统的无缝集成。
在URULE PRO当中提供了功能强大的在线规则仿真测试功能。规则编写完成之后,可以对相关规则包进行在线测试,测试结果可直接反馈到相关业务对象当中,同时对于构建好的规则树,URULE PRO还提供了可视化的展示机制。
URULE PRO提供四种服务模式:嵌入式模式、本地模式、客户端服务器模式以及独立服务模式;多种集成模式满足各种信息化系统集成需求,适用于大型项目及集群环境。
产品价值
降低软件项目成本
URULE PRO可将商业逻辑与软件代码相分享,有利于项目的设计人员和需求分析人员直接进行项目的编码工作,而减少了程序员的介入,使项目的开发成本得到控制,同时减少了沟通和文档的时间成本。
引入URULE PRO规则引擎的企业项目在维护的过程中,针对业务规则的维护,可以脱离出来,直接由业务人员进行维护。而其他功能的维护的工作量也明显减少,一个程序员可以同时维护多个项目,有利于节约企业成本。
随需而动,提高企业的竞争力
URUL规则引擎可以实现系统在运行时可根据业务系统的变化实时在线修改业务规则,大幅降低业务系统的维护复杂度及成本,实现业务规则的随需而动。当前社会企业之间的竞争愈发激烈,企业的信息化建设更加是实现了快速迭代,下一秒的市场就会有所不同,业务的频繁变化就需要企业的信息化能够应对这种复杂多变的形式。URULE PRO能够实现极短时间内响应需求的变化,极大的提供了项目的应变能力,增强了企业的竞争力。
便于规范管理业务规则和政策
企业在发展的过程中,会产生许多不同的业务规则和政策,而有效地规范管理企业的业务规则和政策,则是URULE PRO的强项。让不断更新迭代的业务规则和政策在软件项目的升级过程中保留和集成下来,并且可以实现共享。管理部门在引进URULE PRO之后,能够更好的管理和控制企业中的各项政策的落实,规划企业管理。
保障企业资产
很多业务规则是企业的核心竞争力之一。传统开发模式下这些业务规则被淹没在软件代码中,难以形成积累。在URULE PRO的帮助下,这些业务规则可以从软件代码中脱离,结合版本管理功能,这部分业务规则可以不断提炼并成为企业的智力资产。
企业在发展过程当中,需求和业务不断的变换更新,而作为为企业服务的软件项目也需要不断的更新和迭代。项目的升级除了版本的升级,企业会保留数据的基础上,选择推翻重做。引进URULE PRO规则引擎之后,可以将业务的规则保留下来,而不需要重新进行设计规则。减少项目升级过程中带来的风险,保障企业资产。
缩短项目开发周期
URULE PRO规则引擎能够帮助企业迅速开展业务。当一个信息化项目启动之后,快速开发和实施,是决定项目成败的关键因素。URULE PRO规则引擎适合短平快的开发模式,能够保证项目尽快实施,并且提供项目实施过程中适应企业实际需求的改动空间。
保证软件质量
URULE PRO规则引擎将企业的业务规则进行单独管理,相较于业务规则内嵌在软件代码中的开发模式,规则引擎可以让业务规则与代码解耦,业务规则更清晰,更易于测试和维护,同时也提升了软件代码的纯粹性,大大提升了软件的质量。
产品架构
URULE PRO产品架构遵循开发(Development)、运行(Run)、管理(Governor)的先进理念,包括规则设计器、核心引擎、规则资源库、整合接口与规则管理控制台等模块。规则设计器属于开发部分,核心引擎、规则资源库与整合接口属于运行部分,规则管理控制属于管理部分。
规则设计器支持7种设计模式:
向导式决策集
决策表
交叉决策表
决策树
评分卡
复杂评分卡
决策流
平台管理包括:
团队/项目管理
权限管理
日志
集群管理
客户端管理
数据批处理
核心引擎包括:
规则建模引擎
规则运算引擎
规则资源库包括:
常量库
变量库
参数库
动作库
整合接口包括:
Java API
Http Restful API
规则管理控制台包括:
知识包服务管理
仿真测试
性能监控
统计分析
产品功能
基于浏览器的规则编辑器
URULE PRO提供基于浏览器规则编辑器,使开发人员或业务人员在编辑业务规则时无需安装开发环境,只需要有网络和浏览器,即可随时进行规则的维护、测试和发布。
多种规则类型
URULE PRO支持多种不同的规则类型:
(1)向导式规则
同时适合业务人员或技术人员使用,以可视化的方式进行规则的开发和维护。
(2)决策表
同时适合业务人员或技术人员使用,以可视化的方式进行规则的开发和维护。
向导式决策表适合处理判断条件较多,各条件又相互组合、有多种决策方案的情况,决策表提供精确而简洁描述复杂逻辑的方式,可将多个条件及与这些条件满足后要执行动作以图形化形式进行对应。
(3)交叉决策表
交叉决策表的条件由纵向和横向两个维度决定,而普通决策表的条件只是由纵向维度决定;但在普通决策表的动作部分可以是三种类型,分别是赋值、输出和执行方式,而在交叉决策表中动作部分就是纵向和横向两个维度交叉后的单元格的值,一般来说,这种交叉后单元格的值都是赋给某个变量或参数,所以交叉决策表的动作基本就一个,就是赋值。
(4)决策树
是因为业务规则以树形方式展现。在URule Pro当中的决策树,是一棵平躺的树,设计成平躺的目的是为了可以展现树的更多内容,更好的利用显示空间。
(5)评分卡
普通评分卡是URule Pro当中专门为简单评分系统而设计的一种业务规则工具,它可以针对某个实体对象的属性条件进行评分,每个属性在条件满足后还可以添加权重支持,同时对于得分的计算方式提供求和、加权求和以及用户自定义方式,以最大限度满足业务系统评分规则的需要。
(6)复杂评分卡
在URule Pro提供的普通评分卡当中,只能针对某一个对象的一些属性进行评分,这种评分方式可以满足大部分评分系统的需求,但在某些复杂的评分需求中,需要对多个对象的不同属性进行叠加组合评分,针对此类需求,URule Pro提供了复杂评分卡功能。复杂评分卡的配置方式与决策表有些类似,只是对于条件列头只能选择具体的对象,而每个条件单元格在配置条件时都需要选择与当前列头选择的对象对应的具体属性,这样就可以满足任意复杂的评分需求。
(7)规则流
规则流是URULE PRO当中提供的一种用于排序已有的规则、决策表的文件,通过使用规则流,可以实现规则或决策表并行执行、串行执行、根据条件选择执行或直接在规则流中执行相关方法或脚本。
在实际的业务系统中往往都是以规则流作为业务规则的调用入口,通过规则流将所有的以点形式存在的规则编排起来执行,从而可以实现任意复杂的业务规则需求。
(8)可视化数学计算符号
在URule Pro当中提供了15大类,近40个小类的常用数学符号,可进行几乎所有类型的可视化的科学计算。
在线规则测试
在URULE PRO中就提供了两种不同类型的针对规则的测试方法,分别是“快速测试”和“仿真测试”。
基于浏览器
对编辑好的规则及规则流测试
通过Excel实现数据的批量测试
基于场景,可定义场景关注的输入、输出数据
针对输出数据可设置预期值,实现与规则运行结果的比较
测试完成会输出完整测试报告
版本控制
在URule Pro当中,无论是单个规则文件、或是用户调用的规则包,都提供了完善的版本控制机制。对于规则文件来说只要有需要,可以回退到任何一个历史版本;对于给用户调用的规则包,可以在不同的历史版本之间灵活切换。
规则权限配置
在URule Pro当中,围绕用户为中心,可对团队、规则项目以及规则编辑功能进行权限设置,可针对不同的用户设置不同的操作权限。
URULE PRO四种集成与部署方式
为了更好的为业务系统集成,并提供规则计算服务,URULE RRO提供了四种集成模式:
- 嵌入式模式:将urule依赖的jar包嵌入到业务应用系统工程中,相当于传统的单体应用,适用于规模较小和并发量不高的业务场景
- 客户端服务器模式:规则计算引擎(客户端)与规则设计和管理(服务端)分隔开来,适用于规模大和并发量高的业务场景,也是业界最为常用和推荐的方式
- Rest独立服务模式:有些时候客户端环境可能比较复杂,如采用非Java语言编写的客户端,如Javascript、C++或C#等,或者是客户端不希望加入URule Pro的相关Jar包等等,只要我们的客户端程序支持http协议,即可满足规则的调用要求
- 本地运行模式:本地模式类似于嵌入式模式,我们将测试好的知识包导出为一个.data格式文件,然后把文件放在计算引擎应用的一个指定目录下即可。这种模式非常适用于规则运行环境封闭,且需要对外部屏蔽规则设计细节的应用场景
应用场景
复杂业务逻辑场景
金融、电信、零售等行业的拥有大量的复杂业务逻辑场景,如银行业的信审、催收、计息、计费、信贷评级、积分。保险业的核赔、核保。电信行业的计费、积分。零售行业的物流、分库、优惠、积分等。
若以传统的开发模式,上述行业的复杂规则以业务逻辑代码的形式存在,往往会形成动则上万行的代码,这些代码维护低效,并且往往难以测试。
URULE PRO使得这业务规则与代码相分离,以清晰、直观的方式进行业务规则的配置,大大提高业务规则开发及维护效率和成本。
快速多变的业务场景
很多行业存在大量经常变化的业务变化,如利率、费率、保险及理财产品规则等。在传统的开发模式下,每次业务参数的变化,在传统的开发模式下,每次业务的变化都需要投入大量的开发、测试及部署工作量。
URULE PRO提供的版本控制、在线仿真规则测试、热部署等功能,使软件应用随需要而动,快速响应业务的变化。
业务人员管理业务规则场景
在大型软件的维护场景中,信息中心是所有需求变更的中心节点,往往会形成业务瓶颈。URULE PRO提供的基于浏览器的可视化规则配置工具,使得需求变更压力可向外围释放,更多的业务规则变化可由业务人员直接在基于浏览器、在系统中进行配置,大大提高了信息化的效率,使您的业务真正随需而变。
产品特色
特色功能
基于浏览器的规则编辑器,描述性的规则编写语言,所见即所得
多种规则建模方式:向导式决策集、决策表、交叉决策表(决策矩阵) 、决策树、评分卡、复杂评分卡、决策流
支持可视化科学计算:提供了15大类,近40个小类的常用数学符号,可进行几乎所有类型的可视化的科学计算
版本管理:单个规则文件和规则包,均提供了完善的版本控制机制,可以在不同的历史版本之间灵活切换
4种集成部署方式
在规则编写时,决策集、决策表支持预定义功能
支持规则文件按照业务功能模块,创建多层级目录
excel导入:常量/变量库支持excel导入,决策表和评分卡支持excel导入
规则在线测试:支持规则文件的快速测试,知识包基于场景化的批量测试
支持将重复的条件语句块和动作语句块,抽象成条件模板库、动作模板库,然后在规则文件中导入和使用
支持开发人员自行扩展内置动作(函数)库,支持在线热部署功能