技术开发 频道

在WebSphere中进行版本管理

    您可以在新流程版本中更改仅在业务流程中用于内部处理的业务对象。

    如果流程接口的参数可能会在将来更改,可以考虑对流程使用较弱类型的接口。有关详细信息,请参阅下面的弱类型接口和业务对象部分。

    业务流程的相关集规范

    当 Business Process Choreographer 接收到请求时,它需要确定该请求所针对的流程实例。实例是通过作为请求的一部分传递的相关集来确定的。相关集必须在流程的不同版本中保持有效。因此,用于确定流程实例的相关集规范必须在新流程版本中保持相同。

    依赖某些流程或任务特征的客户端

    客户端可能依赖与之交互的流程或任务的某些特征。在设计新版本的流程或任务时,您应该考虑这些特征,以便在安装新版本以后,现有的客户端能够继续无缝地工作。

    这些特征包括:

    业务流程的类型

    长时间运行的业务流程和微流程具有不同的响应行为和事务行为。例如,调用某个微流程时,客户端在同一个事务中接收结果;对于长时间运行的业务流程,结果仅在后续的事务中可用。此外,用于调用业务流程的 API 方法可能随不同的流程类型而异。也就是说,在不同版本之间更改类型会影响流程的客户端。

    授权

    客户端可能需要特定的授权才能与业务流程或人工任务交互。如果修改了流程或任务的授权规范,请验证该更改是否影响客户端。

    业务流程的查询属性

    如果为流程指定了查询属性以使客户端能够查询业务数据,应该对新版本保留相同的规范,以防止破坏依赖这些查询属性的现有客户端。

    接口限定符

    SCA 接口限定符适用于流程和人工任务组件,例如,事务限定符或调用规范。如果需要更改这样的规范,请验证更改后的规范对现有的客户端是否有效。

    支持早期和后期绑定的场合

    正如在早期绑定和后期绑定部分中所说明的那样,在某些情况下,您可以选择使用早期绑定或后期绑定来调用人工任务或业务流程,并且存在某些仅支持早期绑定或后期绑定的情况。

    早期绑定和后期绑定支持

    本部分描述您可以从早期绑定和后期绑定中做出选择的场合。

    Business Flow Manager 的 Web 服务接口和 EJB API

    Business Flow Manager 的 Web 服务接口和 EJB API 提供了用于早期绑定和后期绑定的方法。一般来讲,接受流程模板名称作为参数的方法使用后期绑定。使用模板 ID(例如 PTID、ATID 和 VTID)进行操作的方法使用早期绑定。

    例如,BusinessFlowManager EJB 接口提供了以下方法签名:

    sendMessage(String processTemplateName,

    String nameSpace, String portType, String operation, ClientObjectWrapper inputMessage)

    sendMessage(VTID vtid,

    ATID atid, ClientObjectWrapper inputMessage)

    第一个签名 sendMessage 使用由 processTemplateName 表示的当前有效的流程,也就是使用后期绑定。第二个签名使用模板 ID vtid 和 atid 调用特定的流程模板,也就是绑定到该特定的版本。

    流程到流程的调用

    可以通过后期绑定或早期绑定的方式实现流程到流程的调用。如果调用流程使用 SCA 连接来连接到另一个流程,则调用是使用早期绑定实现的,即调用的是作为该连接的目标的流程。调用流程和被调用流程可以在同一个 SCA 模块中,或者可以在通过 SCA 导入或 SCA 导出连接的不同模块中。
 

    在流程到流程的调用中,后期绑定不需要在流程之间进行连接,因为目标组件是在运行时动态地确定的。与使用静态 SCA 连接不同,您将作为调用流程的一部分指定被调用流程的流程模板名称。这是作为执行流程调用的调用活动的引用合作伙伴属性的一部分,在 WebSphere Integration Developer 中的业务流程编辑器中指定的。请参见“参考资料”部分的“WebSphere Integration Developer V6.1.2 信息中心,使用合作伙伴链接扩展的后期绑定”。

    通常,被调用流程驻留在单独的 SCA 模块中。如果是这样,则需要使用带 SCA 本机绑定的 SCA 导出将其导出。

 


图 9. 用于后期绑定的组装关系图和业务流程编辑器规范
 

  仅支持后期绑定

  Human Task Manager 的 Web 服务接口和 EJB API

  Human Task Manager 的 Web 服务接口和 EJB API 仅支持使用后期绑定的方法。

  例如,HumanTaskManager EJB 接口提供了以下方法签名:

createTask(String taskTemplateName,
String taskNamespace)
  此方法基于由 taskTemplateName 和 taskNamespace 表示的当前有效的任务创建任务。

 

0
相关文章