基于 CM Server 的 CCRC 及其 UCM 集成应用
 

2009-02-06 作者:慕容雪 来源:IBM

 
本文内容包括:
随着 IBM Rational ClearCase 7.1 的发布,IBM Rational ClearCase Remote Client (CCRC) 7.1 针对用户实际应用中遇到的问题作了很多改进,使得软件从界面到功能更加贴近用户,更多的 ClearCase 功能使用 CCRC 就可以完成。并且在这个版本中,将 ClearQuest Web Client 集成进 CCRC,为 UCM 用户打造了一个一体的使用环境。本文针对这些特性向大家一一进行介绍。

CM server 介绍

CM Server 就是 Change Management Server,也可以称为 Configuration Management Server。作为一个在安装过程中可见的,单独的组件,在最新发布的 ClearCase 和 ClearQuest7.1 中,为 Rational ClearQuest 和 Rational ClearCase 的广域网接口提供服务器端支持。并且,CM Server 集成 ClearCase Web 和 ClearQuest Web 于一身,是两者的统一应用程序服务器。

CM Server 采用 WebSphere Application Server 的技术,包含 Embedded WebSphere Server V6.1 和 IBM HTTP Server V6.1 的广域网服务器,提供了迅速,安全,可伸缩,可靠的环境,提高了应用效率。

这里简要介绍一下 CM Server 涉及的广域网服务器。IBM WebSphere 软件平台是一组广泛的集成电子商务解决方案的集合。IBM WebSphere 应用服务器是 IBM WebSphere 软件平台的基础和面向服务的体系结构的关键构件,WebSphere 应用服务器包含有 IBM HTTP 服务器。基于 Apache 的 IBM HTTP Server 是基于 Apache Group 开发的 Apache Web 服务器。IBM Http Server 扩展了 Apache Web 服务器的功能,使其能够支持 WebSphere 管理控制平台,支持安全套接字层的连接 , 供安全电子商务事务使用。

CM server 架构与目录结构

CM Server 体系结构由三层组成,整个客户端,Web 服务器和后台数据库的架构如图 1 所示。

图 1. CM Server 体系结构
图 1. CM Server 体系结构
  • Web 层:通过一个 J2EE Servlet 来指向 CM Server 。该 servlet 存在于运行 WebSphere 应用程序服务器的 Web 容器中。而 IBM HTTP Server 可用作运行 WebSphere 应用程序服务器的前端和负载均衡服务器。
  • 应用程序层:提供前端 servlet 调用应用程序层的服务,这些服务是在一个或多个 WebSphere Application Server 的 EJB 容器中运行的 Enterprise Jav Bean(EJB)。
  • 数据层:对 Rational ClearCase 和 Rational ClearQuest 存储库的访问是通过后端服务器进程的远程过程调用(RPC)接口来进行的,这些进程已作为 Java 连接器资源集成到 WebSphere 框架中。

ClearCase 和 ClearQuest 从版本 7 开始,都采用 Installation Manager 安装。要安装 CM Server 组件 , 需要在 cc 和 cq 的安装选项中分别勾选“CCRC Server”和“IBM Rational ClearQuest Web”, 如图 2 所示。

图 2.
图 2.

安装完成后的目录结构

安装完成后的目录结构,以 windows 平台为例,如表1所示:

表1
 
目录项 详细阐述
<install dir>\common\IHS IBM HTTP Server 安装目录
<install dir>\common\CM CM Server 安装目录
<install dir>\common\CM\bin CM Server 可执行文件和库文件
<install dir>\common\CM\lib CM Server ear 文件和 rar 文件
<install dir>\common\CM\profiles default WAS profile called “cmprofile” (for CC and CQ)
<install dir>\common\CM\scripts CM Server jacl 脚本文件
<install dir>\common\CM\logs TsLogger 日志文件
<install dir>\common\eWAS eWAS 安装目录
<install dir>\common\rwp Windows only and for PjC and ReqWeb ONLY
<install dir>\common\rwp\EmbeddedExpress conform to Baltic 7.0 for ReqWeb/PjC
<install dir>\common\rwp\profiles\profile1 profile for PjC
<install dir>\common\rwp\profiles\profile2 profile for ReqWeb
   

Web 服务的启动与停止

成功安装了 CM Server 后,用户可以手工启动或停止 Web 服务.只是不同平台的启动服务方法不同.先说 IBM Http Server 服务.在 Windows 平台上,打开 windows 服务窗口,选择 IBM

HTTP Server 6.1 来启动服务 . 要验证 IBM HTTP Server 是否成功启动,在浏览器输入服务器 ip 或网络名,是否能看到索引页面,如图 3 所示。

图 3.
图 3.

Unix/Linux 平台,进入 /opt/rational/comm.on/HIS/bin 目录,运行”apachectl start|stop”命令或者”his_startup|his_shutdown|his_restart”脚本来启动或停止 HIS 服务。二者区别在于 apachectl 是使用默认的 httpd.conf 配置文件的。要验证服务是否成功启动,可以在命令行输入命令"ps –ef | grep ihs"来查看是否有 ihs 的进程在运行。

然后该说说对应于 Websphere Application Server 的 CM 服务。CM 服务或进程随着主机的启动而自动运行。手工启动的方法如下:在 windows 平台上,打开服务窗口,选择“IBM WebSphere Application Server V6.1 -cmprofile”. 该服务就是服务于 ClearCase 和 ClearQuest 的 CM Server. 在

Unix 平台上,进入目录 /opt/rational/common/CM/bin, 运行脚本”cmserver_startup|cmserver_shutdown|cmserver_restart”,该命令调用了 ISH 和 Ewas 服务。也就是说,启动 CM 的同时,也启动了 eWAS 和 ISH 服务,而停止 CM 的同时,也停止 eWAS 和 ISH 服务。要验证 CM Server 是否正常运行,可以在浏览器地址输入http://<Web server ip>/TeamWeb/services/Team, 如果有如图 4 所示页面出现,说明 CM Server 也运行正常。

图 4.
图 4.

CM Server 的客户端——CCRC 和 CQ Web

CCRC 跟随 ClearCase 2003.06.14 发布以来,以其支持分布式开发的特点受到好评,在 ClearCase7.1 中,CCRC 做了很多改进,大家会发现这些设计与改进更加贴进用户的实际工作,有助于提高效率。下面将逐一介绍,并对应着 ClearCase 7.0.1 进行比较。另外,对于 plugin 形式的 CCRC,需要 eclipse3.2 以上版本,JRE 使用 IBM 1.5 以上版本。低于这个版本的 eclipse 或 JRE 会影响 CCRC 的安装与使用。

ClearCase 目录树

在 7.1 版本中,对 ccrc 的界面作了比较大的改进。比如将元数据视图集成进了 ClearCase 浏览窗口 ( 图 5),将元数据详细信息窗口集成进了 ClearCase 详细信息窗口。( 图 6)

图 5.
图 5.

图 6.
图 6.

将视图集成的最突出特点是省去了用户来回切换的麻烦,不需要覆盖已有视图,可以浏览所有信息。除了集合视图,CCRC7.1 还设计了更体贴用户的显示窗口。相信 ccrc 的老用户都会碰到过这样的情况:项目越来越大,vob 的数目越来越多,目录结构越来越深,反映到 ccrc 上就是一长串的树形结构,不得不借助滚动条来上下翻动,要定位一个元素或目录很花时间。那么,视图过滤器就是针对这些情况而改进的。它的前身是“显示规则”。用户可以订制自己的过滤器,只挑有用的元素或目录或 cq 中的特定记录来显示,其余不相关的统统屏蔽掉,这样“摘取”出来的树结构大大简化,可以使用户专注于自己的工作。图 7 就是使用视图过滤器的一个自定义视图 , 做为对比,图 8 显示了没有过滤器的繁杂树层次:

图 7. 使用过滤器后
图 7. 使用过滤器后

图 8. 未使用过滤器
图 8. 未使用过滤器

现在我们来介绍一下如何创建并订制自己的过滤器。首先,我们在原始的,冗长的树结构中按住 Ctrl 键选取希望看到的目录或元素或 cq 记录,然后右键选择”Create Working Set…”

在随即弹出的窗口中输入名称,这里我们输入”my set”, 接着就可以看到如图 7 所示的“订制”版,既保留了有效信息,又过滤掉了不必要的信息。用户可以根据需要而增加,删除,编辑过滤器,还可以通过导入 / 导出来多人共享同一过滤器。

配置窗口

在 7.1 中,用户可以在新的编辑配置窗口中来设置 UCM 视图和 Base CC 视图配置,如图 9 所示;另外,用户在实际应用中有可能需要一次装载大量资源,而 7.1 版本之前只能一个一

个装载,如图 10 所示,这样的设计对用户来说实在无谓的重复动作,对于 vob 数量巨大的情况,相当耗费时间.所以在 7.1 中,实现了将多个资源同时装载。

图 9. CCRC7.1 可以同步装载多个
图 9. CCRC7.1 可以同步装载多个

图 10. CCRC7.0.1 每次只能选择装载一个
图 10. CCRC7.0.1 每次只能选择装载一个

创建 / 应用标签

在 7.1 中,可以在元数据视图部分通过右键点击来方便的创建标签类型并应用标签 ( 图 11),也可以在 ClearCase 浏览器部分选定要应用标签的对象,通过上下文菜单来实现,极大地方便了用户的使用。而在 ccrc7.0.1 版本中,我们只能通过元数据视图来创建标签类型,甚至通过 CCRC 还不能应用标签.( 图 12)。

图 11 CCRC7.1
图 11 CCRC7.1

图 12 CCRC 7.0.1
图 12 CCRC 7.0.1

UCM 应用

在 7.1 中,添加了一个新的 ucm 工具栏 ( 图 13),包含有活动列表,新建活动按钮,加入项目按钮,分为默认设置和高级设置的交付 / 同步按钮 ( 可以通过旁边的倒三角来切换 )。具体用法

我们会在第四节拿一个具体的例子来说明。

图 13.
图 13.

ClearQuest 网络客户端

如果在 cc 服务器上和 cq 数据库上的用户名与密码都一样,那么就可以“一次登陆,永久记录”。也就是说,输入一次用户名 / 密码之后,信息会被存储在 eclipse 的相应 session 中,当用户再次连接 cc Web 服务器或访问 cq 数据库时,无需输入用户名 / 密码。如果不一样,那么关掉当前 eclipse session 后再次登陆访问 cq 数据库,还是要输入用户名与密码.这项功能适合于由 LDAP 管理的所有系统用户,这样,用户可以使用一套用户名/密码来登陆多个系统.

一个 UCM 的例子

我们启用已有的 pvob,cvob1 和 Project1,project1 已经关联了 cq 数据库 db1, 新建过滤器仅显示要用到的资源,如图 14 所示:

图 14.
图 14.

走一个最简单的流程,我们在 administrator_project1 视图下 cvob1 中新建若干个文件并加入资源控制,然后将 hello.c 检出,hello.h 截取,这时请注意,cvob1 的标志变为 cvob1 的标志,表明该 vob 中存在检出或截取元素,在交付或同步时应该检查。7.1 的另一项新功能就是能够显示未定的变更。比如在当前情况下,打开 ClearCase Pending Changes 窗口会显示即将交付出去的变更,如图 15 所示。

图 15.
图 15.

因为已经关联了 cq 数据库,所以 UCM 关联的活动我们可以选择新建一条 ClearQuest 记录,点击“New”按钮,如果之前成功登陆过 cq db1, 现在可以直接进入新建记录的窗口:

图 16.
图 16.

还可以从 cq 数据库中选取记录,点击“find”按钮,出现如图 17 所示列表,这就是一个将 ClearQuest 数据库中一个已存在的记录和 ClearCase 的活动关联的过程,关联后,该记录将呈现出 ClearCase 活动的所有特点,比如含有 change set, 依附于某个项目某个流,所有者也会变为当前数据库的登陆者.

图 17.
图 17.

也可以在下拉列表中选择,点击倒三角图标。

图 18.
图 18.

之前新建的和从数据库选取的那些记录,都会出现在下拉列表中,并且和 ClearCase 施行关联。我们在 CCRC 中就可以通过 CQ 浏览器来看到这些个记录的详细信息。这里我们在检出 hello.c 时,用下拉列表选取 defect2。此时,ucm 工具栏显示为:

ucm 工具栏

表明当前活动为 defect2. 接下来我们要进行交付。

交付到集成流现在有两种方式可选:默认形式交付和高级选项交付,分别以图标默认形式交付高级选项交付来表示。

图 19. 默认形式交付窗口
图 19. 默认形式交付窗口

图 20. 高级形式交付窗口
图 20. 高级形式交付窗口

请注意高级交付的窗口 Checkouts/Hijacks 标签页,如果在交付视图中存在检出或截取元素,那么在这里也会得到警告信息,以图标警告信息表示,用户打开该标签页 ( 图 21),浏览所有被查出的“不合格”元素,通过旁边检入按钮或取消按钮来方便的处理这些元素,接着完成交付动作。

图 21.
图 21.

那么,这两种交付方式区别在哪里呢?请注意在默认交付窗口有一个选项“do not show this dialog again”, 也就是说,如果用户要交付的集成流保持不变,那么勾选了该选项后,每次执行默认交付都会直接运行,不必再确认了,这样看来节约了用户的时间,减少了操作步骤。那么如果用户希望改变默认交付的集成流,又该怎么办呢?选择菜单 Windows-〉Preferences, 打开 preferences 窗口,如图 22 所示。除了交付,还有很多动作都可以在这里根据实际情况进行设置。

图 22.
图 22.

接下来我们要在集成流打一个基线,和之前的版本一样,这里不罗嗦了。然后在另一个开发流的视图上检出一个元素,再执行同步。同步也分作两种形式,默认同步和高级同步。

图 23. 默认同步窗口
图 23. 默认同步窗口

图 24. 高级同步窗口
图 24. 高级同步窗口

在高级同步窗口中,对 baseline 的选择更加多样和灵活,参照 baseline 标签页。请注意 checkouts/hijacks 标签页上的警告图标标记,这是因为该流上还存在有检出或截取元素,为什么在交付窗口是一个警告图标,而在同步窗口却变成错误图标?因为交付动作是可以容许检出与截取元素的存在,而在相同的情况下,同步动作根本无法完成。所以用户如果看到这样的图标,一定要把问题元素处理掉同步才能继续进行。

小结

ClearCase7.1 和 CCRC7.1 的安装方式都和之前的版本不同,由于 CM Server 的出现,CCRC7.1 与服务器的连接方式也作了改变。具体安装细节本文不作介绍,用户可以参看帮助文档。

版本 7.1 中 , 通过一个集成的 CM 服务器,将 ClearQuest Web Client 集成进 CCRC, 为 UCM 用户打造了一个一体的使用环境,相信今后还有更多技术上的突破会带给用户更加方便的使用。

参考资料

学习

  • 通过 developerWorks 中国网站的 Jazz 资源中心 这里汇集了丰富的 Jazz 平台中文技术资源。 您可以通过这里了解更多关于 Jazz 平台和相关技术的信息。
  • 访问 UML 资源中心,获得关于统一建模语言(Unified Modeling Language,UML)的入门知识、技术资源和最佳实践。
  • 访问 IBM developerWorks 中国网站 Rational 专区,获得关于 IBM Rational 软件交付平台(Rational Software Delivery Platform)产品的技术资源和最佳实践。
  • 订阅 Rational Edge 中文版,获取软件开发领域的最佳实践。
  • 订阅 IBM developerWorks 时事通讯,一份关于 developerWorks 指南、文章、下载、社区活动、网络广播和技术讲座的电子周刊。
  • 学习 Hello World 系列教程,这是学习 IBM 软件工具的快速通道。在每一篇教程中,都会有快速入门产品演示动画。您可以通过其中的动画演示快速浏览如何使用 IBM 软件完成开发任务。
获得产品和技术 讨论

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