Extending functionality of DOORS Next Generation and IBM Jazz Platform
For completeness, the DNG public API's that are available are:
- RDNG Reportable API - extracting read only information from RDNG generally for creating custom reports to be run from DNG or RPE. As well, it can be used in a lot of custom applications interacting with RDNG. Big advantage of this API is its simplicity and great performance if you need to work with big amounts of data. Sometimes it's called as RDNG Reportable REST API.
- OSLC RM V2 API - the open standard way to programmatically integrate with DOORS Next Generation, there is an elaborate workshop to get you started here OSLC Workshop article. These programs can be from any language that supports various HTTP methods of requests, e.g. Java, C# etc. Hence these are more flexible to run and can read and update DNG data, as part of a web server, or standalone, but have some limitations set by the current OSLC standard, for example module support. In release 6.0.5 extension have been added for modules. It's very powerful tool to work with RDNG data including capabilities of data modification but can be a little bit more complex in use than other ways.
- TRS 2.0 - the OSLC Tracked Resource Set open standard REST API to hook into the stream of low level changes done to resources in the DNG application (and other Jazz apps as well); read only.
- RM API - it's realized in client extension capability that is accessible from Rational DOORS Next Generation. This is Javascript extension framework that generally can be added as widgets which you can run from the dashboard, and can be used to view and edit DNG data. The widgets are developed in accordance to OpenSocial standard (based on Google Gadget framework). It's more tailored to DNG, so has better module support, but is limited to be run in a browser/javascript environment. It's very easy to make an automation of your work in this way. You can do a lot of interesting tricks with currently open Web page based on DOM/XML standards. You can add support of many popular libraries such as JQuery and so on. But this big simplicity results in some constraint in implementation. For example, you can easily access RDNG artifacts in current module or collection as well as access any selected artifacts but there are some difficulties if you need access artifacts in current view or currently available on the page. But use RM API together with other APIs described above can allow you do stunning things with RDNG.
Helpful Links
Ord. | Link | Comment |
1 | API Landing page | This is a landing page for the various API wiki pages that exist on the Jazz.net development wiki as well as a central collective page of the known APIs that are available for integrating programmatically with our CE/CLM products. It serves as a convenience for accessing API information about CE/CLM products and is not guaranteed to have up-to-the-minute information. |
2 | DOORS Next Generation Reportable API | The DOORS Next Generation server provides REST APIs for accessing information about requirement artifacts for reporting. You can access each API by using a standard web browser, IBM Rational Publishing Engine or a third party tool can can consume the DNG reporting services responses. This document covers reporting capabilities for DNG versions 6.0 and higher. |
3 | Using OSLC capabilities in the Requirements Management application | You can use Open Services for Lifecycle Collaboration 2.0 (OSLC) capabilities in the Requirements Management (RM) application for the Rational solution for Collaborative Lifecycle Management (CLM). This article includes examples of how to use those capabilities in an HTTP poster tool. These basic examples are described. |
4 | Open Services for Lifecycle Collaboration Workshop | The workshop will help guide you to leverage the Open Services for Lifecycle Collaboration (OSLC) standard interfaces for interoperating with Jazz-based products including RDNG. These labs will highlight key aspects by leveraging web browser access and programmatic access via Java client programs. The final lab will illustrate by an example how to write your own server using Java servlets. This lab is based on the OSLC-CM 2.0 and OSLC-RM 2.0 Specification. After you complete these labs, you will have a good foundation by which to leverage OSLC to implement an interoperability project. |
5 | OSLC Requirements Management Version 2.1. Part 1: Specification | This specification defines the OSLC Requirements Management domain, also known as OSLC RM. The specification supports key RESTful web service interfaces for software Requirements Management systems. |
6 | OSLC Requirements Management Version 2.1. Part 2: Vocabulary | This specification defines a vocabulary and resource shapes for the OSLC Requirements Management resources. |
7 | IBM DOORS Next Generation Server API Documentation (additions from v6.0) | Additions to standard OSLC API specially developed for use with RDNG. It takes into account some RDNG specifics that is out of scope of OSLC specification. |
8 | Global Configuration Management | The articles contains a set of articles about various aspects of programming taking into account Global Configuration context. |
9 | Jazz Foundation API Usage Scenarios | Samples for Global Configuration Management REST API. You can find here typical requests to various data saved in Jazz and put under control based on Global Configuration management. |
10 | Getting Started with RDNG Extending Capabilities | Brief video giving a quick introduction into client extending capabilities. |
11 | Client extension API for the Requirements Management (RM) application | This document specifies the client extension API that forms part of the 6.0.5 release of the Requirements Management (RM) application. The version of this API is 1.1. |
12 | Client extension capability (all versions) | List of links to client extension APIs for all supported versions. |
13 | jQuery API | Useful API when developing RDNG client extensions. |
14 | Web APIs | When writing code for the Web with JavaScript, there are a great many APIs available. Below is a list of all the interfaces (that is, types of objects) that you may be able to use while developing your Web app or site. |
Useful Links
https://www.facebook.com/oslcfest/
- OSLC Home: http://open-services.net
- OSLC on Twitter: http://twitter.com/oslcNews
- OSLC-CM Home: https://archive.open-services.net/wiki/change-management/index.html
- Details on the RTC Implementation: https://jazz.net/wiki/bin/view/Main/ResourceOrientedWorkItemAPIv2
- Carolyn Pampino on the RQM-RTC integration: http://jazz.net/blog/index.php/2009/08/26/sprint-alignment-for-developers-and-testers/
IBM DOORS Next Generation is a powerful tool for requirements management and engineering lifecycle support, but its true potential is arguably in its extensibility. By leveraging integration points like REST APIs, the IBM Jazz platform, and IBM Engineering Lifecycle Management, users can extend DOORS NG to support advanced capabilities tailored to specific project and organizational needs. Extending DOORS NG can enhance collaboration, improve traceability, and streamline complex requirements workflows, which in turns makes DNG a more versatile choice for systems and software engineering projects.