UML软件工程组织

 

 

使用 WebSphere Business Modeler 和 CVS 在团队环境中共享业务流程
 
2008-01-30 作者:Emilio F Zegarra 来源:IBM
 

 

本文内容包括:
本文将介绍如何使用 IBM WebSphere Business Modeler Advanced V6.0.2 中的团队环境功能将并发版本控制系统(Concurrent Versioning System,CVS)配置为源代码控制工具来使用,以实现业务流程的共享。本文面向以下业务分析人员:有兴趣了解在使用 WebSphere Business Modeler 时如何连接到 CVS 服务器以及与 CVS 进行交互的推荐方法。

引言

虽然建模流程的结果只是当前或以后的一个业务流程模型,但通常会有多名业务分析人员共同构造该模型。一个成功的模型需要不同流程的参与者在建模流程的各个阶段进行不断地反馈和协作。为支持这一工作,建模工具不仅要支持快速更改,还必须使团队成员能够以安全、可靠的方式共享工作,同时确保各个流程及其建模资源(例如业务项、组织结构及其他资源)之间的一致性。

WebSphere Business Modeler Advanced V6.0.2(以下称为 Business Modeler)提供了生成业务流程的可靠功能。它不仅具有建模、模拟和分析功能,可使业务流程更易于理解,还允许不同的团队成员共同处理同一个 Business Modeler 项目。本文将演示如何通过并发版本控制系统 (CVS) 来利用 Business Modeler 中的这一协作功能。CVS 是一个免费的版本控制系统,用户可通过此系统记录并存储源文件的历史信息。CVS 会将原始文件及其更改历史信息存储在一个存储库中。要使用这些文件时,您只需访问 CVS 存储库即可。(有关配置 CVS 服务器的信息,请参见参考资料。)

示例环境

图 1 显示了一个环境的总览,此环境已按本文介绍的步骤加以配置。业务分析人员使用 Business Modeler 处理他们的业务流程模型。随着工作的深入,他们会经常将自己的工作签入 CVS 存储库。要获取模型的最新版本,业务分析人员可以将其工作区与该 CVS 存储库同步。这样做可将模型的最新版本提取到用户的工作区中。

图 1. 环境总览
图 1. 环境总览

为演示此活动,图 2 显示了一个名为 ProcessOrder 的示例流程。此流程模拟虚构商店 CountyStore 在收到新订单后的付款处理活动。

图 2. ProcessOrder 流程
图 2. ProcessOrder 流程

ProcessOrder 流程首先请求用户付款。根据提交的付款类型,此流程将调用相应的信用卡公司来处理付款。最后,当付款处理完成后,ProcessOrder 向客户确认订单。本文下面将演示两名业务分析人员在向此流程中添加其他付款类型时需要执行的活动。

由于我们的目的是演示两名不同的业务分析人员如何处理同一业务流程,因此我们将按照以下方式执行此场景:

  • 首先,业务分析人员 1 创建一个业务建模项目并启动初始基本模型。
  • 随后,业务分析人员 1 将此新业务建模项目添加到 CVS 中;此项目将充当 CVS 开始跟踪更改的基本版本。
  • 接着,业务分析人员 2 从 CVS 中获取此基本版本,并对业务流程做出更改,然后将更改保存到 CVS 中。
  • 接下来,业务分析人员 1 从 CVS 中提取更改,并将其工作区中的版本与 CVS 中的最新版本进行比较,最终从 CVS 获得新模型。

先决条件

本文假设:您已配置 CVS 或 CVSNT 服务器 (CVSNT V2.5.03);WebSphere Business Modeler Advanced V6.0.2 安装正确且正在运行;您熟悉如何使用 Business Modeler 进行业务流程建模。

配置 CVS

为演示 CVS 的合作功能,我们将使用两个不同的工作区来代表处理同一业务流程的两个用户(workspace01 和 workspace02)。配置工作区以使其能与 CVS 存储库进行交互的方法是:

  1. 获取必需的 CVS 配置信息。

    在设置 CVS 环境之前,必须先从 CVS 服务器管理员处获取一些信息。下表显示了这些信息,它们是访问业务流程在 CVS 存储库中的存储位置所必需的。

    属性
    CVS 用户 ID 用于连接到 CVS 存储库位置的登录 ID
    CVS 用户密码 登录 ID 的密码
    CVS 服务器主机 运行 CVS 服务器的计算机的主机名
    存储库位置 CVS 服务器上文件存储位置的路径
    连接类型 所用连接的类型

    为演示两个用户之间的交互,我们将使用两个不同的 CVS 登录 ID。如果您无法获取两个不同的登录 ID,仍可以使用单个用户 ID 执行演示。两者的主要区别在于,当您查看更改的作者时,将显示同一个用户 ID。

    1. 请启动 Business Modeler,方法是选择 Start => All Programs => IBM WebSphere => Business Modeler
    2. 在系统提示您输入工作区位置时,请输入 c:\workspace01 并单击 OK(图3)
      图 3. 打开工作区对话框
      图 3. 打开工作区对话框
    3. Business Modeler 将打开并显示欢迎页和 Quick Start 向导。请单击 Cancel 关闭该向导,然后关闭欢迎页。
  2. 添加 CVS 存储库。

    要添加从 Business Modeler 到 CVS 服务器的 CVS 连接:

    1. 选择 Windows => Open Perspective => Other

      图 4. Select Perspective 窗口
      图 4. Select Perspective 窗口
    2. 请选择 CVS Repository Exploring,然后单击 OK(图 4)。
    3. 在 CVS Repositories 视图中,请右键单击任意空白区域,然后选择 New => Repository Location(图 5)。
      图 5. New Repository Location 弹出菜单
      图 5. New Repository Location 弹出菜单
    4. 在 Add CVS Repository 对话框中,请根据您的 CVS 服务器管理员提供的详细信息完成输入(图 6)。如果您不想在每次与 CVS 服务器进行交互时都输入密码,请选中 Save Password
      图 6. Add CVS Repository 对话框
      图 6. Add CVS Repository 对话框
    5. 单击 Finish
      图 7. 新添加的 CVS 存储库
      图 7. 新添加的 CVS 存储库

CVS Repositories 视图中将出现该 CVS 存储库的条目。至此,您已配置了指向该 CVS 存储库的连接,现在可以开始共享项目了。下一步是开始处理业务流程。该对话框将对提供的信息进行验证,然后尝试连接到 CVS 服务器。如果您遇到问题,请对该话框中的输入值进行系统检查,然后与 CVS 服务器管理员联系。(有关 Eclipse 和 CVS 之间的兼容性问题的信息,请参见参考资料。)

向源代码控制中添加项目

在开始与其他团队成员共享项目之前,需要先对项目进行设置,以便可以从 CVS 存储库中获取它:

  1. 导入业务建模项目。

    为演示 CVS 的用法,我们将使用本文包含的业务建模项目导出下载文件 CountyStore.mar。请将此文件保存到计算机上的临时文件夹(例如 c:\temp)内,然后按照下列步骤将其导入到工作区中:

    1. 选择 Windows => Open Perspective => Other
    2. 选择 Business Modeling (default),然后单击 OK
    3. 选择 File => Import => WebSphere Business Modeler Import,然后单击 Next
    4. 选择 WebSphere Business Modeler Project (.mar, .zip),然后单击 Next
    5. 选择 Browse,然后定位 CountyStore.mar 文件的保存目录。
    6. 在 Files 下,请选择 CountyStore.mar,然后在 Target Project 下单击 New
    7. 输入 CountyStore 作为项目名称,然后单击 Finish
    8. 返回 WebSphere Business Modeler Import 对话框,单击 Finish,然后单击 OK

    现在,工作区中已出现该业务建模项目,您需要将该项目添加到 CVS 中,以便其他人可以进行访问(下一步)。请花些时间来研究此示例项目的内容:在 Project View 中,展开 CountyStore => Processes,然后打开 ProcessOrder 流程。完成后,请关闭该流程。

  2. 将业务建模项目添加到 CVS 中。

    要将 CountyStore 业务建模项目添加到 CVS:

    1. 在 Project 树中,右键单击 CountyStore,然后选择 Version => Share
      图 8. Share Project 对话框
      图 8. Share Project 对话框
    2. 在 Share Project 对话框(图 8)中,请确保选中您创建的位置,然后单击 Finish
    3. 随即将打开 Synchronize 视图,您可以在此视图中向 CVS 提交您的更改。提交更改是您向 CVS 确认要在 CVS 存储库中添加文件的方式。提交更改的方法是:在 Synchronize 视图中,右键单击 CountyStore,然后选择 Commit to Repository(图 9)。

      图 9. Commit To Repository 命令
      图 9. Commit To Repository 命令

    4. 在提交对话框中,请输入 Initial Version 作为注释,然后单击 OK
    5. 操作完成时,将出现一个窗口,指示项目的本地版本与 CVS 存储库版本为同一版本。请单击 OK 关闭该窗口。

现在,当前业务流程建模项目已被标记为基本版本,CVS 将从此版本开始跟踪新的更改。

切换业务分析人员

现在,请切换至业务分析人员 2,以便“其他用户”可以对该业务流程进行更改。为简化设置,您将使用另一个工作区来表示第二位业务分析人员。要切换工作区:

  1. 选择 File => Switch Workspace...
  2. 对于工作区位置,请输入 C:\workspace02,然后单击 OK(图 10)。

    图 10. 选择工作区对话框
    图 10. 选择工作区对话框

  3. 如果显示了 Quick Start 向导,请单击 Cancel,然后关闭欢迎页。
  4. 重复为第一个业务分析人员配置 CVS 存储库时执行的相同步骤。如果 CVS 管理员为您提供了第二位用户的登录 ID 和密码,请确保在 Add CVS Repository 对话框(图 11)中使用该登录 ID。

    图 11. Add CVS Repository 对话框
    图 11. Add CVS Repository 对话框

  5. 已完成 CVS 连接配置,接下来进入下一步。

签出最新的项目版本

至此,业务分析人员 1 已在 CVS 中添加了基本项目,现在您(作为业务分析人员 2)可以访问最新的版本了。此步骤将从 CVS 中提取项目并将其添加到您的工作区中。要获取最新版本:

  1. 选择 Window => Open Perspective => Other...
  2. 在出现的对话框中,选择 Business Modeling (default),然后单击 OK
  3. 选择 Window => Show View => Other...
  4. 展开 Business modeler views,选择 Repositories,然后单击 OK(图 12)。

    图 12. Show View 对话框
    图 12. Show View 对话框
  5. 在 Repositories 视图中,展开 CVS => [repository name],右键单击 CountyStore,然后选择 Check Out Project(图 13)。

    图 13. Check Out Project 命令
    图 13. Check Out Project 命令

  6. 此过程会将 CountyStore 添加到业务分析人员 2 的工作区中,然后从 CVS 存储库下载该项目的所有可用文件。

    图 14. 切换到 4 面板布局
    图 14. 切换到 4 面板布局

  7. 在工具栏上,请选择 Apply 4-pane layout 图标(图 14)来查看工作区中可用项目的列表。

操作完成后,您的工作区应包含从存储库提取的 CountyStore 项目。现在,您可以进入下一步:更改 OrderProcess 模型。

更新模型

要更新模型:

  1. 在 Project Tree 视图中,请展开 CountyStore => Processes
  2. 双击 ProcessOrder 流程将其打开。
  3. 修改流程模型,使新模型与图 15 类似。

    图 15. 最终的业务流程模型
    图 15. 最终的业务流程模型
  4. 请注意,Payment Type 决策节点中添加了一个新的输出分支 TumiCard 以及一个名为 Charge TumiCard 的任务。这些新元素已按图中所示连接在一起。
  5. 保存更改。
  6. 关闭 ProcessOrder 流程。

至此,业务分析人员 2 已完成所需的更改。接下来,您将向 CVS 存储库中添加这些更改。为此,业务分析人员 2 必须将这些更改提交到 CVS 存储库中。

将更新的项目提交到存储库

在将更新的版本置于 CVS 存储库之前,应始终先与最新版本进行同步。通过同步,您将看到工作区中的项目与 CVS 存储库中的当前副本之间有哪些流程或元素存在差异。同步过程还会指示自您上次检索项目以来是否有其他用户向 CVS 存储库提交了更改。

要同步项目:

  1. 在 Project 树中,右键单击 CountyStore,然后选择 Version => Synchronize(图 16)。

    图 16. Synchronize 弹出菜单
    图 16. Synchronize 弹出菜单

  2. Synchronize 视图在列出项目时,将指示工作区中的当前版本与 CVS 存储库中的最新版本之间有哪些不同。这是正确的,因为您(作为业务分析人员 2)刚刚对模型进行了更改。灰色的右箭头(图 17)指示当前工作区中的版本已经过更改,可以提交到存储库中。

    图 17. Synchronize 视图
    图 17. Synchronize 视图

  3. 右键单击 ProcessOrder,然后选择 Commit to Repository...(图 18)。

    图 18. Commit To Repository 命令
    图 18. Commit To Repository 命令

  4. 在 Commit 对话框中,请输入注释Added TumiCard payment type,然后单击 OK
  5. 如果项目在本地工作区和 CVS 存储库中的所有元素都相同,则会显示一个对话框加以指示。此时,请单击 OK

至此,业务分析人员 2 已完成了请求的更改。现在,业务分析人员 1 应获取并查看模型的更改情况

比较版本之间的更改

同步项目仅指示元素已更改这一事件;但不指示已更改的内容。如果要查看工作区中的版本与最新的 CVS 存储库版本之间出现了哪些更改,请使用“比较版本之间的更改”操作。

您应始终比较版本之间出现的更改,以便了解所更改的具体内容。比较操作可提供更改内容、更改作者和更改时间等信息。所有这些信息在审核中都十分重要。

接下来,您需要切换存储库,以便用业务分析人员 1 的身份恢复工作:

  1. 选择 File => Switch Workspace...
  2. 在 Workspace 中,请输入 C:\workspace01,然后单击 OK
  3. 如果显示了 Quick Start 对话框,请单击 Cancel

您现在正以业务分析人员 1 的身份工作,因此将需要执行比较操作。

  1. 在 Project Tree 视图中,请右键单击 CountyStore => Processes => ProcessOrder
  2. 选择 Version => Compare with the Latest Version...
  3. 随即将打开 Comparison View。请从左侧选择项目,以查看其更改内容。例如,在图 19 中,Charge TumiCard 活动当前并未出现在本地工作区版本中,而是由用户 user02(即业务分析人员 2)在流程模型的 1.2 版本中创建的。

    图 19. Comparison View 对话框
    图 19. Comparison View 对话框

当业务分析人员 1 检查了业务分析人员 2 对 ProcessOrder 流程所做的更改后,下一步就是使用 CVS 存储库中的这一最新版本更新本地版本。您不能拒绝已提交到存储库中的更改。

更新到最新版本

对于任何特定的流程,将工作区中的当前版本替换为存储库中的最新版本的方法是:

  1. 在 Project Tree 中,右键单击 CountyStore 项目,然后选择 Version => Synchronize
  2. 在 Synchronize 视图中,您可以查看自上次同步以来已更改的流程的列表。蓝色的左箭头表示传入的流程模型更改(图 20)。

    图 20. Update From Repository 操作
    图 20. Update From Repository 操作

  3. 要将 ProcessOrder 流程的新版本添加到工作区中,请右键单击 ProcessOrder 流程,然后选择 Update From Repository
  4. 操作结束时,工作区中将出现该流程的新版本,同时还会显示一条消息,指示工作区版本和存储库版本完全相同。请单击 OK

    图 21. 本地元素和远程元素相同
    图 21. 本地元素和远程元素相同

  5. 在 Project Tree 中,请展开 CountyStore => Processes,然后双击 ProcessOrder。现在,业务分析人员 2 所做的更改应合并到 ProcessOrder 流程在业务分析人员 1 工作区的本地副本中。

现在,两位业务分析人员的工作区中都具有了该流程的相同版本。要做出进一步更改,只需按照相同的过程操作即可。正如本文所演示的那样,同一个流程可以同时由多名用户进行处理。但是,无论何时,团队的所有成员都应该知道当前正在处理流程的用户,并且所有人都必须维护此通信通道。

关于被删除或重命名的元素

如果您从项目树的共享项目中删除了某个元素(例如业务项或流程),则共享该项目的其他用户也必须从他们的工作区中删除该元素。如果不这样做,则已删除的元素仍将保留在他们的工作区中,这样该元素在 Synchronize 视图中将显示为可发送至存储库的数据。类似地,如果您对某个元素进行了重命名,则 Synchronize 视图会将该重命名的元素显示为可用传出数据形式发送的数据。由于存储库尚未重命名该元素,因此旧名称将显示为可从存储库更新的传入数据。当您提交该重命名的元素后,旧名称将从 Synchronize 视图中消失。存储库中将删除旧元素,并添加重命名后的元素。

下载

描述 名字 大小 下载方法
Sample application CountyStore.zip 53 KB

参考资料

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号