快速业务通道

在智能交通系统中基于Drools BRMS实现业务规则动态管理 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
配置。这样就完成了一个业务对象模型。

图 5. 添加类路径

在智能交通系统中基于Drools BRMS实现业务规则动态管理(6)

时间:2011-08-11 IBM 陈剑辉 龚萍

基于决策表的规则文件

这一步我们就要进入关键的一步了——创建和编辑规则文件。Drools 支持多种业务规则的定义方式, 如基于业务规则语言 drl(Drools Rule Language)的方式,基于自然语言的方式和基于决策表的方式等 。决策表是一种简单但是精确的表示规则的方式,容易使业务人员理解和使用。所以我们采用基于决策表 来定义我们的业务规则。决策表可以用 MS office 或 OpenOffice 编辑。其中的一行就是一条规则,分 为条件和动作两部分,如果满足条件则执行相应的动作。

决策表包括以下几部分:

规则集合的定义

一个文件对应一个规则集合,可以包含多个规则表。第二行关键字 RuleSet,其值和工作目录名一致 。Import 关键字定义规则引擎装载业务对象的类路径。Notes 关键字是用来注释这个规则集合的用途。

规则表的定义

每个规则表,分为表格头和表格体两部分。表头定义表格的模板信息。第六行 RuleTable 关键字表示 一个规则表从这里开始。第七行说明所在列是条件还是动作。第八行表示规则所要操作的对象模型,我们 声明了一个 fee 变量,它的类型是前面定义的 RuleInput 类。在动作那一列我们就可以使用 fee 这个 变量了。第九行就是条件模板或者动作模板,定义了输入业务模型实例的属性满足条件模板就执行动作模 板,例如输入的 RuleInput 实例如果 operator==201,则满足了表格体的第一行第一列条件。同样,如 果车辆被探测到的时间在 8 点到 24 点之间,那么满足了表格体的第一行第六列条件。其中 $1 表示第 一个参数,$2 表示第二个参数,当只有一个参数时,就用 $param 来表示。第十行是对各个属性的描述 。

图 6. 基于决策表的规则文件——计算通行费

同样,我们定义了两个决策表来计算附加费和折扣

图 7. 基于决策表的规则文件——计算附加费和折扣

在智能交通系统中基于Drools BRMS实现业务规则动态管理(7)

时间:2011-08-11 IBM 陈剑辉 龚萍

通过上面的描述,我们定义了一个完整的规则文件。然后我们就可以上传到 Drools BRMS 上了。打开 刚才的 URL,首先要创建一个类别,选择左边的 Admin 菜单,选择 Manage Category 页,创建一个 SampleCtg 类别。

图 8. 创建类别

然后点击“create new rule”图标,创建一个 Business Rule Asset,命名为 SampleRule。类别选 择刚才的 SampleCtg,选择规则类型为决策表类型。然后上传决策表文件。

图 9. 上传规则文件

在智能交通系统中基于Drools BRMS实现业务规则动态管理(8)

时间:2011-08-11 IBM 陈剑辉 龚萍

上传之后,点击 Validate 按钮来验证上传的规则文件是否正确。如果有错误就根据提示进行改正, 再次上传验证直到验证通过。

最后一步就是发布这个业务规则,发布时 Drools BRMS 提供了一个 http 地址,这样客户端可以通过 这个地址访问到这个业务规则。点击包 com.sample.rule,选择右边的 Build, Validate and deploy 栏 目,点击 Build Package,然后点击 Create snapshot for deploy 键,命名为 TollRule,点击创建, 这样就完成了发布。在 Deployment 菜单我们可以看到发布的规则文件地址为 http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/com.sample.rule/TollRule。

图 10. 发布规则

调用程序

我们开发了一个简单的 JSP web 客户端来模拟实际的业务系统,需要调用 Drools BRMS 来显示规则 执行的结果。Drools 的核心包中提供了一个 RuleAgent 的 API,能够动态地访问在 BRMS 上发布的业务

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号