[Oslc-Automation] Availability Spec review - my feedback - OSLC Actions - thread 3 Resource: AR
John Arwe
johnarwe at us.ibm.com
Wed May 14 14:13:49 EDT 2014
MP> oslc_avail:memberOf
TF> What would you think about introducing both directions,
(relatively recent) Core linking guidance discourages it. As soon as you
have 2 copies, they can get out of sync and other ugly consequences arise.
See my reply in thread 1.
TF> But to be honest this "but this is not necessarily the case" is one
thing I don't get about OSLC. I mean wouldn't it be nice as someone who
implements a client for the Avail Spec, to be able to trust that the
resource behind this link will be a specific type?
It's called the Open World assumption, from W3C Linked Data (i.e. OSLC did
not come up with or name it AFAIK). It's the way the Web works - client
makes a GET request, it gets a response, but there is no guarantee that it
understands the format of any response body ... even if its GET said
Accept: application/rdf+xml and it got a 200 response, it has to look at
the response's content type to know IF it got RDF/XML (and the server is
allowed to send literally anything, so it might not be). Robust clients
have to care about that and code for it. Non-robust clients can make
assumptions and skip the extra code, and those assumptions can be wrong.
All fine.
The consequences are that robust clients are more complicated,
interoperability is not "guaranteed" by spec compliance (although in
truth, is it ever *really* guaranteed if you're talking about specs with
anything other that MUSTs/MUST NOTs??), and that new/improved "things" can
be freely deployed. If you're brilliant and come up with HTML5, you can
serve it. If (as a server) you care about wide interop with existing
clients, then you might serve it only in certain cases based on requests
from the client. If (as a server) you're the hot new app with zero
existing clients to worry about, you can serve HTML5 only. You choose,
not the spec authors.
None of this *prevents* you (as a client) from saying that you'll only
function with servers that DO adhere to the assumptions rendered explicit
in the specs. Nor does it prevent servers (or server authors as a group,
in some vocabulary OSLC or other) from exposing a signal to clients
explicitly SAYING that you meet all those assumptions, in order to give
"clients with assumptions" an easy way to figure out if they want to play
with your implementation or not.
The net reason for putting the burden on clients to deal with anything is
future extensibility. RDF itself is pretty extensible, so there might be
a reasonable-sounding argument that if you're using RDF (which OSLC 2.0
assumes in Most but not All cases ... look at compact-xml) then you can
just multi-type and you're done. That imposes a burden on the servers
however, that not all server owners like.
Best Regards, John
Voice US 845-435-9470 BluePages
Cloud and Smarter Infrastructure OSLC Lead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20140514/18d876ac/attachment-0003.html>
More information about the Oslc-Automation
mailing list