利用 IBM Rational Software Architect 和 IBM ClearCase Remote Client (CCRC) 简化全球化开发与交付
 

2009-06-12 作者:Babu Suresh,Fred Bickford, IV 来源:IBM

 
本文内容包括:
本文介绍了一些将集成开发环境(integrated development environment,IDE)和软件配置管理(software configuration management,SCM)工具集成到全球开发和部署(global development and delivery,GDD)环境中的技巧、技术和最佳实践。

引言

在这个充斥不间断技术的世界中,开发团队正在跨越各大洲进行工作。目前许多企业是全球分布的,这提出了与远程团队一起工作的挑战。这些团队在不同时区工作,说着不同的语言,遵照不同的文化习俗,并且以完全不同的风格工作着。缺少了一般指南、控制,和过程中的检查及平衡,在全球的开发和交付(global development and delivery)环境中管理一个项目是很困难的。

本文介绍了一些将集成开发环境(integrated development environment,IDE)和软件配置管理(software configuration management,SCM)工具集成到 GDD 环境中的技巧、技术和最佳实践。这些工具包括 IBM® Rational® Software Architect、IBM® Rational® Application Developer 和依靠 CCRC(ClearCase Remote Client)插件的 IBM® Rational® ClearCase®。该信息最初于 2007 年 6 月佛罗里达州奥兰多市的 2007 IBM Rational Software Development Conference 上提出,并且于 2007 年 11 月在芝加哥向客户推出。现在它作为 developerWorks 的文章来到您的身边。

CCRC、Rational Software Architect,和 ClearCase

ClearCase Remote Client 是由 Eclipse 支持的,通过用广域网连接到 ClearCase Web 服务器上的开发人员的使用来优化的用户接口。

ClearCase Remote Client 有两种可用形式:

  • ClearCase Remote Client for Eclipse,将 ClearCase 与 Rational Software Architect 提供的软件开发环境相整合。当您将 ClearCase Remote Client for Eclipse 安装到 Rational Software Architect 环境中时,所有 ClearCase Remote Client 观察器在 ClearCase 透视图中都可用,并且可以添加到其他的 Rational Software Architect 透视图中。
  • ClearCase Remote Client,在 Rational Software Architect IDE 外面使用的独立客户端。

在本文中,除非另作说明,CCRC 只指的是 CCRC for Eclipse 客户端。Rational Software Architect 包括 Rational Application Developer 和 IBM® Rational® Software Modeler。大部分 CCRC 方法也适用于这些基于 Eclipse 的产品,因为 CCRC 嵌在 Eclipse 中。

要最好地理解本文中提出的思想,鼓励您回顾 Rational Software Architect 和 ClearCase 文档以了解产品概念和特性。还要注意到“ClearCase 视图”与“Rational Software Architect 视图”不同。

Rational Software Architect 是 IBM® Rational® Software Delivery Platform 的一部分,它提供以下这些功能:

  • 支持模型驱动的开发。
  • 支持构建 Java™、Java™ 2 Platform,Enterprise Edition(J2EE™ Platform)和 Web 服务应用程序。
  • 包括调试、测试和部署工具。
  • 与 IBM® WebSphere® Application Server Network Deployment 集成。
  • 允许直接部署到 WebSphere Application Server 网络中。

ClearCase 有两个用于软件配置管理的使用模型:

  • 统一变更管理(Unified Change Management,UCM)
  • 基本 ClearCase

将 Rational Software Architect 和 ClearCase 集成的方法

Rational Software Architect 与 ClearCase 有两种集成方式:使用 SCM Adapter(在 Rational Software Architect 中可用)或者添加 CCRC Plug-In。每个插件都有其优点。CCRC 是最新的,它穿透 WAN 环境的单一性和能力吸引着许多开发人员。这两种插件之间的重要差别如下:

  • SCM Adapter:
    • 连接本地的 ClearCase 客户端和 Rational Software Architect
    • 需要 LAN 连接
    • 产生 ClearCase UI 对话框
    • 需要在本地机器上安装传统的 ClearCase 客户端
    • 如果用户需要动态视图就需要 MVFS(MultiVersion File System)
  • CCRC:
    • 将 ClearCase 嵌入 Rational Software Architect,不需要本地的 ClearCase 客户端
    • 支持潜在的网络连接
    • 不需要安装 ClearCase 客户端
    • 在 Rational Software Architect 中独立的 ClearCase 透视图和视图
    • 跨不同操作系统的公共外观

ClearCase 本地客户端和 ClearCase Remote Client 的差别

当在 Rational Software Architect 中使用 SCM Adapter 时,了解 CCRC 和安装在机器上的本地 ClearCase 客户端如何比较是有帮助的。

本地 ClearCase 客户端

  • 必须在每个客户机上安装
  • 有一个强大且特性丰富的 LAN 客户端
    • 需要高速连接
    • 当可以与服务器高速连接时是首选的客户端
  • 平台差异
    • Microsoft® Windows®、Linux®,和 UNIX® 操作系统使用不同的用户接口
    • 互操作性需要配置:Samba 或 NFS Clients
  • 支持动态和快照 ClearCase 视图

CCRC

  • 不安装在客户机上
  • 强大但轻量
    • 通过 HTTP 与服务器标题通信
    • 使用 Web 视图
  • 很小的安装痕迹(32 MB 的 IDE 插件)
  • 平台支持
    • 用户界面在 Windows 、Linux 和 UNIX 间是相同的
    • 不需要 Samba 和 Interop 包
    • 本地化为九种口语
  • 灵活的客户端支持(基于 V3 的现有 Eclipse IDE 的插件。)
  • 真的客户端
    • 没有本地的服务器进程(举例来说,Atria Location Broker Daemon 或 ALBD,等等)
  • 易于安装和更新
    • 遵照标准的 Eclipse Plug-In 安装和更新过程
    • 没有要求操作系统登录 ID 与客户端上的 ClearCase ID 相匹配的依赖性
  • 在每个版本中演进和更新

GDD 环境中的 CCRC

假设 CCRC 能在 WAN 环境下工作,CCRC 插件很好地适用于 GDD 环境,如图 1 所示。尽管一些操作需要连接到 CCRC 服务器上,但是它允许您在脱机模式下工作。它可以是 LAN 和 WAN 客户端,它支持工作在同一办公室和其它环境中的用户。在服务层实施的是生产者消费者规则。注意到大部分 GDD 架构指导方针从 ClearCase Server 层衍生出来,不是 CCRC 层。服务器基础架构规定客户端配置可能性。

在 GDD 中 CCRC 有什么特殊的地方吗?它使用特别设计的协议在有高等待时间的网络上有效的通信:

  • 包括许多本地 ClearCase 客户端提供的特性,并且可以在大范围的 Window 和 UNIX 的计算机上运行,不管 ClearCase 是否安装在上面。
  • 允许从任意机器访问 ClearCase 存储库,不管您的操作系统用户 ID 是什么
图 1. CCRC:推倒了 GDD 的墙
显示全球开发环境的图

CCRC 入门

对于架构师或开发人员来说,入手 CCRC 很容易,您可以上手,并且在不用很努力的情况下在几分钟内运行。您所需要的唯一内容是此信息

  • 到 CCRC Server(举例来说,http://服务器/ccrc)的 URL
  • 您在服务器上的用户名和密码
  • 如果您使用 UCM,那么需要工程的名称和整合流的名称

 

对于 Version 2003.06.14 或之后的版本,从 ClearCase 服务器上下载 CCRC 客户端并安装。除非 IBM® Rational® Web Platform 组件是 ClearCase 服务器上的一个安装选择,否则客户端安装将不工作。每个 CCRC 服务器默认的安装站点在 http://服务器名/ccrc/update。向您的 ClearCase 服务器管理员询问详情。

简单的安装和更新

CCRC 安装遵循标准的 Eclipse Plug-In 安装。更新补丁包也遵照相同的 Eclipse 过程,这利用了包含支持的版本和补丁的公共站点。CCRC 还检测 ibm.com 上的新的更新,并且警告用户去更新。客户可以建立站点策略来控制插件更新的内部位置。该策略可以帮助执行用于客户版本的企业标准。要了解详情,请参见 http://www-1.ibm.com/support/docview.wss?uid=swg21196280。客户端更新与服务器版本结合的不紧密,这允许用户在不管服务器的情况下进行更频繁的客户端变更。

确保远程客户端的性能

当在 GDD 环境中工作时,性能是重要的,并且许多因素会影响性能。要最大化您的性能, 谨记以下几点:

  • 所有的 ClearCase 操作都在 ClearCase 服务器上执行,因此 ClearCase 环境中的传统服务器的接近性是关键
  • CCRC 不在服务器层消除性能问题,因为它需要可预测的网络连接。大量的网络路由跳,或超时的路由跳,影响客户服务器的通信。
  • CCRC 只是客户端。避免在线路上移动大量数据。

在 Rational Software Architect 中使用 CCRC

在 Rational Software Architect 中禁止 SCM Adapter 选项

  1. 要使 CCRC 有效,单击 Preferences > General > Capabilities > Advanced
  2. By default, the ClearCase(CCRC)菜单默认只在 ClearCase 透视图中可用。要令其在 Customize 透视图中可用,单击 Commands 选项卡,然后选择 ClearCase Main Menu

根据您设置参数的方式,如果 ClearCase SCM Adapter 在此时是激活的,那么您可以看到 Rational Software Architect 工具栏上有两个 ClearCase 菜单。一个属于 SCM Adapter,另一个属于 CCRC。不要使用属于 SCM Adapter 的菜单。如果您这样做了,您不会获得 CCRC 功能。

客户端与服务器兼容性

本部分列出了兼容的客户端和服务器版本。V6.14.x 客户端只能访问 CCRC 服务器 V2003.06.04(SR4)或之后的版本。V7.0.0 或之后的版本只能够访问 CCRC 服务器版本 7.0 或之后的版本。单独的 Rational Software Architect 实例可以安装 V6.14.x 客户端和 V7.0 客户端。然而,每次只有一个有效。您可能安装一个以上的 CCRC 版本的一些理由是:

  • 它帮助简化向新版本的移植,或在其他服务器实例上进行远程工程。
  • 它帮助访问在不同版本级别上的不同 ClearCase 服务器。

然而,对大部分用例来说,不推荐一个以上的 CCRC 版本。

要了解关于哪些桌面工具的版本与哪些 CCRC 的版本一起使用的最新支持综述,参见 http://www-1.ibm.com/support/docview.wss?uid=swg21253589

GDD 的最佳实践

用户开发环境是可定制的,但一些标准和最佳实践帮助您确保顺利使用工具:

  • 使用 Team Project Set 来对相关的工程分组
  • 在您的组织中建立公共的参数设置
  • 在工程级搜索检出元素
  • 避免组件和元素的重复存储
  • 避免在网络上发送大型文件
  • 执行确定服务器的最佳物理位置的管理任务。ClearCase 环境中的服务器的物理位置非常重要。
  • 允许用户灵活性,但造成了偏离已知的标准实践的风险。
  • 通过 Preferences 访问许多可用配置,
    • 参见 Window > Preferences
    • 您可以设置“Ignored resources”

此列表中最重要的几项在以下部分中进行阐述。

Team Project Set

当团队在生产者消费者环境中并行开发时,Team Project Set 就很重要,特别是在应用程序需要多个工程正确工作时。这要求想要使用此应用程序的每个人都成功下载所有相关的工程。如果工程很少,那么犯这种错误的可能性较小。但如果应用程序包含许多工程,那么团队中的某些人很可能忘记下载一些工程。

确保将所有工程当作单个单元处理的一种方法是使用 Team Project Set。利用 Team Project Set 维护一个工程的名称和物理位置的索引文件。当您导入索引文件时,一般称为 Team Project Set 文件,它将向您的工作区中导入所有相关的工程。

参数选择

许多 CCRC 参数选择可能影响 ClearCase 操作的控制行为和外观。可以定制它们来满足商业需要。一些带有相关的可用选项的参数设置如下所示。要查看所有的参数设置,单击 Window > Preferences

  • 当向源控制中加入新的资源之后:
    • 要让 ClearCase Remote Client 向源控制中添加资源,然后将它们检出,选择 Automatically checkout
    • 要保持最新添加的资源的检入,选择 Do nothing
  • 当检入的文件被 Eclipse 编辑器编辑,或保存时,您可以:
    • 自动检出
    • 提示检出
  • 检出的劫持选项:
    • 当检出不可能时,要防止 ClearCase Remote Client 劫持文件,选择 Do not hijack
    • 要想只当您与 ClearCase Web 服务器断开连接时允许劫持,选择 Hijack only if disconnected
    • 要想即使当检出可能时也劫持,选择 Always Hijack

这些参数设置可以存储在一个文件中(一般该文件的扩展名为 .epf),该文件在 ClearCase 存储库中用于团队共享和复用。使用公共的参数设置帮助您建立公共的 ClearCase 使用模式,这可以避免协作开发中不必要的争论和讨论。

搜索已检出的元素

当您在 J2EE 工程中开发时,在您不知道的情况下(作为开发人员),许多文件被更新,因为 IDE 遵循 J2EE 规范。不幸的是,您不能并且不会了解到当您创建即使一个小的 Enterprise Java™Bean(EJB)组件时,受到影响的所有文件和目录。

如果您的参数设置是 Do Auto Check out,那么在您不知道的情况下,会检出大部分 J2EE 元文件。对于开发人员来说找出所有要检入的项是一个艰苦的任务。举例来说,如果进行了更新,像 .../.settings/org.eclipse.wst.common.project.facet.core.xml 的文件必须检入。您如何知道哪些元素检出了?为了避免可能的痛处和错误,务必在 Project 层运行 ClearCase 操作 Search for all the Checked out elements

CCRC 视图

CCRC Plug-In 令 Rational Software Architect 工作区中有更多的 ClearCase 视图可用。在 SCM Adapter Plug-In 中,Rational Software Architect 工作区中不存在这些视图,取而代之的是 Rational Software Architect 外部的单独的 GUI。下面是现在提供的一部分 CCRC 视图列表。详细情况参见 Rational Software Architect 帮助。

ClearCase Navigator 视图

  • 在您的计算机中浏览存储库和 ClearCase 视图的内容
  • 显示一列本机上所有的 ClearCase 视图,并允许您浏览它们的内容。它还允许您浏览远程 ClearCase 存储库(VOB)的内容,并选择资源加载到本地 ClearCase 视图中。

ClearCase Details 视图

  • 提供关于 ClearCase 元素的详细信息
  • 用 ClearCase Details 视图结合 ClearCase Navigator 视图

ClearCase Metadata Explorer Navigator 视图

  • 浏览与基础 ClearCase 和 UCM VOB 相关的元数据。
  • 查看标签类型
  • 查看分支类型
  • 创建分支类型
  • 应用标签

ClearCase Metadata Explorer Details 视图

  • 显示关于 ClearCase 元数据的详细信息。
  • 用 ClearCase Metadata Explorer Details 视图结合 ClearCase Metadata Explorer Navigator

其他视图

  • ClearCase Deliver Results
  • ClearCase History
  • ClearCase Merge Manager
  • ClearCase Rebase Results
  • ClearCase Search Results
  • ClearCase Version Tree
  • ClearCase View Configuration

入门教程

CCRC Plug-In 包含用于 CCRC 使用的可扩展的帮助。如果您已经安装了 CCRC Plug-in,那么您可以在 Rational Software Architect Help 中找到它。Rational Software Architect 提供一些步骤说明书来指导您通过它的一些应用程序开发过程。

每个步骤说明书用于帮助您完成一项任务,并且它列出了所需的步骤。随着您完成每个步骤,步骤说明书为您启动所需的工具。如果过程中的步骤不需要工具,那么您可以单击步骤说明书中的按钮移动到下一个步骤。单击可以打开任务的帮助,这消除了对冗长的文档进行搜索。要了解更多信息,在帮助中搜索“cheat sheets(步骤说明书)”。您可以创建您自己的步骤说明书,这是为远程的开发人员包含具体客户的过程和信息的好方法。

普遍的开发人员的 CCRC 操作

新的用户可能会问“我用 CCRC 能够做到什么用 SCM Adapter Plug-in 不能做的事情?”这是答案:

  • 安装 CCRC Plug-In(一次)
  • 如果有,为插件更新最新的补丁(依据发布周期)
  • 创建 CCRC 视图,并连接它
  • 加载所需的工程和文件夹
  • 将所需的团队工程和工程集导入到工作区中
  • 在您准备将文件检入到存储库中之前使用透视图
  • 检出并检入文件
  • 如果使用 UCM,执行重建基础和交付操作
  • 更新资源
  • 更新加载规则
  • 搜索 ClearCase 存储库
  • 显示元素历史
  • 显示元素的版本树
  • 去掉 ClearCase 视图
  • 创建基线
  • 推荐基线

当使用 CCRC 时用户提出的普遍问题

许多用户没有意识到 CCRC 中可用的所有操作,并且将 SCM 菜单误会为 CCRC 菜单。很少用户认为 CCRC 可以处理大量数据,这是可能的,但不推荐。同样,CCRC 的每个版本都在添加新的特性。由于这些频繁的更新,您可能认为 CCRC 不支持您想使用的具体功能,但那不一定是真的。您可能没有最新的 CCRC 版本,因此务必查看最新的版本,看看它是否包含您想要的。下面是一些避免普遍问题的建议:

  • 查看最新的 CCRC 更新和补丁
  • 当时间不允许时,避免执行大的更新
  • 当不使用 SCM Adapter 时,禁用它
  • 在 UCM 中,
    • 频繁地执行更新、重建基础,及交付操作
    • 尽可能经常地完成重建基础的操作
    • 完成交付操作
    • 使用 CCRC 中的 Make/Recommend baseline 操作

结束语

已知 CCRC 的特性,它改变了您作为开发人员通过 Rational Software Architect 窗口观察 ClearCase 领域的方式。它提供以下优势:

  • 安装简单
  • 轻量化代码基础
  • 降低所有权成本
  • 自动的更新机制
  • 在客户机上不运行服务器进程
  • 不依赖于操作系统登录 ID 与客户端的 ClearCase ID 相匹配
  • 本地的外观 —— Windows 和 Linux 看起来一样
  • Rational Software Architect 中专用的新透视图

上手并运行 CCRC 只需几分钟。它提供了更多的用较少的努力进行工作的灵活性(甚至在其他机器上)。此外,它令您在 Rational Software Architect 工作区中完成所有的工作,而不是搜寻非 Rational Software Architect 的工具(像 ClearCase Project Explorer 等等)。最好的是,它通过 WAN 工作。

参考资料

学习 获得产品和技术

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织