规则引擎概况20150519.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
规则引擎概况 2015.05.19 规则引擎简介 1规则引擎的历史 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。 2应用背景编辑 企业级管理者对企业IT系统的开发有着如下的要求: 1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。 2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。 3.为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。 规则引擎简介 3产品优点编辑 使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,其优点如下: · 分离商业决策者的商业决策逻辑和应用开发者的技术决策; · 能有效的提高实现复杂逻辑的代码的可维护性; · 在开发期间或部署后修复代码缺陷; · 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内; · 符合组织对敏捷或迭代开发过程的使用; 4代表企业编辑 大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。开源的代表是Drools,商业的代表是VisualRules ,iLog 是否开源的比较 开源规则引擎 ??JBoss Drools? ??Mandarax? OpenRules JEOPS InfoSapient Roolie Apache Camel 商业规则引擎 Ilog Jrules Oracle Business Rules Visual Rules Jess(可研究,商用收费) 开源业务规则引擎入门介绍 1.1 现状 在很多行业应用中比如银行、保险领域,业务规则往往非常复杂,并且规则处于不断更新变化中,而现有很多系统做法基本上都是将业务规则绑定在程序代码中。 1.2 问题 主要存在的问题有以下几个方面: 1) 当业务规则变更时,对应的代码也得跟着更改,每次即使是小的变更都需要经历开发、测试验证上线等过程,变更成本比较大。 2) 长时间系统变得越来越难以维护。 3) 开发团队一般是由一个熟悉业务的BA(业务分析人员)和若干个熟悉技术的开发人员组成,开发人员对业务规则的把握能力远不及BA,但实际上却承担了将业务规则准确无误实现的重任。 4) 系统僵化,新需求插入困难。 5) 新需求上线周期较长。 开源业务规则引擎入门介绍 1.3 解决方案 能否让我们的业务系统更灵活一点呢? 思路:将业务规则从技术实现中提取出来,实现技术和业务分离,开发人员处理 技术、业务分析人员定义业务规则,各自做自己所擅长的事情。 方案:目前已经有比较成熟的开源产品支持,这就是本文所要介绍的Drools,我们将业务规则定义在Database或者BRMS(Business Rule Management System)中,通过管理DB或者BRMS实现业务逻辑的动态改变。 1.4 适用情景 什么时候应该使用规则引擎? 虽然规则引擎能解决我们的许多问题,但我们还需要认真考虑一下规则引擎对我 们的项目本身是否是合适的。需要关注的点有: 我的应用程序有多复杂?我的应用的生命周期有多久? 对于那些只是把数据从数据库中传入传出,并不做更多事情的应用程序,最好不要使用规则引擎。但是,当在Java中有一定量的商业逻辑处理的话,可以考虑规则引擎的使用。这是因为很多应用随着时间的推移越来越复杂,而规则引擎可以让你更轻松应对这一切。 如果我们应用的生命周期很短,也没有必要使用规则引擎,使用规则引擎将会在中长期得到好处。 我的应用需要改变吗? 这个答案一般情况下是肯定的,“这世界唯一不变的只有变化”,我们需求也是这样的,无论是在开发过程中或是在开发完成以后,规则引擎能从频繁变化的需求中获得好处。 开源业务规则引擎入门介绍 2 什么是规则引擎 规则引擎是基于规则的专家系统的核心部分,主要由三部分组成:规则库(Knowledge base)+Working Memory(Fact base)+推理机(规则引擎),规则引擎根据既定事实和知识库按照一定的算法执行推理逻辑得到正确的结果。 3 Drools简介 Drools 是一个基于Charles Forgys的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。 业务分析师人员或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。 4 竞争产品比较 与Drools功能类似的同类开源产品主要有:OpenR

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档