FeaturesPluginsDocs & SupportCommunityPartners

BPEL 设计器开发人员指南

理解关联。使用关联向导

BPEL 服务引擎运行时使用关联机制跟踪 BPEL 流程与其伴随服务之间的多种长期消息交换。关联机制可以帮助将信息路由给相应的流程实例。

转换中的消息与 WSDL 文件中定义的一个或多个属性构成的组合值相关联。属性是消息中可以通过查询识别的字段。查询是通过称为属性别名的特殊结构来指定的。

因此,关联集用于通过标准且独立实现的方式支持 Web 服务之间的有状态协作。关联集合依赖存储在消息包封、报头或业务文档中的关联数据标记。关联的声明依靠于消息中的声明属性。

下列术语适用于关联:

  • 属性 是任意命名的标记。它必须是简单的类型。在 WSDL 文件中定义。
  • 属性别名 是指定 BPEL 运行时如何将消息中的数据映射到属性值的规则。对于将作为关联值使用的属性,您可以为它们定义多个属性别名。关联中的消息是特有的,如果需要映射多个消息中的相同属性值,则需要进行这项工作。举例来说,如果您需要提取两个不同消息中的相同部分,则需要一个属性和两个属性别名(每个消息对应一个)。属性别名是在 WSDL 文件中定义的。
  • 关联集 是在 BPEL 文件中定义的。关联集是由一个或多个属性值组成的复合键,实际上就是一个属性集。BPEL 运行时使用这个键值确保将消息路由到特定转换的正确流程实例。
  • 关联 标识活动,它们通过名称来标识关联集,指示发送或接收消息中出现的关联集。

使用和表达关联的元素

可以为流程元素定义关联集。然后可以通过消息活动(调用、回复和接收)来使用定义过的关联集合,消息活动描述了流程和伴随服务之间的信息交换。

调用活动中的关联集合用于确认外传入消息包含的数据与指定关联集实例中的数据一致。

关联集名称也可在 Pick 元素的 onMessage 分支或事件处理程序的 onEvent 变量中使用。

如果活动需要定义关联,则 IDE 将给出提示。

定义关联。关联向导

定义关联有两种方法:

  • 使用关联向导,它可以自动完成所有主要步骤。这是定义关联最容易、最方便的方式。通常,用户不需要了解关联运作的细节。向导将完成相应的工作。
  • 手动定义关联

关联向导用于定义两个消息活动之间的关联,如调用、回复、接收和Pick 元素的 OnEvent 或 onMessage 分支。

注意:向导只允许创建关联。不能够在向导中编辑关联。

使用关联向导创建关联:

  1. 在“设计”视图中,右键单击需要关联的活动,选择“定义关联”。这将打开关联向导。

    如果需要活动关联,IDE 会在图上显示警告标志。

    需要用于活动的关联

    选择“定义关联”

  2. 步骤 1:选择消息活动。在下拉列表中选择初始消息活动。此处选择的活动将初始化关联集。单击“下一步”按钮。

    关联向导。步骤 1

  3. 步骤 2:定义关联。在左侧可以看到正在初始化的活动发送或接收消息的树形结构。在右侧可以看到通过关联活动传递的消息结构。在源树面板中选择节点并将指针拖至目标树面板中的节点上,这样可以连接应该用来定义关联的消息部分。

    关联向导。步骤 2
    单击展开

  4. 关联已设定。向导将在 WSDL 文件中创建属性和属性别名,并且将关联集合与选择的活动相关联。

    注意属性和属性别名将写入新的 WSDL 文件中,可以在 BPEL 模块流程文件中看到。伴随服务的原始 WSDL 文件将会导入到新的 WSDL 中。对于使用向导创建的所有关联,属性和属性别名都会写入到该文件中。伴随 WSDL 文件将会导入。定义在 BPEL 文件中的关联集合将参考新的 WSDL。如果定义用于几个消息活动的关联,则所有属性和属性别名将写入到一个 WSDL 文件中。

    新的用于属性和属性别名的 WSDL 文件。

手动定义关联

  1. 使用 WSDL 编辑器在 WSDL 文件中定义一个或多个属性,或者 添加属性到 WSDL 文件:
  2. 使用 WSDL 编辑器在 WSDL 文件中定义一个或多个属性,或者 添加属性到 WSDL 文件:
  3. 使用先前定义的一个或多个属性为 BPEL 文件中的流程定义关联集。

    定义关联集:

    1. 在“设计”视图中,右键单击“流程”元素,然后选择“添加”>“关联集”。

      也可以在“导航”窗口的 BPEL 逻辑视图中,右键单击关联集合节点,选择“添加关联集”。

    2. 在“添加关联集合”对话框中,指定关联集合的名称,单击“添加”以添加属性。
    3. 在“属性选择器”对话框中,展开 WSDL 文件节点,选择添加到集合的属性。
    4. (可选)清除“仅显示导入的文件”复选框标记以查看未导入的 WSDL 和 XML 架构文件的内容。

      默认情况下,“属性选择器”对话框只显示进程中已经引用的那些文件。但是,项目中可能包含还没有导入到进程中的的其他 wsdl 和 xsdl 文件。如果为定义在非导入文件中的新属性选择类型,IDE 会自动将需要的导入添加到 BPEL 进程中。

      定义用于进程的关联集合是全局可见的。关联集合的名称在其他关联集合的名称中必须是唯一的。

    5. 单击“确定”按钮。
  4. 将一个或多个关联集与调用、接收、回复或 Pick 活动中的消息关联在一起。
    1. 在“设计”视图中,双击一个元素(调用、接收、回复、 Pick 的 OnMessage 分支或事件处理程序容器的 OnEvent 分支)。
    2. 在“属性编辑器”中,选择“关联”选项卡,单击“添加”按钮。
    3. 在“选择关联设置”对话框中,展开“关联集合”节点,选择关联集合,单击“确定”按钮。
    4. 从“初始化”下拉列表中选择此关联集的初始化属性。选择以下某种类型:
      • 。活动必须尝试初始化关联集。
      • 加入。如果关联集合未初始化,则活动必须尝试初始化关联集。
      • 活动必须尝试初始化关联集。这是默认选项。
    5. 对于调用活动,指定消息模式。

      在“模式”下拉列表中,选择一个模式属性指定关联是否适用于传出消息(请求)、传入消息(响应)或两者(请求——响应)。

    6. (可选)根据需要,添加更多的关联集,然后单击“确定”按钮。

返回顶部


Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by