规则引擎解决方案.ppt

上传人:仙人指路1688 文档编号:2904865 上传时间:2023-03-02 格式:PPT 页数:36 大小:5.56MB
返回 下载 相关 举报
规则引擎解决方案.ppt_第1页
第1页 / 共36页
规则引擎解决方案.ppt_第2页
第2页 / 共36页
规则引擎解决方案.ppt_第3页
第3页 / 共36页
规则引擎解决方案.ppt_第4页
第4页 / 共36页
规则引擎解决方案.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《规则引擎解决方案.ppt》由会员分享,可在线阅读,更多相关《规则引擎解决方案.ppt(36页珍藏版)》请在三一办公上搜索。

1、规则引擎解决方案,TmaxSoft ProRule,提纲,1,基于ProRule的规则引擎解决方案,规则引擎ProRule的优势,规则应用方式有哪些?,规则引擎应用范例,规则应用面临的问题,2,Content,业务规则应用现状,3,1、硬编码方式实现规则,2、规则参数化参数基于文件,3、规则定义可视化参数基于数据库,4、简单的规则引擎产品,对规则实现参数化的管理方式,并将信息保存到数据库,BRMS,对规则实现参数化的管理方式,并将信息保存到文件,对简单的规则提供可视化的规则定义工具,传统业务规则处理多数采用人工处理、硬编码方式或是参数化的管理方式定义和维护业务规则,规则的灵活变化与快速响应业务

2、需求的能力严重受到制约,导业务规则的管理缺乏业务敏捷性。,规则完全通过硬编码方式写在程序中,4,Content,传统业务规则面临的问题,5,业务人员难以快速响规则变更,业务标准频繁变更,时需申请、审批,开发人员的重新修改、测试,最终才能完成规则变更实现周期过长,无法快速响应业务变化业务逻辑越来越复杂,传统规则难以实现客户对业务逻辑的参与越来越多,现有规则难以参与要求规则变更时间越来越短业务规则的变更会引起业务的中断,维护人员难以管理与维护,架构师缺乏良好的架构,开发人员低效难以开发,挑战,同一规则往往在多个系统中重复实现,规则变更导致重复的修改,规则的松耦合特征,做到最大化重用统一的规则管理平

3、台,便于管理与移植规则的执行效率规则引擎的可靠及稳定性规则难以扩展,规则变更时难以维护,过多依赖于开发人员无法快速变更并发布业务规则更新规则时,可能会引起应用中断要求可视化的规则建模环境无法有效分类管理及进行规则授权无法有效管理规则的版本,缺乏有效的建模工具,复杂的规则实现难度非常大过强的代码入侵性,规则可难以复用实现难度不便于修改不便于测试低的开发效率,规则的灵活变化与快速响应,业务规则的频繁变更导致企业对业务的响应能力严重下降,最直接受到影响的是业务人员,同时给企业架构的设计、规则的开发管理及后期维护上都带来巨大的挑战。,为什么需要规则引擎?业务角度,6,对于传统规则应用,客户所面临的四大

4、难题:,从业务角度来看,对规则引擎的要求:,为什么需要规则引擎?IT角度,7,传统规则应用,IT人员所面临的四大难题:,从IT角度来看,对规则引擎的要求:,为什么需要规则引擎?技术发展趋势,8,业务逻辑,DBMS,1980 年代,1970 年代,1990年代以后,Application,DBMS,从应用中分离数据来管理的DBMS(Database Management System),1970 年代,Application,DBMS,从应用中分离 UI 单独构成展现层,1980年代,1990年代以后,GUI,Application,DBMS,从Application中分离业务规则来管理的 BR

5、MS,GUI,BRMS,GUI,RBMS,DB,DB,DB,企业应用结构业务逻辑数据/数据逻辑展现层构成要素业务规则构成要素,BRMS(Business Rule Management System)架构的最大目的是扩大IT环境敏捷性,提升开发效率,便于维护。,9,Content,什么是规则引擎?,10,BRMS(Business Rule Management System)规则管理系统,俗称规则引擎规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。,

6、简单的说,一个规则引擎有3部分组成:1、事 实:所有的事实,应用系统中已经存在的事实 2、知识库:一系列规则,通常以if then 方式来表达,if是模式,then是动作3、推理机:推理引擎,规则运行引擎,业务应用,规则库,票价计算规则,输入:日期、出发地、目的地,输出:航班、票价,执行规则,规则引擎,燃油计算规则,机建费规 则,20080808,北京,上海,CA155,570.00,折扣计算规则,运价计算,业务规则,何时应该使用规则引擎?,企业级管理者对企业IT系统的要求:市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。为了快速、低成本的更新,业务人员应能直接管理

7、IT系统中的规则,不需要程序开发人员参与。为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。,TmaxSoft规则引擎解决方案ProRule,12,Rule的定义Rule的管理业务/服务/商品/界面管理Parameter 管理Rule热部署Rule模拟执行,业务逻辑,业务通用模块(客户信息,),系统前处理,业务前处理,业务功能模块,业务后处理,系统后处理,业务核心模块,设计/开发阶段Focus on Productivity,运行阶段Focus on Performance,Http/XML,ProRule 模块,Hot Deploy,ProRule Manager,ProRule E

8、ngine,实际运行系统,Rule 开发环境,支持基于GUI的规则建模通过拖拽容易进行建模通过Rule复用解决重复逻辑,区分为处理流模块(Flow Rule)和 Biz.Logic 处理模块(单位 Rule)利用T-Cache,迅速访问数据的基础,Rule 引擎,生成源代码生成方式的Rule模块通过规则库进行Rule信息管理支持Rule的热部署,使用者权限管理/Rule信息管理Rule 处理统计及报告监控虚拟Rule功能/性能,1,2,3,4,Rule 模块,Rule 管理,RBMS构成要素,TmaxSoft提供规则引擎解决方案ProRule,保证在设计/开发阶段通过基于GUI的简单操作提高开

9、发生产性,在实际运行阶段提供Rule模块调用结构,保障性能;在维护阶段能保证规则的快速变更与及时响应;并且保证规则的扩展性。,基于可视化的规则建模环境,13,Tree形式,POOL提供,Table 形式,ProRule Manager图形化界面,Excel 文档导入,通过Excel文档导入窗口对 Rule 设计书进行导入,通过Imported Document and 确认窗口进行验证,Rule Manager支持基于GUI,中文规则建模,通过Tree,Table形式访问 Rule 信息,从而容易开发 Rule。并且对Excel形式的 Rule设计书的内容直接进行 Import,支持在构建中无

10、缝建模.,模拟测试,14,通过模拟功能查询结果值及对结果进行 Export,虚拟结果,输入值,提供便捷的模拟功能。提供以Excel文件形式对Rule结果值及结果进行导出的功能。,65000条以上(超过excel行数)的大量模拟拟通过模拟控制台对虚拟结果进行导出(txt文件),版本管理,15,历史版本的管理,可以根据历史时间进行恢复。,支持查询修改内容,历史版本恢复,使用者权限管理,16,访问Rule Manager的用户管理及权限管理。,根据Rule Manager内使用者管理功能在允许的账户里可以访问 Rule和读/写等操作。提供访问/用户追加/删除/权限变更等功能。,Decision Ru

11、le,ProRule灵活定义各种类型的规则,17,Grid Rule,Flow Rule,RSL Rule,DBIO Rule,Loop Rule,Call Routine Rule,Basic Rule,18,应用中直接通过方法调用Flow Rule,通过Rule 调用入口,以 library 形式提供在 Rule Manager中创建的 Flow Rule。,Rule的调用,Library,Flow Rule,DirectFunction Call,单元Rule,单元Rule,单元Rule,单元Rule,单元Rule,消除对Rule 调用的性能开销 通过共享模块调用相同方式的 Rule,实

12、现接口标准化,调用Flow Rule的 API,JAVAClass,JAVAClass,Library,Rule调用,FlowRule,FlowRule,FlowRule,业务服务可以调用单元Rule和Flow Rule。Flow Rule 作为Rule处理的入口控制单元Rule处理流。Flow Rule 通过规则引擎以 JAVA Class 形态生成,因此只需直接调用方法即可。,19,Content,Rule Repository,应用系统,应用系统,高性能解决方案与其BRMS的比较,20,4.运行,3,Hot-Deploy,规则引擎有两种方式:一、解析执行的方式,就是解析规则包文件,根据规

13、则包中定义的逻辑解析执行.二、编译执行,就是直接将规则包文件中的逻辑编译成可执行的字节码,通过调用执行.ProRule 通过生成源代码方式在实际运行服务器里通过本地方法调用。与其他公司相比保障高性能处理。,功能1,功能2,Rule1,1.请求,5.应答,Rule1,Rule n,2.呼叫,3.应答,4.处理,Rule Builder,功能1,功能2,Rule1,RuleSource,ProRule Studio,1.生成源代码,2,Compile,TmaxSoft ProRuleTM,其他公司 BRMS,Rule Engine,Rule Engine,VS,高性能解决方案T-Cache,21,

14、On Memory,T-Cache,从Rule 模块访问费率及商品结构信息时支持基于T-Cache Interface 的内存访问结构 消除硬盘和网络开销,内存障碍发生时以RDBMS里的原信息作为基础对数据进行Recovery,1,2,3,信息查询,数据 Loading,1,3,ProRule通过 T-Cache Rule 使模块经常访问的商品信息,费率,标准信息等数据能够访问到内存,消除了Rule处理时间上的最大性能瓶颈。,对SQL处理结果进行缓存,如果对请求SQL的处理结果集在缓存区时,会及时反馈结果 消除T-Cache Processing overhead,2,22,Rule Clie

15、nt,ServiceRule,ProductRule,手续费Rule,Library,LibraryInterface,ServiceRule,ProductRule,手续费 Rule,On Memory,ExternalCommInterface,RuleSource,Compile,Rule Manager,商品信息Cache,T-Cache,Interface,MappingOr Data Loading,现有业务 RDBMS,Server负载最小化,保障稳定性,DB I/O 最小化,保障迅速性,商品信息,高性能解决方案源代码生成&基于内存,ProRule是 Source Generat

16、ion和 On Memory 方式排除根本的DB I/O,调用Service时DBIO最小化系统开销,23,高性能解决方案高可用性/故障point最小化,Rule 模块,单元Rule,单元Rule,单元Rule,单元Rule,Log,DB接口(DBIO),业务服务,APM 联动模块,实时信息,Log 信息,Rule 处理信息的搜集,管理人员,Rule 模块采用源代码生成和编译,与一般业务应用采用相同的JAVA Class 形式存在,因此基于中件间的底层服务ProRule能获得应用服务器提供的 Fail-Over 及负载均衡的保障若发生故障,Rule调用因为采用本地方法调用方式,所以不会发生 R

17、ule Server引起的障碍.,按Rule 处理追踪及监控 平均应答时间 等待时间 事务处理执行时间 Rule 执行时间DBIO的查询,Rule和 AP 相同server,Rule和 AP 相同server,ProRule通过APM(SysMaster)的联动监控实时Rule处理状况的监控,从而获得 WAS支持的Fail-Over,负载均衡的保障。,24,ProRule的特点,ProRule Admin,Rule Cache Area,Hot Deploy,Method Call,Web Application Server,Servlet,EJB,Java AP,Java AP,Java

18、AP,WebServices,Java Application,Cluster,构建灵活应对环境变化的基于规则的系统,提供分散访问的方式,实现架构简单化,减少服务负载通过Rule library的 功能调用,方法调用方式保障 服务性能通过拖拽实现 Rule,并生成标准化的执行文件错误验证所需的模拟测试支持Rule 引擎之间的 Fail-Over,性能,服务时直接访问 Rule library热部署功能源代码生成和自动编译方式通过Cache/Memory 提高性能无需单独的 集群,负载均衡通过 应用上的性能管理支持追加障碍的完整性,扩展性,Library 存在于和应用相同的服务器里,因此需要扩展

19、 应用时可一同扩展与ProFrame,SysMatser,ProFactory 等产品结合时提供更强大的扩展性和灵活性与其独立服务器里运行的RBMS,不如从 TCO 方面节减,便捷性,通过Rule Dictionary,代码表统一管理变量/常量通过分组管理类似的业务规则管理根据GUI的Rule生成/修改/删除通过Excel,对 Rule/大量数据进行 Import/Export提供多种形态的规则规则的历史,权限管理及使用者函数功能提供开发人员的快速开发的UI,ProRule以可靠性、性能、可视性、便捷性等特点为基础,构建迅速灵活应对业务环境变化的基于规则策略的系统,规则引擎应用效果,在基于Pr

20、oRule的系统中商品及服务推出期间及变更时间会缩短.,25,使用RBMS之前(最少 23周),客户使用者,业务规则变更及新商品开发,系统开发人员,变更,测试,开发业务逻辑及商品开发时最少需要3周 3月,会议,说明,电算开发申请书,programe,发生Business Rule 变更,客户负责人向 开发者提出申 请,开发者修改程序,客户负责人和 开发者验证,使用Rule,最少 2周-3周,使用RBMS之后(最少 1-2日),客户用户,业务规则及新商品开发,系统开发人员,通过实时业务逻辑及商品开发反应系统,programe,即时,1小时-1日,1小时-1日,发生Business Rule 变更

21、,客户负责人变更为 Rule Manager,模拟测试,热部署并投入使用,1日-2日,适用业务及商品Rule 基础,业务Rule,系统Rule,使用ProRule时,SI开发,ProRule,1-2日,1-2日,1日-2周,最少3日-1周,26,RBMS 构建预期效果,Business 观点,IT观点,适用最新技术灵活应对 IT技术变化易扩展标准化及根据 Rule的系统维护生产性及迅速的客户支持,确保系统灵活性,根据标准化提高生产性,容易进行维护确保迅速维护体制提供One-Stop 服务,节减维护费用,通过规则引擎提高开发生产性,开发灵活性及敏捷性,节减维护费,提高客户满意度,确保企业,IT的

22、灵活性及实时性,企业业务规则的敏捷性。,27,Content,规则应用场景,电信:积分换手机、计费套餐、优惠折扣规则、费用结算摊分、故障管理银行:计息、计费、信贷评级、客户信用评估、资产评估、银行卡积分保险:核保规则、理赔规则,28,运价计算,积分换手机,烟叶监管,航空,银行信用评级,金融,电信,烟草,烟草:卷烟销售监管、信用等级评定、报警规则航空:运价计算其他:促销、绩效考核、资金监管,营销类企业对定价策略的管理销售终端类企业对供应商政策的管理保险公司对险种、核保的管理电信企业对资费的管理工作流系统中对流程的控制统计决策中,对算法的管理制造类企业对代理商奖励政策的管理,规则引擎适用范围,29

23、,规则应用范例保险,30,【保费计算】1)核保规则:如:判断保额,总、省、地市、县核保权限分别为10000元、5000元、3000元、1000元。规则允许调整。2)标准保费=基本保费+保/限额(录入值)X费率(费率及基本保费数据库查询,计算通过规则定义)3)实际保费=标准保费X折扣。灵活的业务规则:如:客户分5级进行评级处理,1级客户费率可以打7折,3级以上客户可以打9折,5级客户不打折。规则允许调整。,规则应用范例烟草,在烟草行业中业务规则的应用规范非常广泛,规则引擎以独立规则管理平台的方式用在卷烟购进、销售、库存、配送、监管、告警等环节中,为规定的定义及灵活变更提供统一的规则管理平台。,3

24、1,规则管理平台(ProRule),卷烟购进规则,卷烟销售规则,卷烟库存规则,卷烟配送规则,资金告警规则,规则库,核心业务平台(ProFrame),ES B,应用服务器,规则引擎,Loop Rule,Flow Rule,Relation Rule,Grid Rule,DBIO Rule,Call Routine Rule,规则容器,Basic Rule,Decision Rule,RSL Rule,卷烟,烟叶,专卖,财务,审批,其他,应用系统,业务规则,RuleManager,规则应用范例烟草,32,【等级评定】,规则应用范例航空,【运价计算】1)按航线定燃油税(按油价上涨)历程在800公里以下是60元历程在800公里以上时100元2)机场建设费飞机的座位是100名以下收10元飞机的座位是100名以上收50元3)基础的舱位价格计算在航线的基础价格上进行折扣输入出发目的地,舱位,基础价格时使用规则引擎上定义的值来计算4)特定时间打折规则(比如6.1节)在原有的打完折的基础上,在做打折限定时间,限定人(比如儿童)5)在某一个航线上设定优惠价定义优惠价6)计算处消费对不同代理人计算处消费(比如A代理人可以收到5%的中介费),33,成功案例,34,谢 谢!,技术顾问:黄志伟电 话:010-64106145-809邮 件:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号