我可以远程使用Rational Clearquest API(没有本地客户端位)

时间:2012-03-05 23:04:19

标签: api clearquest

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

在阅读Clearquest API文档时,他们有一个COM API(seeminly要求在本地安装完整的客户端),ODBC(直接后端访问),以及一些OSLC适配器(通过开源RESTful暴露大部分API)接口),我认为还需要在本地安装完整的Clearquest客户端。

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

2 个答案:

答案 0 :(得分:1)

我有一些CQ经验,我学到的一件大事是你必须获得获得CQ服务的许可,这意味着你必须拥有某种客户。本机或Web(在Web服务器上获取许可证)。

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

答案 1 :(得分: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');

唉我仍然有点阿尔法代码质量,因为我尝试将这些不同的方法合并为一种更简单的方法,但如果你真的有兴趣追求这个,那么请通过ClearSCM.com与我联系(Andrew@ClearSCM.com )...