Extending Rational DOORS with OSLC services

Open Services for Lifecycle Collaboration (OSLC) is a community that is standardizing the way that lifecycle tools work together. IBM® Rational® DOORS® supports the OSLC data sharing specification as a provider for the Requirements Management domain and as a consumer of other domains in the Rational portfolio.

The sharing of OSLC data between domains is based on a common set of resources, formats, and REST architectural services.

The data sharing supports the following transactions:
  • Linking based on HTTP protocol
  • Identification of resources by URIs
  • Information retrieval using industry standard media types

Quick Guide to Rational DOORS version 9.3

The following table lists the OSLC domains and services that Rational DOORS version 9.3 consumes and the operations that you can do with resources from those domains.
Table 1. OSLC domains and operations with Rational DOORS version 9.3
DOORS 9.3 Selection Creation Preview (Compact rendering)
Change Management V1 Supported Supported Supported

The following table lists the OSLC relationships used when linking artifacts across the various disciplines:

Table 2. Linking across disciplines with Change Management V1 in DOORS version 9.3
Linking across Change Management V1
Outgoing Link Incoming Link
http://jazz.net/xmlns/prod/jazz/calm/1.0/implementedBy http://jazz.net/xmlns/prod/jazz/calm/1.0/implementsRequirement

Quick Guide to Rational DOORS version 9.4

The following tables list the OSLC domains and services that Rational DOORS version 9.4 consumes and the operations that you can do with resources from those domains.

Table 3. OSLC domains and operations with Rational DOORS version 9.4
DOORS 9.4 Selection Creation Preview (Compact rendering)
Change Management V1 Supported Supported Supported
Change Management V2 Supported Supported Supported
Quality Management V1 Supported Supported Supported
Quality Management V2 Supported Supported Supported
Requirements Management V1* Supported Supported Supported
Requirements Management V2* Supported Supported Supported
Architecture Management V2 Supported Supported Supported
*DOORS 9.4 should not be configured to consume its own OSLC interface. The support is for cross-repository communication only.

The following tables list the OSLC relationships used when linking artifacts across the various disciplines:

Table 4. Linking across disciplines with Change Management V1
Linking across Change Management V1
Outgoing Link Incoming Link
Implemented By

http://jazz.net/xmlns/prod/jazz/calm/1.0/implementedBy

Implements

http://jazz.net/xmlns/prod/jazz/calm/1.0/implementsRequirement

Table 5. Linking across disciplines with Change Management V2
Linking across Change Management V2
Outgoing Link Incoming Link
Affected By

http://open-services.net/ns/rm#affectedBy

Affects

http://open-services.net/ns/cm#affectsRequirement

Implemented By

http://open-services.net/ns/rm#implementedBy

Implements

http://open-services.net/ns/cm#implementsRequirement

Tracked By

http://open-services.net/ns/rm#trackedBy

Tracks

http://open-services.net/ns/cm#tracksRequirement

Table 6. Linking across disciplines with Quality Management V1
Linking across Quality Management V1
Outgoing Link Incoming Link
Validated By

http://jazz.net/xmlns/prod/jazz/calm/1.0/validatedBy

Validates

http://jazz.net/xmlns/prod/jazz/calm/1.0/validatesRequirement

Table 7. Linking across disciplines with Quality Management V2
Linking across Quality Management V2
Outgoing Link Incoming Link
Validated By

http://open-services.net/ns/rm#validatedBy

Validates

http://open-services.net/ns/qm#validatesRequirement

Validated By

http://open-services.net/ns/rm#validatedBy

Validates

http://open-services.net/ns/qm#validatesRequirementCollection

Table 8. Linking across disciplines with Requirements Management V1
Linking across Requirements Management V1
Outgoing Link Incoming Link
Elaborated By

http://jazz.net/xmlns/prod/jazz/calm/1.0/elaboratedBy

Elaborates

http://jazz.net/xmlns/prod/jazz/calm/1.0/elaboratesRequirement

Table 9. Linking across disciplines with Requirements Management V2
Linking across Requirements Management V2
Outgoing Link Incoming Link
Elaborated By

http://open-services.net/ns/rm#elaboratedBy

Elaborates

http://open-services.net/ns/rm#elaborates

Specified By

http://open-services.net/ns/rm#specifiedBy

Specifies

http://open-services.net/ns/rm#specifies

Table 10. Linking across disciplines with Architecture Management V2
Linking across Architecture Management V2
Outgoing Link Incoming Link
Not Applicable Elaborates

http://jazz.net/ns/dm/linktypes#elaborates

Not Applicable Specifies

http://purl.org/dc/terms/relation

The following user interface (UI) elements and operations from the Requirements Management domain are supported by and available from Rational DOORS.

OSLC RM V1 UI elements and operations

The OSLC RM V1 interface is available in DOORS 9.3 and later.

The following UI elements are implemented for RM V1:
  • Delegated User Interface for the section of requirement resources.
  • Delegated User Interface for the creation of requirement resources.
  • Delegated User Interface for the selection of requirement collection resources (views).
  • Compact Rendering (rich hover) of requirement resources.
  • Compact Rendering (rich hover) of requirement collection resources (views).
  • Factory resource for the programmatic creation of requirement resources.
The following operations are implemented for RM V1:
  • Service Discovery.
  • POST for requirement creation. Post will create a new requirement as the first object in the module.
  • GET on a Requirement Collection.
  • PUT on a Requirement Collection
  • GET on a Requirement.
  • PUT on a Requirement.

POST is not available at the database level of the service discovery tree.

A Requirement Collection URI references either a module or a module with a view applied.

DOORS internal links (either in or out) are not exposed in V1 GET results.

DOORS external links are not exposed in V1 GET results.

For more information, see the OSLC RM V1 Specification.

OSLC RM V2 UI elements and operations

The OSLC RM V2 interface is available in DOORS 9.4 and later.

The following UI elements are implemented for RM V2:
  • Delegated User Interface for the section of requirement resources.
  • Delegated User Interface for the creation of requirement resources.
  • Delegated User Interface for the selection of requirement collection resources (views).
  • Compact Rendering (rich hover) of requirement resources.
  • Compact Rendering (rich hover) of requirement collection resources (views).
  • Factory resource for the programmatic creation of requirement resources.
The following operations are implemented for RM V2:
  • Service Discovery.
  • Resource Shape.
  • POST for requirement creation. Post will create a new requirement as the first object in the module.
  • GET on a Requirement Collection.
  • PUT on a Requirement Collection.
  • GET on a Requirement.
  • PUT on a Requirement.
  • QUERY is also supported at a module level.

POST is not available at the database level of the service discovery tree.

A Requirement Collection URI references either a module or a module with a view applied.

DOORS internal out-links are exposed in V2 GET results. These are represented using the link module resource URI as the namespace URI followed by "references". For example:
http://localhost:8080/dwa/rm/urn:rational::1-46dd5d7806b96973-M-0001cc43/linkTypes/references
DOORS external links are exposed in V2 GET results. These are represented by:
  • Incoming Links - http://purl.org/dc/terms/isReferencedBy
  • Outgoing Links - http://purl.org/dc/terms/references
For more information please refer to the OSLC RM V2 Specification.

Root Services

If the DOORS Web Access Server is installed at {SERVER}, for example, http://doors.example.com/, then the Root Services document can be found at the following location:
  • For DWA versions earlier than 1.4.0.2, the location is {SERVER}/rm/discovery/rootservices
  • For DWA version 1.4.0.2 and later, the location is {SERVER}/public/rootservices
The Root Services document is not part of the OSLC specification, but it provides the entry point for the OSLC Service Discovery documents, as well as some other configuration URLs that are needed to consume OSLC services.

Security

Security is mandatory and is provided using OAuth 1.0a. OAuth is an open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.

Almost all OSLC URIs (Service Discovery, Requirements, Requirement Collections) can only be accessed by an authenticated user. The Root Services URI is an exception to this rule. For more information, see the OAuth 1.0a Specification.

For information about extending Rational DOORS using DXL services, see OSLC DXL services for Rational DOORS 9.4.


Feedback