RTC Plain Java APIs vs REST/OSLC APIs : Which one is faster in terms of execution and fetching results
Hello Team,
We have to develop a tool which gets all the Delivery linked workitems.
For that we are having 2 options :
1. Using Plain Java APIs to get the workitems programatically
2. Using Rest / OSLC APIs as shown below:
https://rb-ubk-clm-04.de.bosch.com:9443/ccm/rpt/repository/workitem?fields=workitem/workItem[id=24666]/(id|summary|projectArea/(contextId)|type/(name)|parent/(id|summary|dependsOn/(id|summary)))" class="fui-Link ___10kug0w f3rmtva f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f1cmlufx f9n3di6 f1ids18y f1tx3yz7 f1deo86v f1eh06m1 f1iescvh fhgqx19 f1olyrje f1p93eir f1nev41a f1h8hb77 f1lqvz6u f10aw75t fsle3fq f17ae5zn" href="https://rb-ubk-clm-04.de.bosch.com:9443/ccm/rpt/repository/workitem?fields=workitem/workItem[id=24666]/(id|summary|projectArea/(contextId)|type/(name)|parent/(id|summary|dependsOn/(id|summary)))" rel="noreferrer noopener" style="overflow-wrap: break-word;" target="_blank" title="https://rb-ubk-clm-04.de.bosch.com:9443/ccm/rpt/repository/workitem?fields=workitem/workitem[id=24666]/(id|summary|projectarea/(contextid)|type/(name)|parent/(id|summary|dependson/(id|summary)))"><Server>/ccm/rpt/repository/workitem?fields=workitem/workItem[id=24666]/(id|summary|projectArea/(contextId)|type/(name)|parent/(id|summary|dependsOn/(id|summary)))
Which would be faster in terms of execution and fetching the data ?
If we have large number of workitems linked, which approach is better ?
Need your advice on this. Thanks.
One answer
The API you show in 2. is not the OSLC API. That API is called the reportable REST API. See https://jazz.net/wiki/bin/view/Deployment/CLMProductAPILanding for the APIs there are.
I have no performance data. Just guesswork below.
As long as you only want to read the data, I think the Reportable REST API is OK. If you have to later do changes only the Plain Java JAVA API/SDK and the OSLC API would work.
Finally which API you use is up to you and what you have in terms of skills and infrastructure. If you have a Java shop and experience with that, I would consider using the Plain Java API/SDK. I think it is probably also the fastest.
If you have no Java and HTTP/REST is your skill set, then the other APIs are an option.
The OSLC API exposes a little less data than the Reportable REST API, but the latter is a read-only API. The OSLC API exposes less data and is more complex, but allows updates. The way the OSLC API works it is likely slower than, the Reportable REST API.
Finally which API you use is up to you and what you have in terms of skills and infrastructure. If you have a Java shop and experience with that, I would consider using the Plain Java API/SDK. I think it is probably also the fastest.
If you have no Java and HTTP/REST is your skill set, then the other APIs are an option.
The OSLC API exposes a little less data than the Reportable REST API, but the latter is a read-only API. The OSLC API exposes less data and is more complex, but allows updates. The way the OSLC API works it is likely slower than, the Reportable REST API.