3

我正在尝试从远程 Web 层与 Clearquest 集成。 Web 层将创建一些简单的实体(例如缺陷)并为一些报告查询数据。此 Web 层无法在本地安装 Clearquest 位,需要一种远程驱动产品或 API 的方法。

在阅读 Clearquest API 文档时,他们有一个 COM API(似乎需要在本地安装完整的客户端)、ODBC(直接后端访问),并提到了一些 OSLC 适配器(通过开源 RESTful 接口公开大部分 API),我想这也需要在本地安装完整的 Clearquest 客户端。

在声明此集成在没有本地安装 Clearquest 客户端的情况下不可行之前,我想知道是否有其他人找到了执行集成的解决方案,而无需本地安装 Clearquest 位。似乎可以使用 ODBC 路由,但这会绕过实体创建的应用程序级业务规则,这不太理想。该文档也没有说明 ODBC 是否将提供创建访问权限,或者这是否归入底层 DB2 数据库。

4

2 回答 2

1

我有一些CQ的经验,我学到的一个重要的事情是你必须获得许可证才能获得CQ服务,这意味着你必须有某种客户。本机或网络(获取网络服务器上的许可证)。

如果您已经解决了您的问题,请分享!

于 2012-05-28T14:13:48.100 回答
1

您可以通过以下两种方式之一从没有安装 Clearquest 的主机访问 Clearquest - 客户端/服务器或 REST(这需要运行的 Clearquest Web 服务器)。在客户端/服务器模型中,您在安装了 Clearquest 的机器上运行服务器进程。它打开数据库,然后在套接字上侦听请求。然后客户端运行并连接到套接字并在那里写入请求。服务器处理请求并将答案返回给客户端。客户端不需要安装 Clearquest(但需要有 Clearquest Web 服务器)。

这种方法的一个问题是我编写的服务器不是多线程的。这是因为 Clearquest 数据库连接不能被共享,因为它不是被写入可重入的。我可以为每个生成的线程打开数据库,但打开 Clearquest 数据库需要很长时间。

另一种方法是通过 REST 接口访问 Clearquest。IBM/Rational 提供的 REST 接口和文档至少可以说很差。不存在真正的编程示例,责备和责任都从 IBM/Rational 推到他们使用的其他标准,如 XML/JSON、REST 和 OSLC。但是我已经编写了一系列 Perl 模块来解决这些问题。我设法创建了一个 Clearquest::REST Perl 模块,该模块允许使用简单易用的 Perl 结构访问 Clearquest 数据库,例如:

$cq->add ('Company', (Name => 'ClearSCM', Description => 'Creators of Clearquest::REST');

唉,当我尝试将这些不同的方法合并为更简单的方法时,我仍然对 Alpha 代码质量有一点了解,但如果您真的有兴趣追求这一点,请通过 ClearSCM.com (Andrew@ClearSCM.com) 与我联系。 .

于 2012-11-09T17:51:55.100 回答