规则引擎6

【TVM、BOS是什么意思?】 TVM(Total Value Management全员增值管理)。全员增值管理的关键在“V”,即Value(价值)上。这是将品牌增值的目标细化到每个人的增值目标之中。BOSBOS的基础基于业务结构和流程是可变的这一前提。BOS的目的不是为了构造一个大而全的解决方案,而...【URule可视化规则引擎保险行业应用(五、决策表、决策树等实现)_百度知 ...】 本篇以高胆固醇血症评点规则为例,讲解决策表(非交叉)、决策集、决策树、决策流使用步骤方法。 高胆固醇血症评点规则实现稍微复杂,该业务规则计算实际需要如下3个步骤:先计算总胆固醇评定级别和低密度脂蛋白评定级别、然后计算得出高胆固醇血症评定级别即取两者的最高级别值、再根...

TVM、BOS是什么意思?

TVM(Total Value Management全员增值管理)。全员增值管理的关键在“V”,即Value(价值)上。这是将品牌增值的目标细化到每个人的增值目标之中。

BOS
BOS的基础基于业务结构和流程是可变的这一前提。BOS的目的不是为了构造一个大而全的解决方案,而是构造这样一个平台:解决日益增加的应用复杂度和快速开发/实施的矛盾,可以满足不断变化的新的商业模式和技术的需求。BOS是基于J2EE技术的应用中间件,为基于J2EE的应用开发设计的一个开发平台和运行环境:实现用传统开发方式开发时所需要做的部分工作,使开发和设计人员可以把精力集中在关键的业务逻辑关系。从应用系统角度而言,使用BOS是二进制级的重用而不是源代码级重用,应用系统不需修改BOS本身的源代码。BOS为构建在其上的应用系统带来以下特性: 1. 基于组件的架构 2. 事件驱动的业务流程3. 平台独立4. 工作流5. 多样的用户接口 6. 快速的实施和变更管理 7. 可配置的网络配置方案 8. 可伸缩的性能 功能介绍 1 Business Framework · 提供对Business Framework的应用模式的支持;· 提供目标系统之间接口和集成的需求; · 提供其他基础业务组件,如货币、汇率和计量单位等。 2 规则引擎为以下特性提供支持:· Abstract Object Model中的可变业务逻辑特性; · Workflow Engine中,工作流流转条件支持可变规则;3 O/R Mapping 引擎 · 完成业务对象对于关系数据库的序列化操作:增加、删除和修改; · 提供对象与关系数据库之间的映射信息; · 为Abstract Object Model中的业务对象自定义属性特性提供支持;· 提供在设计期工具:由对象模型完成Mapping设置、数据库Table建立和EJB代码框架的生成。4 Abstract Object Model 提供一个抽象的可重用的对象模型,这些类既包含由应用程序开发人员继承和使用的完整方法,也包含可能由应用程序业务对象的开发人员实现的方法的抽象定义。应用程序开发人员可使用此对象模型来构建 OO 应用程序和框架。 5 Organization and Permission· 组织结构管理 · 用户管理 · 用户认证 6 Offline Application Sync引擎离线数据同步引擎。 7 工作流 解决带有复杂业务逻辑和业务对象的应用系统的流程驱动问题:当业务逻辑发生改变时,可以通过对工作流的调整而不是应用系统完全再次开发来实现新的业务流程。 8 Web Application Framework包括Web应用框架和Web表现层组件 · 为 Business Framework 所述特性提供架构支持:多言语支持、支持不同的客户端 · 降低Web应用开发的复杂度:使用MVC模型、区分页面设计者和页面编写者的角色 2.9 Web 打印模块 解决浏览器(IE)以及Java应用程序打印的问题。 可靠性 由于系统是一种在线服务系统,所以对系统的可靠性要求性较高; · 支持集群 · 需提供7×24的不间断服务。 性能 BOS的目标系统为Web模式的企业级 Internet/Intranet 应用,对性能的需求主要体现在并发用户数目、数据规模等方面。对于时间特性需求,由于目标系统不是实时应用系统,对响应时间、更新处理时间等指标没有严格要求。但是在实际应用中,系统的这些时间特性指标主要取决于应用网络的速度,系统本身的处理不应构成瓶颈。 可预见的数据规模:· 支持的并发用户数:1000 · 需要管理的文件:无限制 · 数据库:10,000,000 以上辅助模块 下面说明BOS运行时需要购买的组件。 5.1 Application Server APUSIC BOS支持的应用服务器有Apusic, Weblogic, WebSphere,用户可以根据自己的特点选购适合自己的应用服务器 5.2 Web Server 这一项是可选项(Application Server已经提供了Web Server),用户可以选择IIS, Apache或其他Web Server。 5.3 Database Server本系统支持MS SqlServer, Oracle, DB2, 用户可以自由选购。
继续阅读:TVM、BOS是什么意思?

URule可视化规则引擎保险行业应用(五、决策表、决策树等实现)_百度知 ...

本篇以高胆固醇血症评点规则为例,讲解决策表(非交叉)、决策集、决策树、决策流使用步骤方法。

高胆固醇血症评点规则实现稍微复杂,该业务规则计算实际需要如下3个步骤:先计算总胆固醇评定级别和低密度脂蛋白评定级别、然后计算得出高胆固醇血症评定级别即取两者的最高级别值、再根据评定级别与年龄关系得出高胆固醇血症评点结果;通过URule实现则需要先编写4个基本规则:计算总胆固醇评定级别、计算低密度脂蛋白评定级别、计算高胆固醇血症评定级别、计算高胆固醇血症评点结果,然后再通过决策流对他们按照步骤进行编排,具体实现步骤如下。

4.2.1)计算总胆固醇评定级别(决策表)

不同的总胆固醇数值代表高胆固醇血症不同级别,即某属性不同值对应着不同结果,也即不同条件下对应不同的结果,这一类规则使用URule中决策表实现非常方便,具体实现步骤如下。

1.和创建交叉决策表相同,先右键点击项目列表树种决策表节点,然后点击选择添加决策表,在弹出“创建一个决策表文件”对话框中输入“cholesterolResultLevel1Total”然后点击“保存”,这时就会创建一个新的决策表文件,系统模板会打开该文件的维护界面,具体如下图。

2.导入客户变量库和导入常量库,导入方法和血压寿险评点规则导入方法相同,这里不再赘述

3.配置决策表条件,右键点击决策表表头中第一个“请选择参数或变量”,然后再点击选择“客户”下的“总胆固醇”,然后右键点击“客户的总胆固醇”单元格下方的第一个单元格,再点击“配置条件”,结合高胆固醇血症评定级别规则表5,在配置对话框,配置条件为“小于或等于3.2”,配置方法和血压寿险评点规则中配置方法相同,同样方法分别点击此列下方单元格将高胆固醇血症评定级别规则表5中“总胆固醇”一列其它条件逐个配置,具体操作及配置结果如下。

注:决策表默认仅有2个条件行,在单元格中点击右键,选择“添加条件行”即可实现新增更多的条件行

4.删除多余条件列,由于URule决策表默认显示了2个条件列,而本业务只需一个条件列,点击第二列表头标题行,然后点击选择“删除当前条件列”即可

5.定义决策结果,右键点击表头标题“选择要赋值的变量”,然后点击“客户”,再点击“高胆固醇总胆固醇评点级别”字段,然后分别点击该列下方单元格中“无”,再点击“选择常量”,结合高胆固醇血症评定级别规则表5,定义逐个条件对应的结果,最后点击左上角“保存”,这样就完成了此决策表定义,一些主要操作及截图如下

4.2.2)计算低密度脂蛋白评定级别(决策表)

低密度脂蛋白评定级别和总胆固醇评定级别规则业务类似,规则类型相同,采用URule中决策表实现即可,开发方法步骤和总胆固醇评定级别规则相同,此决策表文件名称命名为“cholesterolResultLevel2Low”,具体过程这里不再赘述,最终实现规则如下。

4.2.3)计算高胆固醇血症评定级别(决策集)

高胆固醇血症评定级别规则实现功能即:取总胆固醇评定级别和低密度脂蛋白评定级别中较高的值作为高胆固醇血症的评定级别,这里面其实存在一个设计技巧,尽管我们看到的评定级别为“中文”,但在定义常量“评定级别”时字段类型采用的为“Integer”,所以我们看到的中文其实为标题字段,实际存储值为数字,所以此规则实现就变得非常简单,采用“向导式决策集”实现即可,实现步骤如下。

1.创建决策集文件,在项目列表树中,右键点击“决策集”节点,然后点击“添加向导式决策集”,输入文件名称“cholesterolResultLevel”并点击下方“保存”按钮

2.导入客户变量库

3.编写规则条件,点击“添加规则”按钮,这时页面下方会添加一个规则模板,然后点击如果下方“并且”,然后点击“添加条件”,再点击旁边“请选择类型”,然后点击“选择变量”,再点击“请选择变量”,然后点击“客户”,点击选择“高胆固醇总胆固醇评点级别”字段,然后点击“请选择比较操作符”,点击选择为“大于或等于”,然后点击“请选择变量”,再点击“选择变量”,同样方法设置此变量为“客户的高胆固醇低密度脂蛋白评点级别”字段

4.编写规则动作,点击那么右侧“添加动作”,然后点击“请选择动作类型”,然后点击“变量赋值”,再点击“请选择值类型”,然后点击“选择变量”,再点击“请选择变量”,设置值为“客户的高胆固醇血症评点级别”,然后点击“=”右侧的“选择值类型”,再点击“选择变量”,同样操作方法设置为“客户的高胆固醇血症总胆固醇评点级别”,然后点击否则右侧“添加动作”,按照同样操作方法添加新的变量赋值动作,左侧同样为变量“客户的高胆固醇血症评点级别”,右侧为“客户的高胆固醇血症低密度脂蛋白评点级别”,最后点击页面上方“保存”按钮,这样就完成了此决策集编写,主要操作步骤截图如下

4.2.4)计算高胆固醇血症评点结果(决策树)

根据高胆固醇血症评点规则表6可知,高胆固醇血症不同级别,在不同年龄范围,结果不同,此类规则条件部分具有相同的部分,并且相同部分只涉及一个属性,这类规则适合采用决策树实现,具体实现步骤如下。

1.首先右键点击项目列表中“决策树”节点,然后点击“添加决策树”,输入文件名“cholesterolResult”,然后点击“保存”按钮,这样就实现了添加一个决策树文件,添加结果如图

2.为决策树导入变量库和常量库,操作方法步骤和决策表、决策集相同,这里不再赘述

3.配置决策树根节点属性,先点击“请选择类型”,然后点击“选择变量”,再点击“请选择变量”,点击选择“客户”下“高胆固醇血症评点级别”字段,配置结果如图

4.配置决策树相同条件部分,如图点击“对号“图标,然后点击“添加条件”,再点击“请选择比较操作符”,点击选择“等于”,然后点击“选择值类型”,再点击选择“选择常量”,然后点击选择常量“评定级别”中“低血脂”,关键操作步骤截图如下

5.重复上面步骤,根据高胆固醇血症评点规则表6,将相同条件部分配置完整,配置结果如图

6.配置低血脂级别时其它条件和规则结果,根据高胆固醇血症评点规则表6可知,评点级别为低血脂时,可以确定结果为0,点击低血脂右侧“对号图标”,然后点击“添加动作”,再点击“请选择动作类型”,然后点击“变量赋值”,再点击“请选择值类型”,然后点击“选择变量”,再点击“请选择变量”,然后点击“客户”,再点击“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后点击“请输入值”,输入值数值0,操作结果如下图。

7.根据高胆固醇血症评点规则表6可知,级别为低血脂、正常、接近正常时,评点结果相同,重复上面配置低血脂步骤,配置正常和接近正常时结果,配置结果如下图

8.配置边缘高值时评点情况,根据高胆固醇血症评点规则表6可知,级别为边缘高值时存在多种情况,当年龄为18-39时评点结果为15,当年龄大于40时评点结果为0;配置步骤为,先点击“等于边缘高值”右侧“对号图标”,再点击2次“添加条件”,添加2个条件,点击第一个条件上“请选择比较操作符”,再点击选择“大于或等于”,然后点击“请选择值类型”,点击选择“输入值”,输入18,然后继续点击18后面“对号图标”,点击添加“添加条件”,继续点击后面“请选择比较操作符”,点击选择“小于或等于”,然后点击后面“选择值类型”,再点击“输入值”,输入39,然后点击39后面“对号图标”,点击“添加动作”,然后点击“请选择动作类型”,再点击“变量赋值”,然后点击“请选择值类型”,点击“选择变量”,然后点击“请选择变量”,再点击“客户”,再点击字段“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后输入数值15,至此完成第一种情况配置;然后点击下方第二个条件上“请选择比较操作符”,点击选择“大于”,然后点击“选择值类型”,点击选择“输入值”,然后输入数值40,再点击40后对号图标,点击“添加动作”,然后选择“变量赋值”,然后点击“请选择值类型”,再点击“选择变量”,然后点击“请选择变量”,再点击“客户”,再点击字段“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后输入数值0,至此完成第二种情况配置。配置结果如下图

9.其它级别配置和边缘高值配置步骤类似,重复上面操作即可完成其它级别配置,最后点击页面上方“保存”按钮进行保存,最终配置结果如下图

4.2.5) 计算高胆固醇血症评点结果(决策流)

添加一个规则流,对以上4个基本规则进行编排,编排为按照 计算总胆固醇评定级别(决策表) 、 计算低密度脂蛋白评定级别(决策表) 、 计算高胆固醇血症评定级别(决策集) 、 计算高胆固醇血症评点结果(决策树) 顺序执行,定义方法如下。

1.点击项目列表树上“决策树”节点,再点击“添加决策流”,然后在对话框中输入文件名“cholesterolResultFlow”,再点击“保存”按钮,这样就创建了一个决策流文件,如下图

2.决策流需要定义一个ID,在决策流页面右侧属性面板中输入一个决策流ID,并按回车键,然后点击属性面板中“添加”按钮,将规则使用到的所有库文件添加进来,这些文件只会在仿真测试中会用到,不会影响发布后规则调用,如果规则较简单不需要仿真测试则可以不用添加

3.点击页面上方开始图标,进行选中(点击一下图标便会自动选中该图标),然后点击下方空白处,这时就会在流程中自动添加一个开始节点,点击添加的开始节点,页面右侧属性面板则会显示该节点允许配置的一些属性,可以根据需求进行修改,如下图

4.点击选中规则图标,然后在空白处点击鼠标添加一个规则节点,然后点击新添加的规则节点,再在其属性面板中修改名称为“计算总胆固醇评定级别”,然后点击目标规则文件输入框旁边“查找”图标,选中已经定义好的对应规则文件“cholesterolResultLevel1Total”,然后点击上方“连线图标”,再点击下方“开始1”节点,然后点击“计算总胆固醇评定级别”节点,这样就实现了决策流中第一个规则添加,如图

5.重复上面操作,将其它3个规则也添加配置进来,最后点击页面左上角“保存”图标按钮,这时就完成高胆固醇血症评点规则配置,最后配置结果如下图

决策流支持较完整的与流程相关的操作,包含开始、规则、知识包、动作、脚本、决策、分支、聚合等节点,这里主要用到开始和规则节点,开始是定义一个决策流文件时必须要添加的,支持添加事件Bean监听规则流开始,规则节点用于绑定一个具体的规则,如决策集、决策表、决策树等,当规则流流程到该节点时就会触发所绑定的具体规则。
继续阅读:URule可视化规则引擎保险行业应用(五、决策表、决策树等实现)_百度知 ...

Java源码规则引擎:jvs-rules 8月新增功能介绍

JVS-rules作为JAVA语言下的规则引擎,是jvs企业级数字化解决方案中的核心配置化工具,主要应用于金融信贷风控判断、商品优惠折扣计算、员工考核评分等场景。8月,JVS-rules进行了一系列优化与功能迭代,现简要介绍如下:1、交互操作优化,提升规则清晰度,适用于复杂规则配置。2、新增数据源配置功能,支持API、数据库等多方式接入,通过JVS体系多数据源管理接入规则引擎。3、增加数据库接入时的参数查询配置,用于规则引擎中查找相关数据。4、引入复合变量处理能力,支持多行数据的加工处理,如累计消费总额。5...
继续阅读:Java源码规则引擎:jvs-rules 8月新增功能介绍