业务规则和规则引擎

上传人:hs****ma 文档编号:498071616 上传时间:2022-12-19 格式:DOC 页数:17 大小:326.50KB
返回 下载 相关 举报
业务规则和规则引擎_第1页
第1页 / 共17页
业务规则和规则引擎_第2页
第2页 / 共17页
业务规则和规则引擎_第3页
第3页 / 共17页
业务规则和规则引擎_第4页
第4页 / 共17页
业务规则和规则引擎_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《业务规则和规则引擎》由会员分享,可在线阅读,更多相关《业务规则和规则引擎(17页珍藏版)》请在金锄头文库上搜索。

1、规则引擎-#-Version 1.0.0作者:Johnny Leon 发布日期: 2016-08-08目录1业务规则 31.1什么是业务规则 31.2业务规则的例子 31.3业务规则的分类 31.4业务规则的特性 41.5业务规则的要素 42规则引擎 52.1规则引擎是什么 52.2规则引擎的组成 62.3规则引擎的推理 62.4规则引擎的应用 72.5业务规则的提取 92.6业务规则的管理 103典型案例 10案例 1:信用卡申请 11案例 2:企业薪资计算 13案例 3:保险公司核保理赔 13案例 4:快递产品报价 14案例 5:电商促销 14-#-1业务规则1.1什么是业务规则与业务相关

2、的操作规范、管理章程、规章制度、行业标准等,都可以称为业务规则 (Business Rules,简称BR)。业务规则描述了业务过程中重要的且值得记录的对象、关系 和活动。其中包括业务操作中的流程、规范与策略。业务规则保证了业务能满足其目标和义 务。业务规则实质上也可以理解为一组条件和在此条件下的操作,是一组准确凝练的语句, 用于描述、约束及控制企业的结构、运作和战略,是应用程序中的一段业务逻辑。该业务逻 辑通常由业务人员、企业的管理人员和程序开发人员共同开发和修改。业务规则的理论基础是:设臵一个条件集合,当满足这个条件集合时候,触发一个或者 多个动作。以规则形式捕捉策略语句能提供极大的灵活性和

3、良好的适应性,是企业保持竞争优势的 决定性因素。在市场驱动的情况下,系统架构和模型必须对客户、竞争对手、合作伙伴和整 个市场情况的各种变更及时响应,同时将这些变更产生的需求作为业务规则体现到系统中去。业务规则技术的基本思想是将系统处理的业务逻辑从程序代码中抽取出来,将其转变为 简单的业务规则,以结构化的业务规则数据来表示业务行为,采用类自然语言来描述,并集 中存储在规则库中。业务规则由业务人员创建、实时更新和调试,业务规则之问的复杂逻辑 关系由规则引擎处理。业务规则技术改变了传统的、以过程形式处理业务逻辑的方式。1.2业务规则的例子生活中的一些业务规则可能是:当顾客进入店内,最近的员工须向顾客

4、打招呼说:“欢迎来到XXX。当客户兑换超过200元的奖券时,柜员须要求查看客户的身份证并复印。当兑换的奖券金额小于 25元时,无需客户签字。早上第一个进办公室的人需要把饮水机加热按钮打开。找一些数据相关的业务规则,一些例子如下:只有当客户产生第一个订单时才创建该客户的记录。若一名学生没有选任何一门课程,把他的状态字段设为空。若销售员在一个月中卖出10套沙发,奖励500元。一个收件人必须至少有 1个电话号码和1个收货地址。若一个订单的除税总额超过1000元则能有5%的折扣。若一个订单的除税总额超过500元则免运费。员工购买本公司商品能有 5%的折扣。若仓库中某货品的存量低于上月卖出的总量时,则需

5、要进货。1.3业务规则的分类业务规则主要分为五类,第六类规则是术语,即专门定义的、对业务很重要的词、短语 或缩略词汇,通常在术语表中定义术语。1. 事实(fact):通常是对业务的真实陈述,常常与重要的业务术语关联,事实也称为不变量关于数据实体及其属性的不可改变的真实情况。2. 约束( constraint) :约束限制了系统或它的用户可以执行哪些操作;例如:图书馆的借阅者最多可以同时借 10 本书。3. 动作触发规则(action enabler):在特定条件下触发某个动作的规则被称为动作触发规 则;例如:如果某瓶化学药品到了失效日期,则通知其当前持有人。4. 推论(inference):推

6、论是根据某个条件的真实性得出某些新事实的规则,通常用“如 果/则”的句式来表达;例如:如果到期30 天后还没有偿还应付款,则该帐户是在拖欠债务。5. 计算( computation ):使用特定的数学公式或算法进行的计算业务规则;例如:订单的数量为6件10件,则单价降低10%,数量为11件20件,单价降低20%。1.4 业务规则的特性1、原子性。业务规则不可再分,每条规则只定义一种判断和操作,复杂的业务逻辑由多条规 则协同处理。2、 独立性。业务规则彼此之问独立,复杂的逻辑关系由规则引擎来处理。业务规则存储在规 则库中,独立于数据和程序。3、 简单性。业务规则用简单直接的类自然语言来描述,很容

7、易被业务人员和技术人员所理解。4、动态性。业务人员可以实时地修改业务规则,快捷地更新系统,低成本地维护系统。5、 逻辑性。业务规则至少包含条件和执行两个部分,条件是对业务数据作用的判定,执行是 对业务数据的处理。在基于业务规则的软件系统中,业务规则存储在规则库中,业务人员可 以进行查询、添加、更新、统计,可以不断积累经验,实现对业务行为的知识管理,这使得 业务规则与单位的数据信息一样成为单位的重要资产。1.5 业务规则的要素业务规则最基本的组成成份是用于表示它的语言, 业务术语是人们用于定义事物的工具, 例如术语表。一个组织的本质和运行结构可以用相关的术语来描述,如“客户借一笔1 年期流贷”,

8、类似“企业信用评级不可以低于 A”这样的规则则能够限定和控制企业的某些行为。 此外,利用业务规则可以从一种知识推导出另一种知识。业务规则的属性包括名称、状态(被提议的、有效的、被核准的、终止的)、有效日期和终止日期、业务规则描述、表达式、触发事件等。其主要形式有决策表、决策树、规则语言 和脚本。决策表 :以表格的形式表示业务规则,每一行表示一条规则,列表示条件或动作,当所有 条件满足时,执行动作。决策树:将一组业务规则以树型结构来表示,每一个分支表示一条决策路径,叶子节点 表示结果或动作。规则语言:使用类似自然语言的句法描述规则。目前有很多种规则语言,每种语言适合 解决其特定领域的问题,可以提

9、供较好的性能,但比图形化的表示难于维护。脚本(模板) :用于描述过程性的业务逻辑,是决策表、决策树、规则语言的基础。如:IF.THEN.ELSE. 。2 规则引擎在很对行业的系统应用里,业务规则往往非常复杂,并且处于不断的更新变化之中,而 现有很多系统的做法,是将业务规则绑定在程序代码里;当业务规则变更时,对应的代码也 必须得跟着修改,每次即使很小的变更都需要经历开发、测试、验证、上线等过程,变更成 本比较大;长时间的规则变更,系统变得越来越难以维护;如此以往,系统变得僵化、新需 求插入也比较困难,上线周期也较长;另一方面,开发人员熟悉业务的程度远远比不上业务 人员,却需要承担将业务规则准确无

10、误实现的重任;使用传统的应用系统开发和实施方法, 业务规则相对固定不易改动。 系统的每一项策略、 规则的变化都需要开发人员对源代码进行修改,业务规则动态的特点使传统的解决方案越来 越难以满足电子商务业务系统的实际需求,限制了系统的灵活性和生命力。所以能否让我们的业务系统更灵活一点呢,将业务规则从技术实现中提取出来,实现技 术和业务的分离,开发人员处理技术,业务人员定义业务规则,各自做自己擅长的事,这个 方法就是所谓的规则引擎;以电子商务为例,电商促销是一种典型的业务规则需要频繁改动的应用;各电商平台为 了吸引用户,不断推出新的服务和优惠活动,以满足不同层次、不同时期用户的需求和业务 需要;为快

11、速响应竞争,这些业务策略的改变需要在很短的时间内完成,比如几个小时、当 天或几天,这就意味着这些改变要由运营商自己的业务人员而不是软件的开发人员来实施; 此外,电子商务业务处理的数据量巨大,每小时要处理的数据可能高达几千万条。引入规则引擎之后把业务规则从具体的程序代码中剥离出来。业务规则不再以程序代码 的形式驻留在系统中,取而代之的是处理规则的规则引擎,业务规则存储在规则库中,完全 独立于程序。业务人员可以像管理数据一样对业务规则进行管理,比如查询、添加、更新、 统计、提交业务规则等。业务规则被加载到规则引擎中供应用系统调用。2.1 规则引擎是什么BRMS (Business Rule Man

12、agement System) 业务规则管理系统,俗称规则引擎,是由推理 引擎发展而来的一种专家系统;专家系统是人工智能的一个分支,它模仿人类的推理方式, 使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。专家系统 有很多分类:神经网络、基于案例推理和基于规则系统等;规则引擎的主要思想是将应用程序中随着时间、 空间动态易变的业务决策部分分离出来, 并使用预定义的语义模块编写业务决策,由用户或开发者在需要时进行配臵、管理。规则引擎实现了将业务决策从应用程序代码中分离出来, 接受数据输入, 解释业务规则, 并根据业务规则做出业务决策。它可以为企业带来许多好处: 分离商业决策者

13、的商业决策逻辑和应用开发者的技术决策 能有效的提高实现复杂逻辑的代码的可维护性 在开发期间或部署后修复代码缺陷 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内 符合组织对敏捷或迭代开发过程的使用 规则能作为知识被保留下来,不会随着关键人员的流失而流失 在规则引擎为企业带来的诸多好处中,最重要的三点,就是带来业务系统的敏捷性、企业业务知识的沉淀以及为决策分析提供支持。要真正达到以上几点,就需要规则引擎产品能够:提供友好的规则设臵界面,让业务人员自行设臵规则提供完善的管理功能,使用软件工程的思想管理规则的开发过程 提供良好的嵌入式架构,规则不仅能在BRMS中编辑,也能在业务系统中编辑,从而

14、真正做到规则管理无处不在。2.2规则引擎的组成规则引擎的任务是把当前提交给引擎的数据对象与加载在引擎中的业务规则进行测试和 比对,激活那些符合当前数据状态下的业务规则,根据业务规则中声明的执行逻辑,触发应 用程序中对应的操作。它主要包括以下三部分:RuleBase (规则集)、WorkingMemory (工作存储器)和 InferenceEngine (推理引擎); 推理引擎包括三部分:PatternMatcher (匹配器)、Agenda(议程)和 ExecutionEngine (执行引擎);它们的结构如下所示:WORKINGPATTERN MATCHER、ENGINEESECUTION

15、ENGINERULEBASEz:卜1) 规则集容器,用于存放从规则库中提取的对应当前问题的一组规则;这些规则将按照某种 数据结构组织,当工作区中的数据发生改变后,引擎需要迅速根据工作区中的对象现状,调 整规则执行队列中的规则。2) 工作存储器,即规则引擎的综合数据库,也称为事实库;用于存放规则系统运行时所需要 的各种信息;其中的信息用来与规则集容器中的规则进行匹配。3) 匹配器,是规则引擎工作的上下文环境,用来关联规则集容器和工作存储器;将规则集容器中的所有规则与工作存储器中的事实进行模式匹配,匹配成功的规则将被激活,并与前面推理得到的所有激活规则构成规则冲突集。4) 议程,议程中存放的是根据需要进行过排序的规则冲突集。对匹配生成的规则冲突集进行 排序的过程称为冲突消解;然后议程中首条规则的结论或动作部分将会执行,这可能会产生新的事实,从而改变工作存储器的内容;整个过程将一直循

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号