当前位置:文档之家› Drools规则引擎介绍.

Drools规则引擎介绍.

5 © Copyright BSTEK Corporation 2006
2. 然后提交到系统进行初审。初审的职责是通过已有的规则对用户信息合法性和真实性进行检查。
TEAM BSTEK
用户需要输入的个人信息
用户需要输入的信息包括:姓名、性别、年龄、学历、电话、所在公司、职位、月收入、
是否有房、是否有车、是否有信用卡等。
Eclipse Plugin版规则设计器
4
Drools的Guvnor
© Copyright BSTEK Corporation 2006
TEAM BSTEK
信用卡申请实例
申请流程图
信息提交
信息录入
通知申请人 申请结果
使用规则进行 合法性检查
通过规则 发放信用卡
1. 用户填写申请的个人信息。 3. 对于合法的用户提交到信用卡发放部门,使用规则来决定要发放的信用卡额度等信息。 4. 通知申请人申请结果
TEAM BSTEK
什么是规则引擎?
规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来。 规则引擎使用特定的语法编写业务规则,规则引擎可以接受数据输入、解释业务规则、并根 据业务规则做出相应的决策。
传统业务逻辑编写方式 引入规则引擎后业务 逻辑组件的编写方式
客 户 端
Client 端
Dorado表现层接收用户输入信用卡申请信息
控件
绑定
Server端
业务逻辑层 Drools的BRMS-Guvnor
Dataset
业务逻辑
信用卡审批规则流
Drools规则引擎
信用卡审批规则
用户
9 © Copyright BSTEK Corporation 2006
TEAM BSTEK
以上5条规则为验证通过的用户发放信用卡时使用,主要是用来决定信用卡 的发放额度
8 © Copyright BSTEK Corporation 2006
TEAM BSTEK
Drools实现信用卡申请规则
采用Drools规则引擎来计算复杂的信用卡审批与发放规则 通过Drools提供的BRMS——Guvnor实现规则的管理与动态更新 通过Drools提供的RuleFlow(规则流)实现对信用卡审批规则的编排与执行 系统架构
TEAM BSTEK
Drools规则引擎
Bstek Team
© Copyright BSTEK Corporation 2006
TEAM BSTEK
议程
什么是规则引擎?
Drools规则引擎介绍 信用卡申请实例介绍 Drools实现信用卡申请规则 编写客户端测试信用卡申请规则
2
© Copyright BSTEK Corporation 2006
申请人信息提交到系统后,首先调用这些规则进行验证,只有这些规 则全部通过,才能进入发放信用卡的流程,否则申请结果就是不通过。
7
© Copyright BSTEK Corporation 2006
TEAM BSTEK
合法用户的信用卡发放规则
规则编号
1 2 3 4 5
名称
规则1 规则2 规则3 规则4 规则5 用卡信用额度为15000。
Drools实现的信用卡自动审批流程
“检查申请人信息是否合法”:用来存放检
查申请人信息是否合法的四条规则,对申请 人信息进行合法性检查。 “判断是否合法”:判断当前申请人信息是
利用Drools提供的Rule Flow设计的信用卡 审批流程,该流程的主要作用是用来对信用 卡的合法性检查规则及信用卡发放规则的执 行顺序进行编排。
包含业务规则的 业务逻辑组件
调用
业务规则
客 户 端
调用
业务 逻辑 组件
规则ቤተ መጻሕፍቲ ባይዱ擎
调用
业务规则
引入规则引擎之前
引入规则引擎之后
引入规则引擎后带来的好处:
3
实现业务逻辑与业务规则的分离,实现业务规则的集中管理 可以动态修改业务规则,从而快速响应需求变更 使业务分析人员也可以参与编辑、维护系统的业务规则 使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单
© Copyright BSTEK Corporation 2006
TEAM BSTEK
Drools规则引擎介绍
Drools是Jboss公司旗下一款开源的规则引擎,它完整的实现了Rete
算法;提供了强大的Eclipse Plugin开发支持; 通过使用其中的DSL(Domain Specific Language),可以实现用自然语言方式来描述业务规则,使得业 务分析人员也可以看懂业务规则代码。 最新版本Drools5提供了基于WEB的BRMS——Guvnor,Guvnor提供了规则管理的知识库,通过它可以 实现规则的版本控制,及规则的在线修改与编译,使得开发人员和系统管理人员可以在线管理业务规则。
描述
如果申请人有房有车,或者月收入在20000以上,那么发放的信 如果申请人没房没车,但月收入在10000~20000之间,那么发
放的信用卡信用额度为6000
如果申请人没房没车,月收入在10000以下,那么发放的信用额 度为3000。 如果申请人有房没车或者是没房但有车,月收入在10000以下, 那么发放的信用额度为5000。 如果申请人有房没车或者是没房但有车,月收入在10000~2000 之间,那么发放的信用额度为8000。
点击“申请”按钮将申请信息提交到后台,后台启动审批流程,通过规则先对信息的合法性进 行验证,对于验证合格申请系统将调用相关规则发放相关的信用卡。
6 © Copyright BSTEK Corporation 2006
TEAM BSTEK
用户信息合法性检查规则
规则编号 1 名称 检查学历 描述 如果申请人既没房也没车,同时学历为大专及以下,并且
与薪水1
2 检查学历 与薪水2 3 检查学历
月薪少于5000,那么不通过。
如果申请人既没房也没车,同时学历为大专或本科,并且 月薪少于3000,那么不通过。 如果申请人既没房也没车,同时学历为本科以上,并且月
与薪水3
4
薪少于2000,同时之前没有信用卡的,那么不通过。
检查申请人已有 如果申请人现有的信用卡数量大于10,那么不通过。 的信用卡数量
存放检查申请人信息是 否合法的四条规则
否合法,如果合法那么将选择“合法”线路,
否则选择“非法”线路。 “合法申请人信用卡发放”:存放发放信用 卡的五条规则,对申请人的信息进行检查, 从而为申请人提供合适的信用卡额度。 两个结束节点分别用来结束合法与非法的信 用卡申请信息。
相关主题