- A+
引言
随着现代商业策略越来越复杂 , 庞大 , 以及可能出现的策略快速变更的需求 , 商业规则管理系统 (BRMS) 也就应运而生。 在商业规则管理系统中 , 商业策略以业务规则的形式来表述 , 可以被商业用户阅读理解并编辑管理 , 可以直接放到规则引擎中去执行。 而 IBM 的 WebSphere ILOG BRMS 产品就是一款非常优秀的 BRMS 软件。它以类似自然语言的形式来描述业务规则,并为商业用户提供了多种容易上手的管理业务规则的方式。 WebSphere ILOG Rule Solutions for Office(RSO) 就是其中之一。本文将对 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 上生成和同步回去。但不管用哪种平台,实际操作都相当方便而灵活。
RSO 的基本功能
目前 RuleDoc 支持 WebSphere ILOG BRMS 中两种业务规则表现形式 :
文本性质的业务规则 (business rule):用与自然语言相似的形式,以 if-then 的方式来表述业务逻辑
以表格形式存在的业务规则-决策表 (decision table):用于表述大量的相似业务规则
包含 business rule 的 RuleDoc 以 MS Word 文档的形式保存。 RSO 的 Word 插件提供了包括编写、审查、格式、视图、内容和定制六组内容的工具栏。(如图 1)
图 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 中编辑的业务规则
RSO 提供了其他便利的功能。用户可以在规则文档视图中根据规则名定位规则;可以修改业务规则的属性;可以把已有业务规则设为模板用于建立新规则;还可以设定和应用规则的格式。
规则流(ruleflow)以直观的的形式记录业务规则的执行流程。同一个规则项目的规则流和 business rule 可以保存在相同的 RuleDoc 上。在 RuleDoc 中 ruleflow 是以一整张图片的形式保存的,所以在被 Word 打开后,ruleflow 本身是不能被编辑的 A 本文以 BRMS 7.0 为基础。事实上在 BRMS 的最新版本 7.1 中 , RSO 已经提供了对规则流的编辑功能,这样用户可以只使用 RSO 就完成编写规则的所有基本工作,使用起来更方便灵活。不过用户还能够对 ruleflow 的属性进行修改。
图 3. RSO 中的规则流
包含决策表(decision table)的 RuleDoc 以 MS Excel 文档的形式保存。与 MS Word 插件类似 , RSO 的 Excel 插件也提供了包括创建、编写、审查、视图以及定制五组内容的工具栏用于决策表的增 , 删 , 改 , 查。在 Excel 中一个 sheet 就代表一个决策表。一个单元格不只是显示的内容,还隐含着规则语句,所以 RSO 的 Excel 插件提供了独立的插入复制等选项用于对表格 , 行列的操作。
在决策表中,不同的列代表着不同的条件或是相应的行动,而每一行就相当于一条业务规则。使用规则规则声明,每选中一行决策表的有效内容,RSO 就会显示规则的文本表示形式,以供参考
图 4 是一个决策表的实例,拥有两个条件列和两个行动列。两个条件列分别定义了等级和贷款金额,两个行动列则定义了是否需要保险以及保险比率。条件列和行动列组合起来形成了一批相近的规则。
图 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 交互示例
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 容易获取,也容易汇总。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫