Могу ли я использовать Rational Clearquest API удаленно (без битов локального клиента)
Я пытаюсь интегрироваться с Clearquest с удаленного веб-уровня. Веб-уровень создаст несколько простых объектов (например, дефекты) и запросит данные для нескольких отчетов. Этот веб-уровень не может иметь биты Clearquest, установленные локально, и ему необходимы средства для удаленного управления продуктом или API.
При чтении документации API Clearquest у них есть COM API (по-видимому, требует, чтобы полный клиент был установлен локально), ODBC (прямой внутренний доступ) и некоторые упоминания адаптеров OSLC (раскрывают большую часть API через интерфейс RESTful с открытым исходным кодом), который я предполагаю, также требует наличия полного клиента Clearquest, установленного локально.
Прежде чем объявить эту интеграцию неосуществимой без локальной установки клиента Clearquest, мне было интересно, нашел ли кто-нибудь еще решение для выполнения интеграции без локально установленных битов Clearquest. Кажется, что можно использовать маршрут ODBC, но это позволит обойти бизнес-правила уровня приложения для создания сущности, что далеко не идеально. В документации также не указывается, будет ли ODBC предоставлять доступ для создания или если он передается в базовую базу данных DB2.
2 ответа
У меня есть некоторый опыт работы с CQ, и одна важная вещь, которую я узнал, это то, что вы должны получить лицензию для получения услуги CQ, а это значит, что у вас должен быть какой-то клиент. Родной или веб (который захватывает лицензию на веб-сервере).
Если вы уже решили свою проблему иначе, пожалуйста, поделитесь ею!
Вы можете получить доступ к Clearquest с хоста, на котором не установлен Clearquest одним из двух способов - клиент / сервер или REST (для которого требуется работающий веб-сервер Clearquest). В модели клиент / сервер вы запускаете процесс сервера на компьютере, на котором установлен Clearquest. Он открывает базу данных, а затем прослушивает сокет для запросов. Затем клиент запускается, подключается к сокету и записывает туда запрос. Сервер обрабатывает запрос и возвращает ответ клиенту. Клиент не должен иметь установленный Clearquest (но веб-сервер Clearquest должен быть там).
Одна из проблем этого подхода заключается в том, что написанный мной сервер не является многопоточным. Это связано с тем, что соединение с базой данных Clearquest нельзя использовать совместно, поскольку оно не было записано для повторного входа. Я мог бы открыть базу данных для каждого порожденного потока, но открытие базы данных Clearquest занимает много времени.
Другой способ - получить доступ к Clearquest через интерфейс REST. Интерфейс REST и документация, предоставляемая IBM/Rational, по меньшей мере, скудны. Не существует реальных примеров программирования, и вина и ответственность переходят от IBM/Rational к другим стандартам, которые они используют, таким как XML/JSON, REST и OSLC. Но я написал серию модулей Perl для решения этих проблем. Мне удалось создать Perl-модуль Clearquest::REST, который обеспечивает доступ к базам данных Clearquest с помощью простых и удобных в использовании конструкций Perl, таких как:
$cq->add ('Company', (Name => 'ClearSCM', Description => 'Creators of Clearquest::REST');
Увы, я все еще немного разбираюсь в качестве кода Alpha, поскольку я пытаюсь объединить эти различные методы в более простой способ, но если вы действительно заинтересованы в этом, свяжитесь со мной через ClearSCM.com (Andrew@ClearSCM.com)..,