概述:Decision Server Rules

Decision Server 为用于将客户机应用程序所需的高度变化决策的响应自动化的基于规则的应用程序提供开发和运行时组件。
  • Rule Designer 是基于 Eclipse 的开发环境,可在其中设计、编写、测试和部署决策服务。
  • Rule Execution Server 提供用于运行和监视决策服务的运行时环境。

在基于规则的解决方案的核心内,您具有用于从决策服务请求决策的客户机应用程序。客户机应用程序可能需要决策服务的许多决策点。 在每个决策点,封装为规则集的业务规则用于表示决策制定方式的策略。决策服务作为 RuleApp 部署到 Rule Execution Server。每个 RuleApp 包含一个或多个规则集,每个规则集对应于一个决策。

下图说明不同组件如何交互:

图显示 Decision Server 组件。
注: Decision Server 还与 Decision Center 进行交互,其中包括供业务用户编写、管理、验证和部署决策服务的规则存储库和协作 Web 控制台(请参阅概述:Decision Center)。

决策服务的设计和开发阶段通过规则项目进行管理。决策服务是建议的规则管理单元,因为它允许涉及将多个规则项目分组为一个实体的复杂决策。同步、分支和变更管理将应用于决策服务层次结构中的所有规则项目,从而允许对决策服务行为进行一致的管理和部署。

您还可以管理经典规则项目中的规则。 这两种方法共享功能部件,但以不同方式对其进行管理。下表列出了这些功能部件以及这两种方法中如何对其进行处理。

功能部件 经典规则项目 决策服务
项目层次结构 标准规则项目 主要和标准规则项目
规则集定义 规则项目属性 决策操作
分支管理 项目 项目层次结构
发行版管理 通过分支或定制 决策监管框架
同步 仅规则工件 规则工件和部署配置
不推荐使用的功能部件:

废弃图标 经典规则项目在 V8.8.0 中已不推荐使用。该功能将在产品的未来发行版中被除去。请参阅不推荐使用的功能部件以获取迁移详细信息。

设计

Rule Designer 中,设计决策服务的粒度以及与客户机应用程序的合同。还可设计用于编写业务规则的模型和词汇表。

设计涉及实施必要的基础结构以编辑规则和生成一个或多个规则集。
  • 将组合的业务规则的集合定义为一个可执行决策单元,称为规则集。规则集使用输入和输出参数与客户机应用程序之间传递数据。 您通过输入和输出参数的唯一特征符来定义每个规则集及其参数。在决策服务中,创建用于定义规则集的内容和签名的决策操作。 由于可以对不同决策操作使用相同的规则项目和软件包,因此决策服务可以随着需要不同签名的新决策点的增加而轻松更改。
  • 您定义在业务规则中使用的词汇表。在 Rule Designer 中,开发用于定义词汇表中的元素和关系的业务对象模型 (BOM)。可以通过将 BOM 映射到执行对象模型 (XOM) 来定义词汇表。此外,也可以通过从 XOM 生成 BOM,然后从 BOM 配置业务词汇表来创建词汇表。
  • 设置规则项目层次结构。规则项目是专用于规则应用程序开发的一种 Eclipse 项目。 通过决策服务,主规则项目设计为顶级项目,从而允许对决策服务行为进行一致的管理和部署。
  • 在规则项目中,组织用于存储业务规则的规则包并定义规则流以指定其执行流。
  • 通过使用规则模型扩展来定义用于管理和跟踪业务规则的属性。
  • 您可以通过配置和定制测试和模拟来设置业务用户验证工具。

编写

如果您负责创建和管理规则,那么可编写项目中的大多数业务规则。如果业务用户负责创建和管理规则,请设置工具以为其促进规则编写。您可以创建不同类型的业务规则,主要包括操作规则和决策表。这些业务规则全部基于设计为看似自然语言的业务操作语言 (BAL)。 此外,您还可以创建基于 ILOG® 规则语言 (IRL) 并需要编程技能的技术规则。

在编写过程中,您还可以:
  • 定义词汇表类别以过滤编写业务规则时可用的词汇表元素。
  • 创建规则编写扩展。您可以使用这些扩展来集成特定词汇表元素的值编辑器,或者定义从数据源检索值的动态域。
类别 主题
了解更多

编写业务规则

学习教程

教程:编辑决策表

查看样本

编写扩展样本

调试

您在 Rule Designer 中调试规则集。
  • 通过使用嵌入式规则引擎管理规则执行来调试规则集。
  • 通过使用受约束语义查询来分析规则,这些查询检查给别规则以及规则集整体的一致性和完整性。
类别 主题
了解更多

复审规则项目

调试规则集

学习教程

教程:调试规则集

测试

Rule Designer 中,为业务用户准备了在 Decision Center 中运行测试和模拟的功能。

集成

您可以将 Rule Designer 的客户机应用程序集成。

规则集合同确定后,您可以将规则集托管在 Rule Execution Server 上并从客户机应用程序调用规则集。Rule Execution Server 是部署的业务规则的受管、受监控执行环境。Rule Execution Server 处理规则集实例的创建、汇聚和管理,以便客户机应用程序可以尽可能轻松地调用产生的决策。

您可以使用以下方法从客户机应用程序代码调用规则集:
  • 普通 Java™ 接口。

  • 本地 EJB。

  • 使用远程 EJB 的远程 Java 虚拟机 (JVM)。

  • 消息驱动的 bean(异步)。

  • 可将规则集作为要通过 Web Service 协议来调用的透明决策服务进行托管。

Decision Server 为每种可选方式提供组件。

部署

RuleApp 定义一起部署的一组规则集。RuleApp 还包含用于表示与客户机应用程序的交互的输入和输出参数,以及客户机应用程序识别规则集及其版本所需的规则集路径。

充分验证并核准决策服务或经典规则项目后,可以部署到 Rule Execution Server 以在生产环境中使用。您可以从 Rule DesignerDecision Center 进行部署。如果使用的是经典规则项目,那么 Decision Center 不会向 RuleApp 应用版本,并且对于可以更改 RuleApp 的人员没有规定。

根据使用决策服务还是经典规则项目,启用部署的功能部件不同。

通过决策服务,您使用部署配置进行部署,该配置定义在 RuleApp 中的组合内容及其部署位置。部署配置可以引用一个或多个决策操作。决策操作包括产生规则集所需的所有设置:输入和输出参数、主规则流以及任何规则抽取。部署配置类似于经典规则项目的 RuleApp 定义,但它是一个工件,可与 Decision Center 同步并在 Business 控制台中受变更管理和监管。

下表列出了这些部署功能部件以及这两种方法如何对其进行处理。

功能部件 经典规则项目 决策服务
部署定义 RuleApp 部署配置
部署版本 由管理员在 RuleApp 中管理 在部署配置中定义
部署目标 部署时选择 在部署配置中定义
部署选项 Rule DesignerDecision Center Enterprise Console Rule DesignerDecision Center“业务”控制台
部署历史记录 位于 Rule Execution Server Decision Center 中的审计跟踪
不推荐使用的功能部件:

废弃图标 经典规则项目在 V8.8.0 中已不推荐使用。该功能将在产品的未来发行版中被除去。请参阅不推荐使用的功能部件以获取迁移详细信息。

管理和监视

Rule Execution Server 提供用于管理和监控决策服务的工具。
  • 您使用 Rule Execution Server 控制台、Ant 脚本或企业管理工具(如 IBM® Tivoli® 或 HP OpenView)以及 JMX MBean 来监视 Rule Execution Server 中规则集的执行。
  • 您可以调试正在 Rule Execution Server 中运行的规则。
  • 您创建规则集的备份版本并在必要时还原为先前版本。
  • 您还在 Decision Warehouse 中对执行结果进行监控和归档。您也可以收集有关性能的统计信息。

审计

规则集执行跟踪数据提供对过去决策的审计跟踪,有时需要此审计跟踪才能满足法规需求。此类型的数据提供通过显示所有关联规则来调查在过去事务中呈现的决策的方法。

通过将 Decision Warehouse 与 Rule Execution Server 结合使用,您可以管理、备份和移除存储的决策。Decision Warehouse 还存储并检索关于启用了监控的规则集的详细报告。