在 IBM Business Process Manager V8 中迁移流程实例

在升级拥有长期运行的进程的进程应用程序时,要注意已启动的旧版进程的影响以及如何管理它们。本文介绍了 IBM® Business Process Manager V8 中可用的迁移选项,尤其重点介绍了动态迁移选项。本文还介绍了迁移正在运行的进程时应该执行哪些操作,以及这些步骤是悬而未定的还是保持孤立的。 本文来自于 IBM Business Process Management Journal 中文版

Ernese Norelus, IT 咨询专家, IBM

Ernese Norelus 是位于新加坡的 IBM ASEAN Software Services 团队的一名 IBM 认证 IT 咨询专家。他的工作职责是向客户提供咨询服务,帮助他们定义复杂业务问题的 IT 解决方案。他拥有超过 12 年的 IT 从业经验。



Prashant P. Atgur, BPM 解决方案架构师, IBM

Prashant P. Atgur 在架构和实现涉及 SOA、BPM 和 BRMS 的技术解决方案方面拥有超过 12 年经验。他是一位认证企业架构师,曾领导过包括 IT 变革、应用程序合理化和企业架构在内的多项工作。他曾与业务领导和执行 IT 团队密切合作,制定了企业的 IT 战略。



Leonard Blunt, 经过认证的 IT 专家, IBM

Leonard Blunt 的照片Leonard Blunt 是东盟 BPM 客户端合作伙伴,在实现业务系统方面拥有 14 年的经验,并且具有 BPM、SOA 以及中间件架构方面的专业知识。他设计、推广和领导了采用 SOA 和 BPM 的组织。



Harish Thungani Durgaiah, 管理顾问, IBM

Harish Durgaiah 的照片Harish Durgaiah 是 IBM Software Services for WebSphere ASEAN 的管理顾问。他的职责包括使用 WebSphere 产品设计解决方案,以满足客户的需求。他在为金融、制造业以及政府机构设计和实现各种集成系统方面拥有超过 8 年的经验。



2013 年 8 月 21 日

引言

随着时间的推移,需要对进程进行修改和完善,因此需要部署新版本的进程应用程序(包含新的业务流程)。这给企业带来了挑战,内容涉及长期运行的进程,以及决定如何处理使用旧的进程应用程序版本的进程。IBM Business Process Manager V8 (IBM BPM) 为管理对正在运行的流程实例的迁移提供了三个选项:

  • Leave 选项意味着不更新版本,在完成进程后才会运行更新,这由原来部署的进程来确定。
  • Migrate in-flight instances 选项将当前正在运行的实例迁移到所选择的屏幕截图的版本。无论在何种情况下,正在运行的实例都处于该进程或服务的流程中,为下一个项目或步骤实现新版本。该功能允许将进程修改为 “动态” 进程,还允许在运行时期间对进程进行更改。进程所有者可以在进程运行时打开和编辑动态进程,更改进程数据,动态激活和取消任务、触发升级、触发事件。
  • Delete 选项只在开发服务器上提供,该选项可以删除旧进程的所有实例,无需运行这些实例。

本文将重点介绍迁移选项,并提供有关管理迁移的指南,还会查看选择迁移选项的合理性。


迁移流程实例方案

迁移进程是这三个选项中最复杂的一个选项,因为它需要了解进程更改的影响。本文提供了迁移进程的分步示例,而且介绍了在更改进程流时应该如何处理正在运行的实例,这些导航步骤是悬而未定的还是保持孤立的。图 1 演示了迁移的概念,并显示了在我们试图到达的高级别上如何选择升级进程的迁移选项。

图 1. 将流程实例迁移到新版本
将流程实例迁移到新版本

查看图 1 的放大版本。)

通过以下特性来管理 IBM BPM V8 中进程的版本:

  • 进程的本机版本控制
  • 使用快照,及时回去查看、部署和运行之前版本的进程应用程序
  • 在实例之间迁移进程
  • 进行动态修改以采用更改

迁移动态流程实例涉及将正在运行的进程从原始进程更新到新版本的进程,以便完成这些进程,就好像这些进程一开始就是新版本一样。如果新版本修改进程流以及正在运行的实例尚未完成的步骤中的活动时,迁移会变得比较复杂。

业务方案

我们将在本文中使用的迁移示例利用 IBM BPM V8 安装附带的快速入门教程中的 Standard HR Open New Position 进程。Hiring Sample 进程应用程序包含一个业务进程定义,名为 Standard HR Open New Position。这个 Open New Position 进程捕获提交和处理填补职位的请求所需的步骤和决策点。图 2 显示了该业务流程图:

图 2. HR Open New Position 进程
HR Open New Position 进程

HR open new position 进程活动摘要

  1. 招聘经理提出填补新职位或取代离职雇员现有职位的申请。
  2. 招聘经理确定职位需求并准备向人力资源 (HR) 部门提交申请。
  3. 如果该申请是填补现有职位,则会直接将该申请从招聘经理发送到 HR,然后 HR 可以搜索职位候选人。
  4. 如果该申请是填补新职位,那么会将该申请发送到总经理 (GM) 以待批准。GM 对该申请进行评估,批准该申请或拒绝该申请。
  5. 如果 GM 批准该申请,则会将该申请发送至 HR,然后 HR 可以搜索职位候选人。如果 GM 拒绝该申请,则会通知招聘经理,并终止该申请。

准备示例应用程序

为了准备好用于演示迁移正在运行的流程实例的示例应用程序,您首先需要确保显示了业务流程定义 (BPD)。您需要向特殊的参与团队显示 BPD,以确定谁可以:

  • 在 Process Portal 中启动该进程的实例。
  • 在 Process Portal 中查看该流程实例的数据。

为了定义此内容,请完成以下步骤:

  1. 在 IBM Process Center 控制台中,单击 Process Apps 选项卡。
  2. 选择 Open in Designer
  3. 在 Designer 库中,单击 Processes 查看可用进程定义的列表。
  4. 从这个列表中,双击 Standard HR Open New Position BPD 以显示流程图。
  5. 在 IBM Process Designer 视图中,打开您要显示的 BPD。
  6. 单击 Overview 选项卡。
  7. 在图 3 所示的 Exposing 部分中,配置显示设置以向特定的用户组显示该进程的不同方面,然后单击 Ctrl+S 进行保存。该示例支持所有用户在 IBM Process Portal 中启动流程实例。
    图 3. 显示业务流程定义
    在 Overview 选项卡中显示业务流程定义

    查看图 3 的放大版本。)

表 1 显示可以在 Exposing 部分中启用的设置。

表 1. 可以在 Exposing 部分中启用的设置
显示设置 操作
Expose to start 单击 Select 以选择其成员可以在 Process Portal 中启动该流程实例的参与组。所选参与组的成员可以从 Process Portal 中的 Launch 选项卡中启动该流程实例。
Expose business data 单击 Select 以选择其成员可以在 Process Portal 中查看即席报告(其中包含该进程的数据)的参与组。
Expose performance metrics 单击 Select 以选择其成员可以在 Process Portal 的 Process Performance 仪表板中查看该进程数据的参与组。

启动流程实例

在 Process Designer Inspector 中运行 Standard HR Open New Position 进程,以查看进程模型的分步执行。

Hiring Sample 进程应用程序包含一个名为 Standard HR Open New Position 的业务进程定义。在 Process Designer 中,在 Standard HR Open New Position 的 Diagram 选项卡中,按照以下步骤启动流程实例:

  1. 单击 Standard HR Open New Position 流程图,以确保将其选中。
  2. 单击图 4 所示的运行图标,以启动该进程的一个实例。
    图 4. HR Open New Position 流程图
    HR Open New Position 流程图
  3. 当系统提示您切换到 Inspector 时,单击 Yes。该流程图将显示在 Inspector 中。
  4. 按照如下方式从 Inspector 中运行该进程:
    1. 单击左侧窗格中的活动实例,以在 Process Instances 视图的右窗格中显示新的 Submit job requisition 任务。
    2. 单击工具栏中的运行图标以启动该任务,如图 5 所示。
      图 5. Inspector 中的 HR Open New Position 流程图
      Inspector 中的 HR Open New Position 流程图

      查看图 5 的放大版本。)

    Submit job requisition 任务在 Web 浏览器中生成 Create Job Requisition Coach。在 IBM BPM V8 中,Coach 完全经过重新设计,目的是包含 Coach View。Coach View 是可重复使用的用户界面,您可以创建和自定义。

  5. 以招聘经理的身份完成申请信息,如图 6 所示,然后单击 Submit
    图 6. 填写职位申请信息
    职位申请数据对话框
  6. 将 Position Type 设置为 New
  7. 单击 Next
  8. 以招聘经理的身份在 Confirm Position Details Coach 中查看该信息,如图 7 所示,然后单击 Submit
    图 7. 招聘经理查看并确认申请
    招聘经理查看并确认申请数据
  9. 单击工具栏上的刷新图标 refresh icon 以更新 Process Instances 视图。您可以看到 Submit job requisition 任务现在已关闭。因为招聘经理提交了一个填补新职位的申请,必须在总经理 (General Manager) 批准申请之后,才能将该申请发送到 HR。因此,该流程实例移动到下一个活动,并为总经理生成 Approve or reject requisition 任务,如图 8 所示。
    图 8. 显示已收到进程的 HR Open New Position 流程图
    显示已收到进程的 HR Open New Position 流程图

    查看图 8 的放大版本。)

  10. 单击运行图标。在某些情况下,系统可能会提示您提供用户帐户或密码才能运行该任务。
  11. 选择 Approved,需要的话可以添加一些备注,然后单击 Submit
    图 9. HR Open New Position 的最终批准和提交
    HR Open New Position 的最终批准和提交
  12. 您还可以从 Process Portal 中运行该进程。BPM Process Portal 已经过重新设计,目的是提供增加了社交功能的高度协作的工作体验。如欲在 Process Portal 中测试该进程,请执行以下操作:
    1. 选择 Start => All Programs => IBM => BPM Advanced 8.0 => Profiles => ProcCtr01 => Process Portal
    2. 使用管理员凭据(admin 的用户 ID 和密码)登录到 http://localhost:9080/portal 上的 Process Portal。
    3. 单击该进程的名称来创建一个 BPD 实例,在本例中为 Standard HR Open New PositionStandard Hiring Sample,如图 10 所示。
      图 10. My Task 列表是 Portal
      My Task 列表是 Portal
      此时将打开 Submit requisition 任务。
    4. 以招聘经理的身份完成申请信息。
    5. 将 Position Type 设置为 New 并单击 Next
    6. 由于招聘经理提交了填补新职位的申请,因此必须在总经理 General Manager 批准申请之后,才能将该申请发送到 HR,如图 11 所示。
      图 11. 批准或拒绝申请
      批准或拒绝申请并提交

      该流程实例移动到下一个活动,并生成 Submit requisition 任务,如图 12 所示。

      图 12. My Tasks 列表中的 Submit requisition
      My Tasks 列表中的 Submit requisition

创建快照

快照在进程应用程序中记录库项目的状态或者在某个特定时刻进行跟踪。开发人员可以在开发期间的某个特定时刻捕获 BPD,例如,捕获开发里程碑。

您可以从 Designer 视图和 Process Center 控制台为进程应用程序或工具包创建新的快照。快照管理,诸如安装、导出和存档之类的操作都是在 Process Center 控制台中进行的。下面,您将在 IBM Process Designer 中创建 Standard HR Open New Position Process 的一个快照,将此快照作为控制该进程迭代的一种方法。在我们的示例中,该快照名为 V1,因为它是该流程实例的第一次迭代。

  1. 选择 Snapshot 以获取该进程的快照,如图 13 所示。
    图 13. 创建快照
    创建快照
  2. 单击 Create New Snapshot 旁边的加号。
  3. 为该快照提供名称、首字母缩写和描述,然后单击 Create
  4. 创建该快照之后,您就可以在 Process Apps 的 Snapshots 下查看该快照,如图 14 所示。请注意,该快照尚未进行部署。
    图 14. 进程服务器上的当前进程
    进程服务器上的当前进程
  5. 您可以使用为每个进程应用程序创建的标准部署服务将进程应用程序快照部署到连接的进程服务器或部署到脱机进程服务器。也可以自定义部署服务,以便在另一个环境中的服务器上部署进程应用程序时添加执行特定功能的调用和脚本。表 2 描述了各种服务器环境。
表 2. 进程服务器环境
环境 描述
开发 在 IBM Process Designer 中构建并改善您的进程应用程序。使用 Designer 创建您的进程模型并在这些模型中实现这些步骤。使用 Inspector,在播放会话中演示您的开发进度,以便您可以快速评估和概述您的原型。使用 Process Center 控制台,在测试和生产环境中部署您的进程应用程序。
测试 使用 Process Center 控制台在您的测试环境中的进程服务器上部署您的进程应用程序,以实现正式的质量保证测试。您可以使用 Inspector 来帮助验证和解决问题。
生产 当解决完正式测试报告的所有问题之后,使用 Process Center 控制台在您的生产环境中的进程服务器上部署您的进程应用程序。您可以使用 Inspector 来调查和解决您的生产环境中报告的所有问题。
  1. 在 Process Apps 选项卡上,单击您要部署的进程应用程序,然后单击 Snapshots
  2. Snapshots 列表显示了所有可用的快照以及每个快照的状态。单击您要部署的快照旁边的 Install
  3. 在 Install Snapshot to Server 对话框中,选择您要将快照部署到的服务器,然后单击 Install,如图 15 所示。在我们的示例中,我们将部署到 WS (IBMBPM)。
    图 15. 将快照安装到 WS (IBMBPM) 服务器
    选择将快照安装到 WS (IBMBPM) 服务器
  4. 如图 16 所示,V1 快照现在已安装在 WS (IBMBPM) 上。
    图 16. 已安装在 WS (IBMBPM) 服务器上的 V1 快照
    已安装在 WS (IBMBPM) 服务器上的 V1 快照

V1 快照实例现在已安装在 WS (IBMBPM) Process Server 实例上。它当前没有任何实例。下一步我们将创建实例,以便在运行时服务器上测试最新的快照版本。


创建流程实例

接下来,我们想使用 Authoring Environment Inspector 创建一些流程实例。例如,图 17 显示在具有 V1 快照的 WS 测试进程服务器上部署了四个流程实例。

图 17. V1 快照中的流程实例
V1 快照中的流程实例

查看图 17 的放大版本。)

在 Process Apps Snapshots 选项卡的 WS (IBMBPM) 服务器上的 V1 快照中可以看到这四个流程实例,如图 18 所示。

图 18. Process Apps Snapshots 选项卡上 V1 快照中的流程实例
Process Apps Snapshots 选项卡上 V1 快照中的流程实例

也可以在 Process Portal 中查看该流程实例,如图 19 所示。

图 19. 在 Process Portal 中查看的 V1 快照
在 Process Portal 中查看的 V1 快照

创建和部署新版本

为了区分快照 V1 和 V2,我们在 V2 中简化了该进程,方法是删除总经理 General Manager 批准,让该进程更加简单并且形成孤儿令牌。

重复 创建快照 中的步骤创建一个 V2 流程实例或快照,如图 20 所示。图 20 演示了经过极大简化了的进程版本,这有助于演示孤儿令牌的问题。当令牌关联的活动从已迁移快照的 BPD 中删除时,该令牌就会成为孤儿令牌。识别和管理孤儿令牌的最简单方法是生成一个策略文件,然后在实例迁移期间,使用该文件来指定是应该移动还是应该删除每个潜在的孤儿令牌。我们将在 管理孤儿令牌 中对此进行介绍。

图 20. 简化的 Standard HR Open New Position,没有 GM 批准
简化的 Standard HR Open New Position,没有 GM 批准

表 3 显示了新快照的迁移选项。

表 3. 已安装快照的迁移选项
联机迁移选项 脱机迁移选项 描述
保留当前版本的快照上正在运行的实例 保留 目前运行的实例继续使用之前部署的快照版本完成。
将正在运行的实例迁移到新版本的快照 迁移 目前运行的实例迁移到您正在部署的新快照。只要正在运行的实例位于进程流中,就为下一个项目或步骤实现了新版本。
删除正在运行的当前版本快照的实例 删除 立即停止目前运行的实例并且不再继续完成它们。系统会从进程服务器中删除正在运行的实例的所有记录。
注意:在生产服务器上不能执行删除操作。

部署 V2 快照时,选择 Leave 选项,如图 21 所示,让活动实例继续使用旧的 V1 快照运行。然后单击 Install。然后,您就可以转到 Process Admin 控制台执行实例迁移,并指定孤儿令牌策略文件。

图 21. 选择 Leave 选项并安装快照
显示了 Leave 选项的安装快照对话框

从图 22 中可以看出,新快照目前还没有任何实例。

图 22. WS 服务器上的 V2 快照,没有流程实例
WS 服务器上的 V2 快照,没有流程实例

图 23 显示具有六个流程实例的 V1 快照;其中两个流程实例已经完成,剩余四个流程实例仍处于活动状态。

图 23. WS 服务器上的 V1 流程实例
V1 流程实例

查看图 12 的放大版本。)

图 24 显示了 V2 快照上三个目前处于活动状态的流程实例。

图 24. V2 活动流程实例
V2 活动流程实例

查看图 24 的放大版本。)

图 25 显示在 WS (IBMBPM) 上部署了 V1 和 V2 快照,其中 V2 上有 3 个活动实例,V1 上有 4 个活动实例。

图 25. V2 流程实例
V2 流程实例

选择 Server details 以获得有关 WS (IBMBPM) 服务器的详细信息,如图 26 所示。

图 26. 服务器详细信息
WS (IBMBPM) 服务器详细信息

图 27 显示了服务器 WS (IBMBPM) 上的 Hiring Sample,其中包含两个快照,即 V1 和 V2。单击 Configure Server 打开 WS Server 的 Process Admin Console。您可以使用 Process Admin Console 来管理和配置在进程服务器上安装的快照的运行时设置。

图 27. V1 和 V2 的 Hiring Sample 实例
V1 和 V2 的 Hiring Sample 实例

在图 28 中,您可以看出服务器是 WS 并且启动了三个进程。单击 Process Inspector

图 28. WS (IBMBPM) 服务器的 Process Admin Console
WS (IBMBPM) 服务器的 Process Admin Console

在 Process Admin Console 中单击 Installed Apps 之后,您可以看到当前 Process Server 上已安装的进程应用程序的快照列表。在每个进程应用程序快照中,只显示已经显示的进程。对于每个进程,您可以看到目前正在运行的实例数量。正如图 29 所示,V1 是活动快照,也是默认快照,V2 只是显示为活动。

图 29. WS (IBMBPM) 上的 V1 和 V2 流程实例
WS (IBMBPM) 上的 V1 和 V2 流程实例

使其成为默认版本

在进程服务器上,您安装的第一个快照被视为默认版本。这意味着当收到某个事件或触发应用到进程或服务的多个版本的其他事件时,会运行默认版本中的项目。当您安装随后的快照时,您可以使用 Process Admin Console 中的 Make Default Version 选项,如图 30 所示,目的是确保您要运行的快照是默认快照。注意,仅当服务器上有多个快照时才能使用该选项。

图 30. 使 Hiring Sample (HSS) – V2(活动)成为默认版本
使 Hiring Sample (HSS) – V2(活动)成为默认版本

V2 现在是活动快照,也是默认快照,如图 31 所示。

图 31. Hiring Sample (HSS)- WS (IBMBPM) 上的 V2 显示为活动快照和默认快照
Activating HSS - WS (IBMBPM) 上的 V2 显示为活动快照和默认快照

停用已安装的应用程序

使用 Process Admin Console 停用在进程服务器上安装的快照,并在必要时停止它。除了默认版本之外,所有已安装的快照都可以停用。

验证 Hiring Sample (HSS) - V1 是否为活动快照,并单击 Deactivate Application 停用 V1 快照,如图 32 所示。该操作会停用该快照,从而允许完成目前正在运行的所有实例。已停用的快照仍然是已安装状态,但您无法启动显示进程或服务的新实例。

图 32. 停用已安装的应用程序
停用已安装的应用程序

管理孤儿令牌

IBM BPM V8 提供了一组管理孤儿令牌的新功能,这会导致阻止将动态流程实例迁移到在之前的快照中没有活动的新进程应用程序快照。这些新功能包括,分析两个快照,确定可能会导致孤儿令牌的步骤,以及能够定义处理策略的孤儿令牌和一组用于移动或删除孤儿令牌的 REST API。

孤儿令牌是一个指针,该指针与已从业务流程定义 (BPD) 中删除的某个活动有关联。您可以使用一个策略文件、一个 REST API 或者 Process Inspector 来管理孤儿令牌。

这些快照之间的更改的一些示例如下:

  • 装饰,比如格式化为 Coach(人工服务)
  • 业务变量中的更改
  • 流程修改,比如网关或泳道
  • 更改默认快照上的秘密代理 (UCA)

始终先比较快照,然后再迁移实例,以确定孤儿令牌的可能位置。

表 4 显示了安装一个快照的两个版本时要将孤儿令牌移动到哪里的选项。

表 4. 将孤儿令牌移动到的位置
源活动位置 相同进程中的目标 父进程中的目标 Child 子进程中的目标 Child Event 子进程中的目标 Child Linked 进程中的目标
进程 N/A
子进程
Event 子进程
Linked 进程

运行清单 1 所示的 wsadmin 命令,获取您可以用来发现潜在迁移问题的列表,以便在迁移到该快照的新版本时确信它能够正常工作。在生成该文件时,会确定所有可能的孤儿令牌。仔细检查该文件并确定您处理每个令牌的方式。迁移期间,如果指定了某个策略文件,那么迁移会使用该文件来确定是删除还是移动孤儿令牌。

清单 1. 用于登录进程应用程序的 wsadmin 脚本命令
wsadmin -conntype SOAP -port 8880 -host localhost -user admin 
-password admin -lang jython

在清单 1 中的示例中,localhost 是由 com.ibm.ws.scripting.port 属性指定的 wsadmin.properties 文件中的主机名。确保在创建连接时替代您自己的端口、主机名、用户名以及密码,并且不要忘记指定语言(在本例中为 jython)。

以下示例演示如何建立到 Process Center 服务器的 SOAP 连接,然后为缩写为 HSS 的进程应用程序生成一个孤儿令牌策略文件,该缩写来自默认的 Standard HR Open New Position 进程。

用于管理进程应用程序的所有 wsadmin 命令都必须在连接模式下运行,并且必须运行服务器。使用 -contype 参数来指示您要使用的连接类型(SOAP 或 RMI)。

清单 2. 用于检测孤儿令牌的 wsadmin 脚本命令
AdminTask.BPMCheckOrphanTokens('[-processAppAcronym HSS 
-sourceSnapshotName "V1" -targetSnapshotName "V2" -outputFile 
C:\TokenPolicyFile_HSS_V1_to_V2.xml]')

在清单 2 中,BPMCheckOrphanTokens 命令比较了两个快照,并检查出现孤儿令牌的可能性,然后根据新的快照来确定是删除还是移动每个令牌。使用的参数如下所示:

  • processAppAcronym:必要参数,用于确定要安装的进程应用程序;在本例中为 HSS。
  • sourceSnapshotName:必要参数,用于提供将从中迁移实例的快照的名称(旧版本);在本例中为 V1。
  • targetSnapshotName:必要参数,用于提供向其中迁移实例的快照的名称(新版本);在本例中为 V2。
  • outputFile:必要参数,用于提供到达生成孤儿令牌策略文件的目录的文件路径,以及该文件的名称;在本例中为 C:\TokenPolicyFile_HSS_V1_to_V2.xml。在迁移活动流程实例期间使用这个 XML 文件。

图 33 显示了生成了策略文件(从 C:\TokenPolicyFile_HSS_V1_to_V2.xml 提取)的 wsadmin 命令的结果。

图 33. 检查孤儿令牌
检查孤儿令牌 - XML 文件片段

迁移动态实例

部署过程将会查看目标服务器目前是否正在运行已部署快照中包含的 BPD 业务流程定义的任何实例。如果检测到目标服务器上正在运行一个或多个实例,那么系统会询问您是否要将这些正在运行的实例迁移到新的快照。

  1. 从 Process Admin Console 中选择 Installed Apps
  2. 从快照列表中,选择您要向其中迁移数据的快照,单击图 34 所示的 Migrate Inflight Data,然后选择您要从中迁移数据的快照。

    通过仔细管理与已删除活动有关的令牌,可以减少无法完成您的实例的风险。如果使用策略文件来管理潜在的孤儿令牌,则需要提供指向到策略文件的路径,然后单击 Migrate

    图 34. 迁移动态数据
    选择迁移动态数据

下一节将介绍一个用于生成用户任务的非常简单的进程的迁移。

迁移快照中的动态数据

您可以使用 Process Admin Console 将动态数据迁移到快照。安装新快照(将快照替换为仍然正在运行的实例)之后,您可能希望将目前正在运行的实例迁移到这个新快照。若要完成此操作,请使用 Migrate Inflight Data 对话框将目前正在运行的实例迁移到所选快照的新版本。只要正在运行的实例位于该进程或服务流程中,就会为下一个项目或步骤实现这个新版本。

  1. 单击 V1 快照,将其标记为将要从中迁移数据的快照。
  2. 选择在最后一个部分中创建的策略文件 (C:\TokenPolicyFile_HSS_V1_to_V2.xml),然后单击 Migrate 来迁移到 V2,如图 35 所示。
    图 35. 迁移快照中的动态数据
    迁移动态数据对话框
  3. 如果该迁移没有生成任何孤儿令牌,那么使用该文件不会生成任何错误令牌。图 36 显示了本例中的迁移摘要。您可以看出 Process Application、Process Instance Migration 以及 Orphan Token Policy 没有生成任何错误。在验证结果没有显示错误之后,单击 Close。在下一节中,我们将为您提供一个已经确定了孤儿令牌的示例,并描述可能的操作。
    图 36. 流程实例迁移摘要
    流程实例迁移摘要
  4. 验证进程是否已经迁移到 V2。在图 37 中,您会看到有 6 个流程实例,其中 3 个已经完成,另外 3 个仍然处于活动状态。
    图 37. WS 服务器上的 V2 流程实例
    WS 服务器上的 V2 流程实例

    查看图 37 的放大版本。)。

处理孤儿令牌

请记住,孤儿令牌会导致将动态实例迁移到新的 BPD 快照。它们是与不再是该 BPD 一部分的某个活动有关联的指针。

您只能删除或移动为执行树中叶节点的令牌。这里将会隐式处理所有父级孤儿令牌。例如,假定在新的快照中删除了一个作为子进程实现的活动,那么在子进程中删除孤儿令牌就会删除父活动上的孤儿令牌。

对于并行网关,这两个分支都必须完成才能成功完成该过程。因此,如果选择删除并行网关的一个分支上的孤儿令牌,那么使用这个并行网关的进程将无法完成。

在移动令牌时,实际上是从一个活动中删除了这个令牌,同时创建了该令牌的附加到另一个活动的新副本。如果您使用嵌套业务对象的多个实例,这种行为会导致一个限制。例如,如果您拥有一个活动,那么该活动拥有与之关联的三个令牌,如果您将这些令牌移动到另一个活动,那么只会在第二个活动上创建一个令牌。

图 38 显示了一个无法激活的故障令牌的示例。

图 38. 进程中的故障令牌错误
进程中的故障令牌错误

图 39 显示了生成的 XML 文件中故障 BPDIBD 令牌的示例。

图 39. 从 XML 文件提取的故障令牌
从 XML 文件提取的故障令牌

结束语

可以对正在运行的进程进行修改,使其包含新的操作和步骤,并让这些操作影响将来的任何进程。用户可以选择是否为各个进程应用更改或更新进程模型,这会强制其他进程也执行此更改。在本文中,您了解了 Business Process Manager V8 中的两个新功能:迁移动态流程实例和孤儿令牌管理,这些内容可以帮助您处理管理迁移长期运行的进程的复杂性。

致谢

作者想感谢 Renil Chandy 和 Eddie Ruan 对本文的评论。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=941715
ArticleTitle=在 IBM Business Process Manager V8 中迁移流程实例
publish-date=08212013