It's all about the answers!

Ask a question

REST API for the Rational Requirements Composer


Rangachari Anand (1) | asked Jun 23 '11, 10:33 a.m.
We would like to be able to access artifacts stored in a requirements oroject in RRC 3.0.1. Although there apparently is no published REST API, I thought that I would try the same approach that is described for RTC:

I started with:
https://<hostname>:9443/rm/rootservices

and tried to navigate to the service descriptor for a reqiuirements project. However, I found that unlike the ccm case, very little information is actually available through this API for requirements projects.

In contrast, I notice that an SDK was available for release 2: https://jazz.net/wiki/bin/view/Main/RationalRequirementsComposer2SampleCode

Will this get updated for 3.0.1 ?

Thanks

21 answers



permanent link
Jared Pulham (32113) | answered Jun 24 '11, 6:59 a.m.
JAZZ DEVELOPER
We would like to be able to access artifacts stored in a requirements oroject in RRC 3.0.1. Although there apparently is no published REST API, I thought that I would try the same approach that is described for RTC:

I started with:
https://<hostname>:9443/rm/rootservices

and tried to navigate to the service descriptor for a reqiuirements project. However, I found that unlike the ccm case, very little information is actually available through this API for requirements projects.

In contrast, I notice that an SDK was available for release 2: https://jazz.net/wiki/bin/view/Main/RationalRequirementsComposer2SampleCode

Will this get updated for 3.0.1 ?

Thanks


Rational Team Concert has been in development for a few releases more than Requirements Composer and their API is at a point where it has/can be published. While we would like to do the same for Composer in a future release we need to make sure we do so at a time where it will be mature enough to not cause major impact due to resource dependencies. The RRC 3.0.1 release was another major shift from thick client to Web client so the architecture was still under significant change.

permanent link
Vivek Buzruk (3111412) | answered Sep 17 '11, 5:23 a.m.
We would like to be able to access artifacts stored in a requirements oroject in RRC 3.0.1. Although there apparently is no published REST API, I thought that I would try the same approach that is described for RTC:

I started with:
https://<hostname>:9443/rm/rootservices

and tried to navigate to the service descriptor for a reqiuirements project. However, I found that unlike the ccm case, very little information is actually available through this API for requirements projects.

In contrast, I notice that an SDK was available for release 2: https://jazz.net/wiki/bin/view/Main/RationalRequirementsComposer2SampleCode

Will this get updated for 3.0.1 ?

Thanks


Rational Team Concert has been in development for a few releases more than Requirements Composer and their API is at a point where it has/can be published. While we would like to do the same for Composer in a future release we need to make sure we do so at a time where it will be mature enough to not cause major impact due to resource dependencies. The RRC 3.0.1 release was another major shift from thick client to Web client so the architecture was still under significant change.

Is ithis information now published? I want to write a small program to import form XML file.

permanent link
Florian Georg (19031918) | answered Sep 17 '11, 8:09 a.m.
did you check if the OSLC RM API could help you, e.g. using the RRC CreationFactories ?
http://open-services.net/bin/view/Main/RmSpecificationV2?sortcol=table;table=up#Creation_Factories

One thing that is important is to send the custom HTTP header
OSLC-Core-Version="2.0"
(as described here: http://open-services.net/bin/view/Main/OslcCoreSpecification?sortcol=table;up=#Specification_Versioning)
with your HTTP requests, otherwise you will get back "legacy" service descriptor resources and won't see the new OSLC v2 capabilities...

permanent link
Rosa Naranjo (2.9k11623) | answered Sep 29 '11, 1:47 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
We are currently working on an update to the existing OSLC workshop on Jazz.net which will include samples and other introduction material for OSLC-RM v2.

Stay tuned. Watch for updates to this article in Jazz.net library: https://jazz.net/library/article/635

did you check if the OSLC RM API could help you, e.g. using the RRC CreationFactories ?
http://open-services.net/bin/view/Main/RmSpecificationV2?sortcol=table;table=up#Creation_Factories

One thing that is important is to send the custom HTTP header
OSLC-Core-Version="2.0"
(as described here: http://open-services.net/bin/view/Main/OslcCoreSpecification?sortcol=table;up=#Specification_Versioning)
with your HTTP requests, otherwise you will get back "legacy" service descriptor resources and won't see the new OSLC v2 capabilities...

permanent link
Vivek Buzruk (3111412) | answered Sep 29 '11, 8:11 a.m.
We are currently working on an update to the existing OSLC workshop on Jazz.net which will include samples and other introduction material for OSLC-RM v2.

Stay tuned. Watch for updates to this article in Jazz.net library: https://jazz.net/library/article/635

did you check if the OSLC RM API could help you, e.g. using the RRC CreationFactories ?
http://open-services.net/bin/view/Main/RmSpecificationV2?sortcol=table;table=up#Creation_Factories

One thing that is important is to send the custom HTTP header
OSLC-Core-Version="2.0"
(as described here: http://open-services.net/bin/view/Main/OslcCoreSpecification?sortcol=table;up=#Specification_Versioning)
with your HTTP requests, otherwise you will get back "legacy" service descriptor resources and won't see the new OSLC v2 capabilities...
Will this be available with 3.0.1.1 of RRC? As I see
https://<Jazz>:9443/rm/discovery/..../services.xml associated with a project does not list required XML elements

permanent link
Rosa Naranjo (2.9k11623) | answered Sep 29 '11, 9:04 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
The updates we are working on use RRC 3.0.1 which is OSLC-RM API v2 compliant from an implementation point of view.

We are currently working on an update to the existing OSLC workshop on Jazz.net which will include samples and other introduction material for OSLC-RM v2.

Stay tuned. Watch for updates to this article in Jazz.net library: https://jazz.net/library/article/635

did you check if the OSLC RM API could help you, e.g. using the RRC CreationFactories ?
http://open-services.net/bin/view/Main/RmSpecificationV2?sortcol=table;table=up#Creation_Factories

One thing that is important is to send the custom HTTP header
OSLC-Core-Version="2.0"
(as described here: http://open-services.net/bin/view/Main/OslcCoreSpecification?sortcol=table;up=#Specification_Versioning)
with your HTTP requests, otherwise you will get back "legacy" service descriptor resources and won't see the new OSLC v2 capabilities...
Will this be available with 3.0.1.1 of RRC? As I see
https://<Jazz>:9443/rm/discovery/..../services.xml associated with a project does not list required XML elements

permanent link
Sudhakar Frederick (80113631) | answered Oct 03 '11, 6:15 p.m.
JAZZ DEVELOPER
Are links (between requirements and/or other artifacts) exposed and POSTable with the OSLC interface? I've got the following in the XML for a requirement which has links to other requirements:

<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:calm="http://jazz.net/xmlns/prod/jazz/calm/1.0/" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc="http://open-services.net/ns/core#" xmlns:oslc_rm="http://open-services.net/ns/rm#" xmlns:public_rm_10="http://www.ibm.com/xmlns/rm/public/1.0/" xmlns:rm="http://www.ibm.com/xmlns/rdm/rdf/" xmlns:rm_property="https://clm.jkebanking.net:9443/rm/types/">
<oslc_rm:Requirement rdf:about="https://clm.jkebanking.net:9443/rm/resources/_fVP7ouo_EeCWtZKFNXaKvQ">
<dc:title rdf:parseType="Literal">Donor must be registered user to access account details</dc:title>
<oslc:instanceShape rdf:resource="https://clm.jkebanking.net:9443/rm/types/_alAfzeo_EeCWtZKFNXaKvQ"/>
<rm_property:_aI4kYOo_EeCWtZKFNXaKvQ rdf:resource="https://clm.jkebanking.net:9443/rm/types/_ZsnfKuo_EeCWtZKFNXaKvQ#dd84ed1c-9786-469b-85a2-517388d6a09b"/>
<dc:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">113</dc:identifier>
<oslc:serviceProvider rdf:resource="https://clm.jkebanking.net:9443/rm/discovery/_IbZO8Oo_EeCWtZKFNXaKvQ/services.xml"/>
<rm_property:_aGgl2uo_EeCWtZKFNXaKvQ rdf:resource="https://clm.jkebanking.net:9443/rm/types/_Zomh2uo_EeCWtZKFNXaKvQ#85f26fb6-2f9c-40db-83ff-aefe1ab69618"/>
<rdf:type rdf:resource="http://open-services.net/ns/rm#Requirement"/>
<rm_property:_JSTB1-o_EeCWtZKFNXaKvQ rdf:resource="https://clm.jkebanking.net:9443/rm/types/_JTetk-o_EeCWtZKFNXaKvQ#Text"/>
<dc:description rdf:parseType="Literal"/>
<dc:creator rdf:resource="https://clm.jkebanking.net:9443/jts/users/clmadmin"/>
<dc:contributor rdf:resource="https://clm.jkebanking.net:9443/jts/users/clmadmin"/>
<dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2011-09-29T02:05:22.761Z</dc:created>
<dc:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2011-09-29T02:05:49.410Z</dc:modified>
<rm_property:_JTLynOo_EeCWtZKFNXaKvQ rdf:parseType="Literal"><div xmlns="http://www.w3.org/1999/xhtml">
<p id="_1280247478113"> (Note a donor must be a<a href="https://clm.jkebanking.net:9443/rm/resources/_cy7v2uo_EeCWtZKFNXaKvQ" id="_1301705133269"> Registered User</a> user to access Securities account information.)</p>
</div></rm_property:_JTLynOo_EeCWtZKFNXaKvQ>
</oslc_rm:Requirement>
</rdf:RDF>

but I can't seem to figure out where those links are exposed?

permanent link
Rosa Naranjo (2.9k11623) | answered Oct 03 '11, 6:38 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Only specific oslc relationships/links are exposed via the API.

See Relationship properties on this page in the specification:
http://open-services.net/bin/view/Main/RmSpecificationV2?sortcol=table;table=up#Resource_Requirement

Are links (between requirements and/or other artifacts) exposed and POSTable with the OSLC interface? I've got the following in the XML for a requirement which has links to other requirements:

<xml><rdf>
<oslc_rm>
<dc>Donor must be registered user to access account details</dc>
<oslc>
<rm_property>
<dc>113</dc>
<oslc>
<rm_property>
<rdf>
<rm_property>
<dc>
<dc>
<dc>
<dc>2011-09-29T02:05:22.761Z</dc>
<dc>2011-09-29T02:05:49.410Z</dc>
<rm_property><div>
<p> (Note a donor must be a<a> Registered User</a> user to access Securities account information.)</p>
</div></rm_property>
</oslc_rm>
</rdf>

but I can't seem to figure out where those links are exposed?

permanent link
Sudhakar Frederick (80113631) | answered Oct 03 '11, 7:19 p.m.
JAZZ DEVELOPER
Thanks Rosa.
So none of the "inter-requirement" links from the OOTB templates (eg. Child of, Embeds, Link To, Illustrated By, Satisfied By, Constrained by) are exposed :-( And I can't seem to use the "OSLC Affected By, OSLC Elaborated By and OSLC Specified by" link types, at least in the JKE Banking or the Use Case template.

Freddy

permanent link
Sean Griffin (2166) | answered Oct 14 '11, 9:46 a.m.
After reading this post I'm still confused about the outcome so far.

There seems to be suggestions here that it currently is, or could be, possible to access RRC via a REST API such as OSLC RM (for RRC 3.0.1). Though, like others say, I also find that there simply aren't enough services in the RM discovery to support this.

Can someone give a black and white answer as to whether the OSLC RM API works (or not) in RRC 3.0.1?

When I access my rootservices for RM I get a catalog for:

https://localhost:9443/rm/discovery/RMCatalog

For my sole ServiceProvider I get a services resource of:

https://localhost:9443/rm/discovery/_xp0_cN24EeC5dZI2YAS1KA/services.xml

When I drill into this, I get 3 high level services of:

    oslc_rm:requirements
    oslc_rm:collections
    oslc_rm:links


The total services available within all of these is:

    oslc_rm:SelectionDialog
    oslc_rm:CollectionSelectionDialog
    oslc_rm:LinkCreationServices


None of these seem to be creation factories or query services that would allow me to GET or POST/PUT requirements.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.