3

I'm trying to integrate with Clearquest from a remote web tier. The web tier will create a few simple entities (e.g. defects) and query data for a few reports. This web tier can't have the Clearquest bits installed locally and needs a means to remotely drive the product or API.

In reading the Clearquest API documentation, they have a COM API (seeminly requires the full client be installed locally), ODBC (direct back end access), and some mention of OSLC adapters (expose most of the API via open source RESTful interface), which I presume also requires the full Clearquest client installed locally.

Before declaring this integration as not being feasible without having the Clearquest client locally installed, I was wondering if anyone else found a solution to perform an integration sans locally installed Clearquest bits. It seems as though the ODBC route could be used but this would bypass application level business rules for the entity create, which is less than ideal. The documentation also doesn't state if ODBC will provide create access or if this is relegated to the underlying DB2 database.

user1250951
  • 31
  • 1
  • 3

2 Answers2

1

I have some CQ experience, and one major thing I've learnt is that you must obtain a license to get CQ service, and this means you must have some sort of client. Native or web (which grabs the license on the web server).

If you already solved your problem otherwise, please share it!

Eldad Assis
  • 10,464
  • 11
  • 52
  • 78
1

You can access Clearquest from a host that does not have Clearquest installed in one of two manners - Client/Server or REST (which requires a running Clearquest Web Server). In the Client/Server model you run a server process on a machine that has Clearquest installed. It opens the database then listens on a socket for requests. A client then runs and connects to the socket and writes a request there. The server handles the request and returns the answer to the client. The client need not have Clearquest installed (but the Clearquest Web server needs to be there).

One problem with this approach is that the server I've written is not multithreaded. This is because the Clearquest database connection cannot be shared because it was not written to be re-entrant. I could open the database for every spawned thread but opening a Clearquest database takes a long time.

Another method is to access Clearquest through a REST interface. The REST interface and documentation provided by IBM/Rational is poor to say the least. No real programming examples exist and both blame and responsibility is pushed from IBM/Rational to other standards they are using like XML/JSON, REST and OSLC. But I have written a series of Perl modules to address these problems. I have managed to create a Clearquest::REST Perl module that allows access to Clearquest databases with simple and easy to use Perl constructs such as:

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

Alas I'm still a little bit at the Alpha code quality as I try to merge these various methods into a simpler way but if you are really interested in pursuing this then contact me through ClearSCM.com (Andrew@ClearSCM.com)...

Jasonw
  • 5,054
  • 7
  • 43
  • 48
Andrew DeFaria
  • 321
  • 1
  • 2
  • 6