分析规则
规则分析涉及到仔细研究策略以基于常见模式来识别规则组,以一种结构化方式组织这些策略,以及通过这些规则组制定总体的逻辑流。
让我们考虑一种业务策略:
如果降雨量较大,向排水部门发送评估降雨量的指令,而不是评估污水管容量。
此策略中存在很多歧义。例如,如何才算 “降雨量较大“?事实证明对 “较大降雨量” 的评定可基于多个条件来执行,比如:
在最近一小时内观察到的降雨量超过 15 毫米。
在最近一小时内观察到的降雨量超过 10 毫米,且在最近 12 小时内观察到的将于量超过 100 毫米。
在最近 12 小时内观察到的降雨量超过 150 毫米。
在最近 6 小时内观察到的降雨量超过 80 毫米。
这些条件中的每一个都可独立地表达为一个业务规则。我们常常会发现,从一个业务策略中消除歧义性可能实际得到多个更简单、定义明确的业务规则。
我们还会在这里注意到一个规则组:基于观察到的警报执行评估的规则。另一个规则组基于推断的评估值来生成通知和指令。图 7 显示了一个逻辑规则流。
图 7. 逻辑规则流

在此系列的后续文章中,我们将介绍在 WebSphere ILOG JRules 中实际实现这些规则的流程。
结束语
我们已看到 WebSphere ILOG JRules 是一个强大的工具,提供了一个丰富的特性集,以构建可在 SOA 环境中执行的业务规则管理。使用一个案例分析,我们介绍了选择一个 BRMS 的理由和总体解决方案架构。此外,我们还介绍了决策服务创建流程的初始化阶段,其中会获取并分析业务策略。在后续文章中,我们将向技术开发人员和业务用户详细介绍开发流程。
规则应用程序开发
技术开发人员使用 Rule Studio(一个基于 Eclipse IDE 的工具)来创建基础的规则工件,包括 Java™ 开发和规则项目开发。本文不是一个详细的教程,只是对开发流程的介绍。您可使用完整的工作区跟随我们进行操作,请参见 下载 部分。作为前提条件,您应在工作站上安装 IBM WebSphere ILOG JRules Rule Studio 7.1.1。
本系列的第 1 部分已提到,规则应用程序开发在初始化阶段的规则发现和分析之后发生。从总体上讲,规则应用程序开发由以下步骤组成:
1. 创建项目
2. 设计规则结构,包括规则包和规则流
3. 编写业务规则
创建项目
使用 Rule Studio,开发人员首先创建一个常规的 Eclipse 工作区,然后在其中创建各种类型的项目,包括 Java 项目和规则项目。这些项目构成了执行对象模型 (XOM)、业务对象模型 (BOM) 和规则集。图 1 描绘了项目创建流程。
图 1. 项目创建流程

创建 XOM 项目
XOM(可能是一组 Java 类或 XSD 文件)表示物理数据模型,也就是在执行期间传给决策服务和从中传出的实际数据。在我们的场景中,Common Alerting Protocol (CAP) XSD(参见 参考资料 下的 OASIS CAP 10 月份更新)构成 XOM。我们创建了一个名为 “ccc-xom” 的简单项目来包含 XSD,如 图 2 所示。
图 2. 包资源管理器中的 XOM 项目

在我们的用例中,我们从 XOM 创建一个 BOM。在这种自底向上的方法中,全面理解 XOM 的结构和元素至关重要,因为它们形成了 BOM 和规则字典的基础。在 CAP XSD 中,一个 Alert 包含多个 InfoTypes,后者进而包含一个或多个 ParameterTypes 和 EventCodeTypes。Parameters 指定了数据值,比如在最近 12 小时内观察到的降雨量。图 3 描绘了这些 XOM 元素。
图 3. XSD 示意图

(查看 图 3 的更大版本。)
创建 BOM 项目
WebSphere ILOG JRules BRMS 的优势在于,它允许使用自然语言基于业务术语来编写业务逻辑,而不使用编程语言。对于此任务,您创建一个 BOM,它是业务领域的一个逻辑模型,描述了您的决策所基于的数据。规则创建者可看到的每个 BOM 元素会被分配一种自然语言表达。决策的所有元素都使用这个词汇表的术语来编写。
在 Rules Studio 中,使用一种自底向上的方法,通过导入 XOM 来创建 BOM。在创建 BOM 项目之前,切换到 Rule Studio 中的规则透视图。然后使用一个通过 File – New – Rule Project 调用的向导创建 BOM 项目。指定 capAlertMessage1_1.xsd 作为 BOM 的动态绑定。图 4 演示了从一个 XSD XOM 创建 BOM 项目时所使用的步骤顺序。要创建 BOM 项目,执行以下步骤:
1. 选择 File – New – Rule Project。
2. 在打开的窗口中,选择 Rule Project with a BOM 作为模板并单击 Next。
3. 在接下来的窗口中,指定 “ccc-bom” 作为项目名称并单击 Next。
4. 单击 Next。
5. 使用 Rule Project XOM Settings 中的 Dynamic Bindings 选项卡中的 Add XSD 按钮选择 capAlertMessage1_1.xsd,然后单击 Finish。
图 4. 创建 BOM 项目
以下文章点击率最高
Loading…