便捷的业务规则桌面工具

朱 庆扬, 软件工程师, IBM
 

简介: WebSphere ILOG Rule Solutions for Office(RSO) 是 WebSphere ILOG BRMS 产品的一个桌面工具,用于编辑管理业务规则。本文将对 RSO 做一个简要介绍。

引言

随着现代商业策略越来越复杂 , 庞大 , 以及可能出现的策略快速变更的需求 , 商业规则管理系统 (BRMS) 也就应运而生。 在商业规则管理系统中 , 商业策略以业务规则的形式来表述 , 可以被商业用户阅读理解并编辑管理 , 可以直接放到规则引擎中去执行。 而 IBM 的 WebSphere ILOG BRMS 产品就是一款非常优秀的 BRMS 软件。它以类似自然语言的形式来描述业务规则,并为商业用户提供了多种容易上手的管理业务规则的方式。 WebSphere ILOG Rule Solutions for Office(RSO) 就是其中之一。本文将对 RSO 做一个简要介绍

IBM WebSphere ILOG Rule Solutions for Office(RSO)是 WebSphere ILOG Business Rule Management System 的一个重要组件,它使非技术背景的商业用户可以用熟悉的桌面工具 -Microsoft Office 来编辑和管理业务规则。

Microsoft Office 是一款使用的相当广泛的办公软件。而 WebSphere ILOG Rule Solutions for Office (RSO) 就是构建在 MS Office2007 基础上的一组插件 ( 包括 Word 插件和 Excel 插件 ),提供了对编写业务规则的支持。在 WebSphere ILOG BRMS 中 , 业务规则可以保存为一种名为 RuleDoc 的文档。通过 RSO, 用户们就可以使用熟悉的 Word 以及 Excel 工具打开 RuleDoc, 编辑管理自己的业务规则了。

RSO 适用于习惯用 office 来编辑保存业务逻辑的商业用户和暂时没有网络环境或希望进行脱机工作的用户,有着操作简便,容易上手的优点。根据平台不同,RuleDoc 可以从以 web 为界面的 Rule Team Server 和以 Visual Studio 为基础的 Rule Studio for .NET 上生成和同步回去。但不管用哪种平台,实际操作都相当方便而灵活。

目前 RuleDoc 支持 WebSphere ILOG BRMS 中两种业务规则表现形式 :

  • 文本性质的业务规则 (business rule):用与自然语言相似的形式,以 if-then 的方式来表述业务逻辑
  • 以表格形式存在的业务规则-决策表 (decision table):用于表述大量的相似业务规则

包含 business rule 的 RuleDoc 以 MS Word 文档的形式保存。 RSO 的 Word 插件提供了包括编写、审查、格式、视图、内容和定制六组内容的工具栏。(如图 1)


图 1. RSO 在 Word 中的工具栏
图 1. RSO 在 Word 中的工具栏

业务规则示例:

在贷款验证中,会有类似的商业逻辑:对已经验证过的贷款请求,根据其风险等级再进行一次审批。

这样的商业逻辑可以很容易的用类似于自然语言的 if-else 形式来表达:

if 
  'the loan report' is approved and
  the loan grade in 'the loan report' is one of { "A" , "B" , "C" } 
then 
   in 'the loan report',
   accept the loan with the message "Congratulations! Your loan has been approved" ;
else 
   in 'the loan report',
   refuse the loan with the message "We are sorry. Your loan has not been approved" ;
; 

在 RSO 中编写这样一条规则,用户需要做的是选择文档的空白处(比如文档底部),在规则工具栏点击插入规则(Insert Rule),修改规则名以及在规则内容区域(Rule Body)输入类似以上 if-else 语句的业务规则。与一般编写 word 文档不同的是,在输入业务规则的时候用户只能使用事先定义的词汇,以便于和其他 BRMS 组件交互以及在规则引擎中的执行。

不用担心词汇的使用,RSO 的 Word 插件提供了用于内容提示的下拉列表以帮助用户使用事先定义的词汇,用户还是可以方便的像平时编辑 word 文档一样对业务规则进行处理。RSO 还提供了词汇视图(Vocabulary Pane)用来查找事先定义好的词汇。

对于已输入的规则,RSO 提供了语法检测功能。下图是一条在 word 中进行编辑的业务规则,规则名是 approval, 分类在包 eligibility 中,具体内容如上文所述,对已审批的贷款根据其风险等级重新评估。划红线处是 RSO 检测到的没有定义的词汇。通过下拉列表,用户可以找到事先定义的内容作为提示替换错误部分。


图 2. 在 RSO 中编辑的业务规则
图 2. 在 RSO 中编辑的业务规则

RSO 提供了其他便利的功能。用户可以在规则文档视图中根据规则名定位规则;可以修改业务规则的属性;可以把已有业务规则设为模板用于建立新规则;还可以设定和应用规则的格式。

规则流(ruleflow)以直观的的形式记录业务规则的执行流程。同一个规则项目的规则流和 business rule 可以保存在相同的 RuleDoc 上。在 RuleDoc 中 ruleflow 是以一整张图片的形式保存的,所以在被 Word 打开后,ruleflow 本身是不能被编辑的 A 本文以 BRMS 7.0 为基础。事实上在 BRMS 的最新版本 7.1 中 , RSO 已经提供了对规则流的编辑功能,这样用户可以只使用 RSO 就完成编写规则的所有基本工作,使用起来更方便灵活。不过用户还能够对 ruleflow 的属性进行修改。


图 3. RSO 中的规则流
图 3. RSO 中的规则流

包含决策表(decision table)的 RuleDoc 以 MS Excel 文档的形式保存。与 MS Word 插件类似 , RSO 的 Excel 插件也提供了包括创建、编写、审查、视图以及定制五组内容的工具栏用于决策表的增 , 删 , 改 , 查。在 Excel 中一个 sheet 就代表一个决策表。一个单元格不只是显示的内容,还隐含着规则语句,所以 RSO 的 Excel 插件提供了独立的插入复制等选项用于对表格 , 行列的操作。

在决策表中,不同的列代表着不同的条件或是相应的行动,而每一行就相当于一条业务规则。使用规则规则声明,每选中一行决策表的有效内容,RSO 就会显示规则的文本表示形式,以供参考

图 4 是一个决策表的实例,拥有两个条件列和两个行动列。两个条件列分别定义了等级和贷款金额,两个行动列则定义了是否需要保险以及保险比率。条件列和行动列组合起来形成了一批相近的规则。


图 4. RSO 中的决策表
图 4. RSO 中的决策表

 

RSO 与 WebSphere ILOG BRMS 其他组件的交互

WebSphere ILOG BRMS 根据平台可以分为 JRules 和 Rules for .Net。 相应的 RSO 也可以生成于以下两种平台的组件 :

  • ILOG Rule Team Server
  • ILOG Rule Studio for .NET

ILOG Rule Team Server (RTS) 是 WebSphere ILOG BRMS 提供的一个 web 平台工具,针对 java 和 .NET 有不同的版本。商业专家们通过它就可以使用浏览器进行团队协作 , 在网页上完成业务规则的编写 , 修改 , 检查 , 组织。而 RSO 则是专家们脱机工作的好助手。不管是使用 RTS 还是使用 RSO,通过 RTS 与 RSO 之间的交互 , 规则都会存到一个相同的数据库中,这样专家们各自的工作就集成到了一起。

RSO 与 RTS 的工作交互流程如图 5:

  • 用浏览器登陆 RTS 页面,选择需要发布的规则项目,设定 RuleDoc 的发布位置 , 生成条件,RuleDoc 的结构等,最后生成 RuleDoc
  • 使用 RSO 在 Word 和 Excel 上对 RuleDoc 进行修改。
  • 登陆 RTS,确认 RuleDoc 位置,选择从 RuleDoc 上更新规则
  • 如果出现这样的情况:业务规则所在的项目在 RTS 与 RSO 上同样被编辑过,那么在更新 RuleDoc 的时候,RTS 就会提醒用户:RTS 上已修改的规则会被替换,需要用户检查所有规则以避免冲突。RTS 界面也提供更新的选项,直接覆盖 RTS 连接的规则库中的相关规则,让用户灵活使用。不过在实际应用中还是推荐使用 RSO 的用户重新从 RTS 上生成一遍 RuleDoc,确认没有冲突后,把自己的修改内容复制到新生成的 RuleDoc,或是根据新的内容重新修改,之后再更新到 RTS 上。


图 5. RSO 与 RTS 交互示例
图 5. RSO 与 RTS 交互示例

RuleDoc 也可以由 ILOG Rule Studio .Net 生成。与 RTS 不同,ILOG Rule Studio for .Net 是只属于 .Net 的开发环境,它以一组附件的形式完整的集成到 Microsoft Visual Studio 上,使得以 Visual Studio 为开发平台的程序员们能方便的使用同一种环境开发商业规则应用程序和与之集成的 .Net 项目。用户在 Visual Studio 上完成词汇定义等工作后,可以通过 Rule Studio 提供的向导自动生成 RuleDoc。之后用户就可以用 RSO 这样的轻量级工具来方便的管理业务规则了。.Net 平台的用户在完成工作后可以选择把做过的修改同步到 ILOG Rule Studio for .Net 上去

RSO 就是这样一款以方便商业用户为目的而开发的工具。它以用户熟悉的办公软件 MS office 为基础,使用户能以相对较快的速度掌握工具的使用,把更多精力放在业务规则本身;同时 RSO 又提供了相当全面的功能,使用户能轻松完成规则的编写;而 ILOG BRMS 其它组件与 RSO 便捷的交互又使得 RuleDoc 容易获取,也容易汇总。

原文链接:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1008_zhuqy_rso/1008_zhuqy_rso.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-671395/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14789789/viewspace-671395/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值