[oslc-core] v1 Service Descriptions vs v2 Services

Jim des Rivieres Jim_des_Rivieres at ca.ibm.com
Tue Jun 15 17:17:55 EDT 2010


Doing a side-by-side comparison of the upper-level superstructure of the 
v1 and v2 OSLC CM specs, I noticed two things.

(1) In v1 Service Provider Catalog representation, the 
oslc_disc:ServiceProvider element has an oslc_disc:details with a 
rdf:resource attribute giving "the URI of a browsable resource providing 
details of the service provider or catalog." For RTC, this was the URI of 
a particular project area. 

I couldn't find any counterpart to this in the v2 CM or Core specs. Was 
this an intentional omission? I.e., do we believe that it's no longer 
needed?

(2) In a v1 Service Provider Catalog, the catalog entries reference v1 
Service Provider resources as local, inline resources; these v1 Service 
Provider resources reference v1 Service Description resources as regular 
resources. In v1, a particular Service Description resource is associated 
with a particular domain. E.g., it will be a CM Service Description 
resource.

In a v2 Service Provider Catalog, the catalog entries reference v2 Service 
Provider resources as regular resources; these v2 Service Provider 
resources reference v2 Service resources as local, inline resources. In 
v2, a particular Service resource is associated with a particular domain. 
A v2 Service Provider resource is designed to reference multiple and 
heterogenous v2 Services.

Selecting from a v1 Service Provider Catalog yields the URI of a v1 
Service Description resource. The analogous selection from a v2 Service 
Provider Catalog would yield the URI of a v2 Service resource. However, 
since v2 Service resources are inlined into the v2 Service Provider 
document, the only available URIs for these are ones with fragment '#' 
identifiers that select a node based on its rdf:nodeID.

Two issues I can see with this:

(a) It means that all clients that dereference v2 Service resources are 
responsible for interpreting the fragment identifier and using it to 
locate the element with that rdf:nodeID. This is clunky for clients of the 
v2 protocol.

(b) It's impossible to claim that the URI of a v1 Service Description 
resource is also the URI of a v2 Service resource - the latter has a 
fragment identifier; the former does not. A cross-application "project 
links" that starts off referencing a v1 CM Service Description resource 
would end up referencing a v2 Service Provider resource, rather than a v2 
Service resource, once the target server is upgraded to add support for CM 
v2 under the existing CM v1 URIs.

---jim





More information about the Oslc-Core mailing list