定义专用业务流程的业务规则

你可以定义确认专用流程中使用的业务规则。 这使你可以动态修改业务规则,而无须停止专用业务流程。 此过程使用 Microsoft® BizTalk Accelerator for RosettaNet (BTARN) 业务规则引擎。 此过程包括以下步骤:

  1. 添加新词汇。 此步骤需要定义至少一个词汇常数值。 此常数值设置业务规则阈值。 它还涉及定义 XML 文档 GetSet 元素。 这将确定 Microsoft BTARN 使用阈值的方式。

  2. 添加新策略。 此步骤涉及创建策略、创建一套规则,然后保存、发布和部署该策略。

  3. 从专用业务流程中调用该业务规则。 这涉及到向业务流程添加 调用规则 形状。

    BTARN SDK 在 drive>:\Program Files\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\PipAutomation\3A4 中包含<示例 BTARN 业务策略(samplebtarnpolicy.xml)。 有关详细信息,请参阅 示例 BTARN 业务策略

    PIP3A4PrivateResponder.odx 业务流程是一个示例专用业务流程,该业务流程演示如何实现合并了业务规则的特定于合作伙伴接口流程 (PIP) 的响应方专用流程。 有关此示例的详细信息,请参阅 使用业务规则的 3A4 专用响应方业务流程

    有关词汇和策略的详细信息,请参阅 BizTalk Server 中的“使用业务规则进行开发”主题。

添加新词汇

  1. 单击“开始”,指向“所有程序”,指向“MicrosoftBizTalk Server”,然后单击“业务规则编辑器”。

  2. 如果“ 打开规则存储 ”对话框打开,请选择在当前服务器上设置的 BizTalk 规则引擎 数据库,然后单击“ 确定”。

  3. 在 Microsoft 业务规则编辑器的“事实资源管理器”窗格中,右键单击“ 词汇”,然后单击“ 添加新词汇”。

  4. 在“属性”窗格中 (左下角) ,将 Name 属性设置为相应词汇的名称,然后按 Enter

  5. 展开刚创建的词汇文件夹,右键单击“ 版本 1.0” (未保存) ,然后单击“ 添加新定义”。

  6. “词汇定义向导” 页上,选择“ 常量值”、“值范围”或“值集”,然后单击“ 下一步”。

  7. 在“ 常量值”、“值范围”或“值集”页上的定义名称 ”框中,键入相应词汇常量值的名称,例如 “允许的最大数量”,然后单击“ 下一步”。

  8. “定义常量值 ”页上的“ 值字段 ”框中,键入阈值,然后单击“ 完成”。

定义 Get 和 Set 元素

  1. 在业务规则编辑器的“事实资源管理器”窗格中,在“添加新词汇过程”中创建的词汇文件夹下,右键单击 版本 1.0 (未保存) ,然后单击添加新 定义

  2. “词汇定义向导” 页上,选择“ XML 文档元素”或“属性”,然后单击“ 下一步”。

  3. “XML 文档元素”或“属性” 页上的“定义名称”文本框中,键入 Get 元素的名称。

  4. 单击“ 浏览”,移动到要使用的架构的位置,选择架构文件,然后单击“ 打开”。

  5. 如果“ 选择根节点” 页打开,请选择要浏览的根节点。

  6. “选择绑定” 页上,移动到要为其定义阈值的字段,然后单击“ 确定”。

  7. 在“ 文档类型 ”框中,键入文档的名称。

  8. 在“ 操作类型 ”部分,选择“ 执行”获取“操作

  9. 单击“完成”。

  10. 重复这些步骤以定义一个或多个Set操作,为“操作类型”选择“执行”设置“操作

保存和发布词汇

  1. 在业务规则编辑器中,在事实资源管理器窗格中创建的词汇文件夹下,右键单击 版本 1.0 (未保存) ,然后单击 保存

  2. 在“事实资源管理器”窗格中的“3A4PurchaseOrderVocabulary”文件夹下,右键单击“ 版本 1.0”,然后选择“ 发布”。

添加新策略和规则

  1. 在“业务规则编辑器”的“策略资源管理器”窗格中,右键单击“ 策略”,然后单击“ 添加新策略”。

  2. 单击“ 策略1”。

  3. 在“属性”窗格中,将 Name 属性设置为相应的策略名称。

  4. 在“策略资源管理器”窗格中新策略的文件夹下,右键单击“ 版本 1.0 (未保存) ”,然后单击“ 添加新规则”。

  5. 单击“ Rule1”。

  6. 在“属性”窗格中,将 “名称” 属性设置为所需的规则名称,然后按 Enter

  7. 在规则编辑器的 “IF ”窗格下,右键单击“ 条件”,然后选择一个逻辑条件(如果适用)。

  8. 在“事实资源管理器”窗格中的“ 词汇”下,展开 “谓词”,展开“ 版本 1.0 - 已发布”,选择所需的谓词,将其拖动到 Composer 图面,然后将其拖放到 “条件” 或逻辑运算符上。

  9. 在“事实资源管理器”窗格中的“词汇”文件夹下,展开创建的词汇,展开 “版本 1.0 - 已发布”,选择 GetSet 元素,将其拖到 composer 图面,然后将其放在 argument1 上。

  10. 在词汇文件夹下,选择 GetSet 元素,将其拖动到编辑器图面并将其放在 argument2 上。

  11. 在词汇文件夹下,选择一个 Set 元素,将其拖动到编辑器图面,然后将其拖放到“THEN”窗格的 “操作 ”框中。

  12. 如果变量与 Set 元素相关联,请单击该变量,根据需要进行更改,然后按 Enter。 如果适用,请使用其他 Set 元素重复此操作。

保存、发布并部署策略

  1. 定义完规则后,在“业务规则编辑器”的“策略资源管理器”窗格中创建的策略文件夹下,右键单击“ 版本 1.0 (未保存) ”,然后单击“ 保存”。

  2. 在“策略资源管理器”窗格中创建的策略文件夹下,右键单击“ 版本 1.0”,然后单击“ 发布”。

  3. 在“策略资源管理器”窗格中创建的策略文件夹下,右键单击“ 版本 1.0”,然后单击“ 部署”。

从业务流程调用业务规则

  1. 启动 Microsoft Visual Studio 2012

  2. 在“ 文件 ”菜单上,指向“打开”,然后单击“ 项目/解决方案”。

  3. 找到包含必须从中调用业务规则的业务流程的解决方案,然后单击“ 打开”。

  4. 单击“ 视图”,指向 “其他窗口”,然后单击“ 业务流程视图”。

  5. 展开 “变量”。 确保业务流程变量列表中包含分别与特定业务策略中每个参数相对应的变量,该特定业务策略是要从该业务流程调用的业务策略, 同时确保变量与策略参数具有相同的类型。 如果列表不包含每个策略参数的业务流程变量,请右键单击“ 变量”,然后单击“ 新建变量”。 在“业务流程视图”中,键入变量名,然后在“属性”窗口中输入该参数的类型。

  6. “工具箱”中,将 “调用规则” 形状拖到业务流程设计图面,然后将其拖放到 “接收 ”形状下。

  7. 双击“ 调用规则” 形状。

  8. “选择要调用的业务策略 ”框中,从下拉列表中选择业务策略。

  9. 对于显示的第一个参数,对于“ 参数名称”,请从下拉列表中选择一个名称。

    注意

    BTARN 使用业务 策略 中的所有参数填充策略参数列表。 对于列表中的每个参数,BTARN 在业务策略的 “参数类型” 中输入一个值。 在与 “参数名称”关联的下拉列表中,BTARN 输入业务流程变量列表中与策略参数类型相同的所有变量的名称。 通过选择业务流程变量,可以将该变量与策略参数相关联。 你可以在“业务流程视图”中查看业务流程变量。

  10. 对所有其他参数重复步骤 9。

  11. 在“业务流程设计”窗口中,输入与业务策略关联的处理所需的所有其他形状,包括在“调用规则”形状下添加“决策”形状。

    注意

    有关如何在业务流程中使用 调用规则 形状的示例,请参阅 BTARN SDK 中包含的 PIP3A4PrivateResponder.odx 业务流程。 它位于 <drive>:\Program Files\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\PipAutomation\3A4\PR。 有关详细信息,请参阅 使用业务规则的 3A4 专用响应方业务流程

  12. 单击“确定”。

另请参阅

编程指南
BTARN 业务策略示例
使用业务规则的 3A4 专用响应方业务流程