演练:修改策略

本演练分步说明如何创建新版本的 POVocabulary、创建新版本的 ProcessPurchaseOrder 策略,以及在新版 ProcessPurchaseOrder 策略中使用最新版本的 POVocabulary

必备条件

在执行本演练之前,必须完成 演练:将规则添加到策略 演练。

本演练概述

本演练包含三个过程,如下表所述。

过程标题 过程说明
修改 POVocabulary 词汇 提供有关创建新词汇版本的分步说明,以将允许的最大项目数的值从 500 修改为 1000
修改 ProcessPurchaseOrder 策略以使用更新的词汇 提供有关创建 新版本的 ProcessPurchaseOrder 策略以使用新版本 POVocabulary 的分步说明。
测试解决方案 提供测试解决方案和验证新策略是否有效的分步说明。

修改 POVocabulary 词汇

  1. 在“ 开始 ”菜单上,打开 “业务规则编辑器”。 如果业务规则编辑器已打开,请按 F5 或单击“文件”菜单上的“重新加载”以刷新它。

    注意

    在支持用户帐户控制 (UAC) 的系统上,可能需要具有管理权限才能运行该工具。 为此,请右键单击该应用程序,然后选择“ 以管理员身份运行”。

  2. 在“事实资源管理器”窗口中,展开“ 词汇表”,然后展开 “POVocabulary”。

  3. 右键单击“ 版本 1.0 - 已发布”,然后单击“ 复制”。

  4. 右键单击“ POVocabulary”,然后单击“ 粘贴词汇版本”。

  5. 双击“版本 1.1 中允许的最大项目数” (未保存) 以启动词汇定义向导。

  6. 单击 “下一步”

  7. 单击 “下一步”

  8. 将值从 500 更改为 1000

  9. 单击“完成”。

  10. 右键单击“ 版本 1.1 (未保存) ”,然后单击“ 保存”。

  11. 右键单击“ 版本 1.1”,然后单击“ 发布”。

修改 ProcessPurchaseOrder 策略以使用更新的词汇

  1. 在策略资源管理器中,展开 “策略”,然后展开 “ProcessPurchaseOrder”。

  2. 右键单击“ 版本 1.2”,然后单击“ 复制”。

  3. 右键单击“ ProcessPurchaseOrder”,然后单击“ PastePolicyVersion”。

  4. 单击版本 1.3 中的“ApprovalRule” (未保存)

  5. 在“事实资源管理器”中,展开“ 词汇表”,展开 “POVocabulary”,然后展开 “版本 1.1 - 已发布”。

  6. 拖动版本 1.1允许的最大项目数 - 发布,以替换 IF 窗格中版本 1.0 允许的最大项目数

  7. 使用 DeniedRule 重复步骤 4-6。

  8. 右键单击“ 版本 1.3 (未保存) ”,然后单击“ 保存”。

  9. 右键单击“ 版本 1.3”,然后单击“ 发布”。

  10. 右键单击“ 版本 1.3”,然后单击“ 部署”。

测试解决方案

  1. 单击“开始”,打开“BizTalk Server管理”。 如果 BizTalk Server 管理控制台已经打开,则按下 F5 键以便刷新它。

  2. 右键单击“ RuleTestApp”,然后单击“ 开始”。 如果禁用 “启动” ,则表示应用程序已在运行,可以忽略下一步。

  3. 单击“启动”。

  4. SamplePO2.xml 文件从 C:\BRE-Walkthroughs 目录复制到业务流程的 C:\BRE-Walkthroughs\RuleTestSol\Input 目录。

  5. 您应该在 C:\BRE-Walkthroughs\RuleTestSol\Output 目录中看到输出文件。 打开输出 XML 文件,注意 “状态” 字段的值设置为“ 已批准”。

    注意

    SamplePO2.xml 中的 “数量” 字段的值为 700。 ProcessPurchaseOrder 策略版本 1.3 将此值与 1000 进行比较,而不是像版本 1.2 那样将其与 500 进行比较。

注释

  • 已发布的策略不能修改。 必须创建一个新的策略版本才能修改它。 同样,已发布的词汇不能修改。 必须创建一个新的词汇版本才能修改它。

  • 使用 “调用规则” 形状调用策略的业务流程使用策略的最新部署版本。 例如,如果已部署了策略的版本 1.0、版本 1.1、版本 1.2 和版本 1.3,则业务流程使用版本 1.3。 如果版本 1.3 未部署,版本 1.2 已部署,则业务流程使用版本 1.2。 因此,如果希望转而使用版本 1.2,只需要取消部署版本 1.3,确保版本 1.2 已部署。

  • 若要使用业务流程中特定版本的策略,应使用 表达式 形状并调用规则引擎,以便使用 Policy.Execute 方法以编程方式执行策略。

  • 注意,策略的版本 1.3 使用来自 POVocabulary 词汇的版本 1.0 和版本 1.1 的词汇定义。 如果将策略的版本 1.3 导出至 XML 文件,然后再将其导入,以便在另一台计算机上创建策略,导入进程将同时查找词汇的两个版本。 因此,您需要在导入策略的版本 1.3 之前导出词汇的版本 1.0 和版本 1.1,再导入这两个版本。

  • 在部署策略的较新版本后,在测试解决方案前应该等待大约 60 秒。 默认情况下,规则引擎更新服务每隔 60 秒(1 分钟)就会查找策略的任何更新。 如果有更新,它将用更新信息刷新缓存。

后续步骤