< 上一课 | 下一课 >

任务 5:部署规则集

将规则集部署到 Rule Execution Server,其中包含了运行规则的规则引擎。

关于此任务

规则已进行表述和测试。现在必须将规则集成到 Miniloan 应用程序中。

首先创建生成 RuleApp 归档的部署配置。RuleApp 包含规则集,并使用 Rule Execution Server 期望的格式。规则集通过 Java™ 类打包到 JAR 文件中的相同方式,打包到 JAR 文件中,而该 JAR 文件中包含运行规则集所需的全部内容(包括规则和规则流)。您将规则集部署到该配置中。

创建部署配置之后,调用 Miniloan web 应用程序中的集成代码以在 Rule Execution Server 中运行新业务逻辑。

部署过程的图形表示

在本任务中,您还可以使用托管的透明决策服务 (HTDS) 来测试已部署的规则集。在 Rule Execution Server 中部署 RuleApp 之后,您便可以从规则集生成 Web 服务描述语言 (WSDL) 文件,然后在 Rule Designer 中测试此文件。

时间 完成本任务需要 15-30 分钟。

步骤 1:创建部署配置

关于此任务

要从 Rule Designer 部署规则,您必须创建部署配置。

过程

  1. 确保样本服务器已启动(请参阅启动 Miniloan Web 应用程序)。
  2. 如果您仍在“操作图”中,单击返回到决策服务图
  3. 在“决策服务图”中,单击创建部署配置
    提示: 还可以单击文件 > 新建 > 项目并选择部署配置
  4. 在“新建部署配置”向导中,浏览到部署文件夹 my decision service/deployment,并在名称字段中,输入 my deployment
  5. 单击完成 将显示消息,因为部署配置尚未引用操作。
  6. 打开决策操作选项卡。
  7. 在“已配置决策操作”中,单击加号按钮。确保选中选择现有操作,然后展开 my decision service 并选择 my operation
  8. 单击完成

步骤 2:启用规则集监视

关于此任务

设置属性以在规则集运行时启用其监视。

过程

  1. 在“已配置决策操作”部分中选择 my operation
  2. 在“规则集属性”中,单击加号按钮以添加属性。
  3. 名称字段中,输入 ruleset.bom.enabled,在字段中,输入 true
  4. 单击确定以创建规则集的新属性。
  5. 重复步骤 1 到 4 以定义属性 monitoring.enabledruleset.sequential.trace.enabled。将这些属性的值设置为 true
  6. 保存更改。必须首先保存更改,然后才能部署 RuleApp。

步骤 3:部署规则集

关于此任务

将规则集从 Rule Designer 部署到 Rule Execution Server

过程

  1. 在“规则集版本策略”中,确保选中将次版本号递增
  2. 单击目标服务器选项卡并单击加号按钮来定义新的目标服务器。
  3. 在“目标服务器”向导中,确保选中创建 Rule Execution Server 连接,并单击下一步
  4. 名称字段中,输入 Sample server。在 URL 字段中,输入以下地址:http://localhost:<PORT>/res 在 URL 中输入正确的端口号(请参阅检查服务器端口号)。
  5. 输入 resAdmin 作为用户名和密码。
  6. 单击测试连接。单击已成功的连接,然后单击完成
  7. 保存工作。
  8. 打开概述选项卡,单击“部署”部分中的执行 RuleApp 部署
  9. 选中 my operation 并验证部署摘要。单击下一步
  10. 检查凭证并单击下一步
  11. 检查版本摘要并单击完成。“部署”报告将打开并显示部署已成功。

步骤 4:查看已部署的 RuleApp

关于此任务

现在,您在 Rule Execution Server 中查看已部署的 RuleApp,前者是具有规则引擎的规则执行环境。 Rule Execution Server 处理与规则执行相关联的管理、性能、安全和日志记录功能。

您从应用程序使用 Web Service、Enterprise JavaBeans (EJB) 或纯旧 Java 对象 (POJO) 来访问 Rule Execution Server

过程

  1. 单击开始 > 所有程序 > IBM > package_group > 样本服务器 > Rule Execution Server 控制台
    提示: 您还可以在浏览器中输入 http://localhost:<PORT>/res。请输入 URL 的正确端口号。
  2. 使用 resAdmin 作为用户名和密码来登录 Rule Execution Server 控制台。
  3. 单击资源管理器选项卡。
  4. 在“导航器”中,展开 RuleApp,然后展开 /my_deployment/1.0。(Rule Designer 在部署期间在 RuleApp 名称下添加下划线。)

    您将看到 Rule Execution Server 包含 my_deployment V1.0,后者包含 my_operation 规则集 V1.0:

    在“资源管理器”选项卡中展开 RuleApp
  5. 单击 /my_operation/1.0 以在“规则集视图”中查看规则集的详细信息。

    规则集的状态为 enabled,这表示其可以运行。

    该图显示了已启用并可供运行的规则集。
  6. 单击显示属性链接以查看规则集属性。

    您在上一步中添加的属性设置为 true

步骤 5:使用规则来运行 Miniloan Web 应用程序

关于此任务

在 Miniloan Web 应用程序中,您可以选择嵌入到该应用程序中的业务逻辑是纯 Java 代码还是编码到规则集内。您首次启动 Miniloan 应用程序时,还没有规则集,所以使用 Java 代码运行了该应用程序。 现在可通过选中使用规则复选框来使用 Rule Execution Server 中已部署的规则集。

Miniloan Bean 的 validateWithJRules 方法将验证规则。

过程

  1. 打开新的浏览器窗口,并输入带有正确端口号的以下 URL:http://localhost:<PORT>/miniloan-server
  2. 选中使用规则复选框。

    此复选框会激活运行规则集的代码。当您单击验证贷款时,Miniloan Web 应用程序将运行您已部署到 Rule Execution Server 的规则。Miniloan 的行为基本相同,区别在于业务逻辑现在依赖于您的规则。

  3. 单击验证贷款。验证结果相同:
    The loan is rejected 
    Messages: 
    Too big Debt-To-Income ratio

    规则执行摘要”显示在规则任务 miniloan#eligibility 中运行了 eligibility.minimum income 规则。

    规则在满足规则条件并触发规则操作时运行。此规则将贷款的 approved 状态设置为 false

  4. 将金额更改为 300000,然后再次单击验证贷款

    现在,您会看到以下响应:

    The loan is approved 
    The yearly repayment is 23 758 

    贷款已批准,而未运行任何规则。

  5. 关闭 Miniloan Web 应用程序。后续您需要将其重新打开以监视该应用程序。

(可选)步骤 6:检索 HTDS WSDL 文件

关于此任务

托管的透明决策服务 (HTDS) 是提供用于访问已部署规则集的接口的 Web service。透明决策服务组件将输入参数传递到规则引擎并对返回值进行访问。透明决策服务支持包括从透明决策服务到规则的可跟踪性、运行时监控以及版本管理。

您可以从 Rule Execution Server 控制台检索 myruleproject 规则集的 Web 服务描述语言 (WSDL) 文件。

过程

  1. Rule Execution Server 控制台中,确保您仍然在 my_operation 规则集页面上,然后单击检索 HTDS 描述文件
  2. 保持选中 SOAP 选项,并选择最新规则集版本最新 RuleApp 版本,然后单击下载
  3. 将 WSDL 文件保存到 <MyEclipseWorkspace>/my decision service,然后将其重命名为 MyDecisionService.wsdl

    <MyEclipseWorkspace> 是指文件系统上您的工作空间目录。

    提示: 要将 WSDL 文件导入 Rule Designer 中,您还可以使用“导入”向导:
    1. 文件菜单上,单击导入
    2. 单击常规 > 文件系统,然后单击下一步
    3. 浏览至包含 WSDL 文件的文件夹,然后选择要导入的文件。
    4. 目标文件夹字段中,选择 my decision service,然后单击完成
  4. Rule Execution Server 控制台注销。

(可选)步骤 7:在 Rule Designer 中测试 HTDS

关于此任务

如果您已检索到 WSDL 文件并将其保存到工作空间,那么可以使用 Rule Designer 来测试 Web Service。在测试环境中,您输入测试数据并调用 WSDL 操作。

过程

  1. Rule Explorer 中,右键单击 my decision service,然后单击刷新

    MyDecisionService.wsdl 文件显示在规则项目中。

  2. 双击 MyDecisionService.wsdl 以在 WSDL 编辑器中将其打开。

    MyRuleProject 是具有输入消息、输出消息和简单对象访问协议 (SOAP) 故障且类型为请求/响应的唯一操作

  3. 关闭 MyDecisionService.wsdl 文件。
  4. 切换到 Java 透视图:
    1. 窗口菜单上,单击打开透视图 > 其他 > Java(缺省值)
    2. 单击确定
  5. Package Explorer 中,展开 my decision service
  6. 右键单击 MyDecisionService.wsdl,然后单击 Web service > 使用 Web Services Explorer 进行测试
  7. Web Services Explorer 中的“操作”下,单击 My_operation
    该图显示 WSDL 绑定详细信息。
  8. borrower 的空字段中输入以下值:
    • creditScore100
    • yearlyIncome70000
  9. loan 的空字段中输入以下值:
    • amount8000
    • duration12
    • yearlyInterestRate2.5

    您的贷款很可能被拒绝,因为信用评分低于最低限制。

  10. 单击执行以在 Rule Execution Server 上调用 Web service。
  11. 在“状态”部分中,查看响应:
    该图显示了 WSDL 执行结果。
  12. 关闭 Web Services Explorer,然后切换回“规则”透视图。

结果

规则集现在已部署到 Rule Execution Server。您已在 Miniloan Web 应用程序中将规则集作为 Web Service 进行测试。 在下一个任务中,您使用 Rule Execution Server 来监视并审计规则的执行。

< 上一课 | 下一课 >