简介:从 IBM Rational Team Concert 2.0 开始,REST API 得到了正式地支持(实验版发布在RTC 1.0.1)。虽然目前 REST API 提供的功能还比较有局限,但对于一般的集成需求已经足够,而且对于 REST API 的增强在后续版本中会不断推出。本文将引领读者了解在 RTC 2.0.0.2 中 REST API 所提供的 功能以及相关概念。并且提供了一个 Java 实现的 RTC REST API 客户端程序供读者参考。
IBM Rational Team Concert 简介
IBM Rational Team Concert (RTC) 是构建在 IBM Rational 面向软件交付技术的下一代协作平台 Jazz 平台上的第一个商用产品、一个协作式的软件开发环境,它包含了集成的源代码控制、工作项管理 和构建管理等功能。IBM Rational Team Concert 是一个可实时相互协作的软件交付环境,可以帮助跨地 域分布的开发团队简化协作开发过程,并使其软件交付过程实现自动化管理。developerWorks 及网络上 有大量的文章对 RTC 进行介绍,这里就不再赘述。参考资源部分列出了一些资源供大家学习。截至本文 发表 RTC 最新的稳定版是 2.0.0.2,因此,以下所有对于 RTC REST API 的介绍都是基于 2.0.0.2 的。
OSLC-CM 规范
RTC REST API 的实现遵守 OSLC-CM 规范。
什么是 OSLC?
OSLC 是 Open Service for Lifecycle Collaboration 的缩写,亦即面向生命周期协作的开放服务。 OSLC 社区的成立旨在帮助软件实施团队在合作中简化生命周期工具的使用。OSLC 社区的使命是创建开放 、公开的资源和接口描述用以分享软件实施团队所依赖的基础设施,例如,变更管理、测试用例、缺陷、 需求以及用户故事。倘若所有对生命周期资源和服务的访问都遵从公共的规范,工具之间传统的障碍将自 然消除从而开启一扇通向新型协作方式的大门。无论是对于最敏捷的或者是最传统的项目,OSLC 都能够 为软件实施团队以及工具提供商带来价值,同样,它也能够造福于商业工具、开源工具以及内部开发的工 具。
什么是 OSLC-CM?
OSLC-CM 是 OSLC 的一个子集。它的重点在于变更管理(Change Management)。通过 OSLC-CM 你可 以查询、链接、获取、创建以及更新变更请求。
RTC REST API 概述
RTC 1.0 仅提供给用户 Java API 以集成和扩展 RTC。Java API 包含两部分:Eclipse 插件 API 和 一般 Java API。Eclipse 插件 API 适用于在现有的 RTC Eclipse 客户端中扩展 RTC 应用而一般 Java API 则适用于普通的 Java 应用程序。在 RTC 1.0.1 中,出现了 REST API,不过是实验版。在 RTC 2.0 中,RTC 正式开始支持 REST API,目前 REST API 支持的功能还较为有限,但对于一般的集成需求已经 足够,其功能主要集中在对工作项(Work Item)的管理。在后续的版本中,越来越多的功能将会加入到 REST API 中。目前已经有不少软件在使用 RTC REST API,例如 Mylyn、Rational Quality Manager、 Rational Requirements Composer 以及 Git Integration 等。
关于 REST 的优点,维基百科上是这样定义的:
可以利用缓存 Cache 来提高响应速度
通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
浏览器即可作为客户端,简化软件需求
相对与其他叠加在 HTTP 协议之上的机制,REST 的软件依赖性更小
不需要额外的资源发现机制
在软件技术演进中的长期的兼容性更好