UML软件工程组织

用 Rational ClearCase 进行 WebSphere Studio 小组开发
第 2 部分:统一变更管理

Ali Murtaza Manji 和 Ying Zhao
软件开发人员
IBM 多伦多实验室

内容提要

ClearCase UCM:工具集成
ClearCase UCM:开发者的角色
加入项目
结束语

 

引言

本系列的第 1 部分针对那些想要把自己的产品与 IBM® WebSphere® Studio V5 系列产品(以下称为 WebSphere Studio)集成的小组资源库供应商,讲述了 Eclipse V2.x 中一些改进的小组编程支持。第 1 部分还讨论了 IBM Rational® ClearCase® 客户机的安装、它与 WebSphere Studio V5 的集成和各种 ClearCase 统一变更管理(Unified Change Management,UCM)概念以及它与基本 ClearCase 操作比较之下的优势。

本文将更详细地讨论 ClearCase UCM(着重讲述 UCM 流程中开发者的角色)以及加入项目这个操作。

ClearCase UCM:工具集成

WebSphere Studio V5.0 的 Rational ClearCase 源代码控制管理小组适配器(Rational ClearCase Source Control Management(SCM)Team Adapter)为您提供了一些基于 ClearCase UCM 的操作和几个基本的 ClearCase 操作。第 1 部分中讨论过,SCM 适配器作为 Eclipse 功能部件集成到 WebSphere Studio V5.0 中要依赖于 ClearCase 客户机安装。也就是说,WebSphere Studio 客户机适配器直接与安装的 ClearCase 客户机通信,而不是与 ClearCase 服务器通信。因此,有时您必须使用 ClearCase 客户机在 WebSphere Studio 开发环境外执行一些关键的 ClearCase 操作(包括 UCM 操作)。

ClearCase UCM:开发者的角色

从开发者的角度来看,UCM 流程的一个优势是:基本 ClearCase 的许多机制是隐藏的或抽象的。使用 ClearCase UCM,您能将重点放在按照项目的日程安排交付一组预先定义的、非常具体的活动上,而不是放在诸如处理版本问题、底层项目分支结构、低级 SCM 操作以及平行开发这些复杂问题上。使用 UCM,您只需关注对实际项目操作的抽象:加入项目、执行开发活动、交付已完成的活动以及重设工作区基线:

图 1. 开发者的角色。
开发者的角色

加入项目

使用 ClearCase UCM,会在开发者加入一个项目时为他创建一个私有的、非共享的工作区,该工作区由开发流(Stream)以及相应的视图(View)构成。您一起使用自己的私有流和视图来独立完成项目活动而不受其他开发者的影响。视图是一个目录树,它展示项目中每个文件的一个单独版本。流是一个对象,它维护一系列活动和基线(baseline),并决定在您的视图中显示元素的哪些版本。基线确定组件中每个元素的版本,它表示在项目开发过程中的某个特定阶段合并的活动。

小组中的每一位开发者通过 ClearCase UCM 加入项目时,都会为他创建一个私有的开发者流和一个视图(工作区)。在任何时刻都有一个单独的小组公共集成流来表示合作项目的当前状态。为了将已完成的活动从您的私有工作区交付给小组的公共、共享的工作区,会有一个集成视图映射到公共的集成流。集成视图让您将已完成的活动从您私有的工作区交付到小组工作区,并且还让您用共享工作区中其他小组成员最新完成的活动刷新自己的工作区。这两个操作合称同步

要执行加入项目这个初始 UCM 操作,您必须先到 WebSphere Studio 开发环境之外,然后使用所安装的 ClearCase 客户机附带的 ClearCase Explorer 程序,再选择 Join Project,如图 2 所示。接着会有一个向导打开,引导您通过一系列步骤创建工作区组件、一个开发者流和视图以及一个集成视图。

图 2.

Join Project 向导为您提供了一列您可加入的项目:

图 3.

Join Project 向导还让您提供要创建的开发流对象的名称,并让您指定集成流(您将把完成的活动交付给这个集成流):

图 4.

如果另一开发者已经创建了一个集成视图,那么您可以使用现有的集成视图,也可以创建一个新的。要创建一个新的集成视图,请不要选中 Reuse existing integration view 框:

图 5.

下面的图 6 和图 7 显示 Join Project 向导如何让您选择应该在文件系统上的什么地方创建开发者视图对象和集成视图对象。ClearCase LT 服务器提供一个快照视图,而完整版 ClearCase 既提供快照视图又提供动态视图。使用快照视图,可以将源代码抽取到您本地工作站的文件系统上。另一方面,使用动态视图时,不会抽取任何源代码,而是把 ClearCase 服务器(您的专用流就在该服务器上)的网络连接映射到本地。因此动态视图要求 ClearCase 服务器要有固定的网络连接,并且通常与快照视图一起使用。

图 6.

图 7.

Join Project 向导提供了一列可以添加到您的私有工作区的项目组件,如图 8 所示。ClearCase UCM 组件遵循软件工程中组件的概念,即一个软件系统的按逻辑分解的、可管理的若干部分。

图 8.

在图 9 中,完成加入项目操作后,ClearCase Project Explorer 会在集成流下方显示所选项目的开发流:

图 9. 创建开发流。

完成加入项目 UCM 操作后,会将集成流(以下称为小组工作区)中共享的项目助诊文件植入您的工作区,然后您就可以开始开发了。在整个开发过程中,您应该定期将您的私有工作区与小组工作区同步以获得其他开发者(他们一直在不断地完成活动并将这些活动交付给小组工作区)所做的组件变更。为流重设基线这个操作完成这项任务,您可以从 WebSphere Studio 工作台、ClearCase 菜单或者 ClearCase Project Explorer 启动该操作。在本系列将来的文章中将讨论为流重设基线操作。

尽管您的 UCM 工作区(视图和流)与您的 WebSphere Studio 工作空间概念上相似,但是它们并不(很可能不应该)在文件系统中的同一位置上。从 ClearCase 工作区抽取的项目助诊文件可以导入 WebSphere Studio 工作空间,该工作空间有一个 .metadata 目录包含与当前工作空间的项目结构相关的元数据。该 .metadata 目录的内容都不适用于源代码控制,因此建议您不要将工作空间目录与 ClearCase 工作区放在同一位置。 ClearCase 是在 ClearCase 工作区查找变更过的源文件和子目录以交付给共享的小组工作区,因此如果 ClearCase 把元数据文件中的变更解析为将跟踪和管理的相关变更,WebSphere Studio 创建的元数据目录会产生问题。因此,加入项目操作完成后,您应该将 UCM 项目组件导入 WebSphere Studio。如果那些组件已经是 WebSphere Studio 项目形式(Java 项目、Web 项目等等),那么您可以通过选择 File => Import => Existing project into workspace 将它们导入,并在 Development View 中指定项目位置为相应的项目,如图 10 与图 11 所示。在当前 WebSphere Studio 工作空间下以同样的方法将其导入 WebSphere Studio 项目,然而在 UCM 工作区则保留其位置。

图 10. 将项目导入工作空间。

图 11. 将项目导入工作空间。

结束语

本文描述了 UCM 开发者角色的四个主要操作中的其中一个操作 — 加入项目。本系列接下来的文章将讨论项目集(Project Set)和另外三个 UCM 开发者角色操作:执行活动、交付活动以及重设工作区基线。

 

版权所有:UML软件工程组织