drools规则引擎介绍

drools规则引擎介绍

ID:19848271

大小:1.17 MB

页数:15页

时间:2018-10-07

上传者:U-2462
drools规则引擎介绍_第1页
drools规则引擎介绍_第2页
drools规则引擎介绍_第3页
drools规则引擎介绍_第4页
drools规则引擎介绍_第5页
资源描述:

《drools规则引擎介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

Drools规则引擎 议程什么是规则引擎?Drools规则引擎介绍信用卡申请实例介绍Drools实现信用卡申请规则编写客户端测试信用卡申请规则2 什么是规则引擎?规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则,规则引擎可以接受数据输入、解释业务规则、并根据业务规则做出相应的决策。3引入规则引擎后带来的好处:实现业务逻辑与业务规则的分离,实现业务规则的集中管理可以动态修改业务规则,从而快速响应需求变更使业务分析人员也可以参与编辑、维护系统的业务规则使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单 Drools规则引擎介绍Drools是Jboss公司旗下一款开源的规则引擎,它完整的实现了Rete算法;提供了强大的EclipsePlugin开发支持;通过使用其中的DSL(DomainSpecificLanguage),可以实现用自然语言方式来描述业务规则,使得业务分析人员也可以看懂业务规则代码。最新版本Drools5提供了基于WEB的BRMS——Guvnor,Guvnor提供了规则管理的知识库,通过它可以实现规则的版本控制,及规则的在线修改与编译,使得开发人员和系统管理人员可以在线管理业务规则。4EclipsePlugin版规则设计器Drools的Guvnor 信用卡申请实例用户填写申请的个人信息。然后提交到系统进行初审。初审的职责是通过已有的规则对用户信息合法性和真实性进行检查。对于合法的用户提交到信用卡发放部门,使用规则来决定要发放的信用卡额度等信息。通知申请人申请结果5申请流程图信息提交检查通过检查不通过发送通知 用户需要输入的个人信息用户需要输入的信息包括:姓名、性别、年龄、学历、电话、所在公司、职位、月收入、是否有房、是否有车、是否有信用卡等。6点击“申请”按钮将申请信息提交到后台,后台启动审批流程,通过规则先对信息的合法性进行验证,对于验证合格申请系统将调用相关规则发放相关的信用卡。 用户信息合法性检查规则规则编号名称描述1检查学历与薪水1如果申请人既没房也没车,同时学历为大专及以下,并且月薪少于5000,那么不通过。2检查学历与薪水2如果申请人既没房也没车,同时学历为大专或本科,并且月薪少于3000,那么不通过。3检查学历与薪水3如果申请人既没房也没车,同时学历为本科以上,并且月薪少于2000,同时之前没有信用卡的,那么不通过。4检查申请人已有的信用卡数量如果申请人现有的信用卡数量大于10,那么不通过。7申请人信息提交到系统后,首先调用这些规则进行验证,只有这些规则全部通过,才能进入发放信用卡的流程,否则申请结果就是不通过。 合法用户的信用卡发放规则规则编号名称描述1规则1如果申请人有房有车,或者月收入在20000以上,那么发放的信用卡信用额度为15000。2规则2如果申请人没房没车,但月收入在10000~20000之间,那么发放的信用卡信用额度为60003规则3如果申请人没房没车,月收入在10000以下,那么发放的信用额度为3000。4规则4如果申请人有房没车或者是没房但有车,月收入在10000以下,那么发放的信用额度为5000。5规则5如果申请人有房没车或者是没房但有车,月收入在10000~2000之间,那么发放的信用额度为8000。8以上5条规则为验证通过的用户发放信用卡时使用,主要是用来决定信用卡的发放额度 Drools实现信用卡申请规则采用Drools规则引擎来计算复杂的信用卡审批与发放规则通过Drools提供的BRMS——Guvnor实现规则的管理与动态更新通过Drools提供的RuleFlow(规则流)实现对信用卡审批规则的编排与执行9系统架构 Drools实现的信用卡自动审批流程“检查申请人信息是否合法”:用来存放检查申请人信息是否合法的四条规则,对申请人信息进行合法性检查。“判断是否合法”:判断当前申请人信息是否合法,如果合法那么将选择“合法”线路,否则选择“非法”线路。“合法申请人信用卡发放”:存放发放信用卡的五条规则,对申请人的信息进行检查,从而为申请人提供合适的信用卡额度。两个结束节点分别用来结束合法与非法的信用卡申请信息。10利用Drools提供的RuleFlow设计的信用卡审批流程,该流程的主要作用是用来对信用卡的合法性检查规则及信用卡发放规则的执行顺序进行编排。 Drools实现的用户信息合法性检查规则点击查看用户信息合法性检查规则的完整源文件11/**如果申请人既没房也没车,同时学历为大专及以下,并且月薪少于5000,那么不通过。*/rule"检查学历与薪水1"ruleflow-group"applycheck"lock-on-activetruesalience1whenCurrentuser-degreeis1-hascarisfalse-hashouseisfalse-salaryislessthen5000thenSocurrentuserapplyisinvalidend/**如果申请人既没房也没车,同时学历为大专或本科,并且月薪少于3000,那么不通过。*/rule"检查学历与薪水2"ruleflow-group"applycheck"lock-on-activetruesalience2whenCurrentuser-hascarisfalse-hashouseisfalse-salaryislessthen3000-currentuserdegreeis2or3thenSocurrentuserapplyisinvalidEnd…… Drools实现的合法用户的信用卡发放规则/**如果申请人有房有车,那么发放的信用卡信用额度为15000。*/rule"规则1"salience1ruleflow-group"creditcardpayment"lock-on-activetruewhenCurrentuser-hascaristrue-hashouseistruethenPaymentcreditcardandcreditlimitis15000end/**月收入在20000以上,那么发放的信用卡信用额度为15000。*/rule"规则2"salience2ruleflow-group"creditcardpayment"lock-on-activetruewhenCurrentuser-salaryisgreatethen20000thenPaymentcreditcardandcreditlimitis15000End……12点击查看信用发放规则完整源文件 将相关规则文件部署到Guvnor13申请人信息合法性检查规则在Guvnor里查看的效果在Guvnor里查看信用卡审批的规则流程图可以将编写好的信用卡申请规则及编排规则执行的规则流文件一起发布到Guvnor,通过Guvnor可以实现对规则的管理与动态编译,以快速的响应业务变化需求。通过使用Guvnor提供的Eclipse-plugin可以将规则文件直接部署到Guvnor当中。 编写客户端测试信用卡申请规则为了可以更加真实的反映Drools的使用方法,我们用一个B/S架构的应用来作为规则调用的客户端。Drools的客户端采用Dorado实现,通过Dorado客户端提供申请人申请信息,再这些信息交给Drools进行合法性检查,对于合法的申请再进行信用卡的发放,最将结果返回给Dorado。14Dorado客户端调用规则引擎进行信用卡申请 谢谢

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭