[glue-wg] New Endpoint and Service types
Paul Millar
paul.millar at desy.de
Thu Mar 6 05:35:42 EST 2014
Hi Florido,
On 05/03/14 20:19, Florido Paganelli wrote:
> Paul, I think this is very bad. http is not webdav.
True, but all HTTP requests are valid WebDAV requests, so all WebDAV
endpoints are valid HTTP endpoints.
> If one searches for http endpoints that should NOT be done with
> interfacename, but with Capability or Technology.
I'm not sure I completely agree.
Technology doesn't seem appropriate. It's optional and talks more about
the mechanical process of providing access -- for example, if dCache
provides Windows/SMB access using a particular version of Samba then
this could be published as Technology.
Capability is better; however, the OGSA definitions are (currently)
higher-level functionality; they don't (currently) specify which
protocol the endpoint supports.
Additional definitions could be added but I'm not sure this is the
correct approach.
> This http there is a very misleading thing --
> in short, so how is an information consumer supposed to infer that
> endpoint supports webdav??
Easy, if they want WebDAV, they search for an endpoint that supports the
webdav profile (however that is specified).
> I think we should simply add webdav.
Consider a single endpoint that supports HTTP, WebDAV, CDMI,
HTTP-3rd-party-copy, RFC-3230, CalDAV, CardDAV and GroupDAV.
If we follow this approach this endpoint must be published 8 times!
There are any number of extensions, based on HTTP. I don't think it
scales to publish each one as a new object, duplicating almost all of
the information.
> If the thing is how to discover that webdav is based on http, this is
> another kind of question... I think of webdav as a protcol itself.
I think you misunderstood: I don't want to publish that webdav is based
on http.
I want that:
o we publish one StorageEndpoint object.
o someone searching for HTTP endpoints will find that object.
o someone searching for WebDAV endpoints will find that object.
> If you think it as an extension of http, maybe you can play with
> InterfaceExtension in the Endpoint... But I think one should have a
> StorageAccessProtocol object just for that as well.
>
>> Therefore, here's a concrete proposal:
>>
>> ---
>>
>> A service that supports HTTP or WebDAV protocols MAY publish
>> StorageAccessProtocol objects to represent this. If a
>> StorageAccessProtocol object is published to represent HTTP access then
>> the Type SHOULD be 'http'. If a StorageAccessProtocol object is
>> published to represent WebDAV access then the Type SHOULD be 'webdav'.
>> Since HTTP is a subset of WebDAV, a service that publishes a WebDAV
>> StorageAccessProtocol SHOULD publish a StorageAccessProtocol for HTTP.
>>
>
> I don't like the above. One should tell what the protocol is, not what
> are its close siblings. Type MUST be webdav. I am against giving such
> misleading recommendation as the above, they only generate confusion.
I say 'webdav' SHOULD be published if WebDAV is supported. We can make
this MUST if you like, but I think SHOULD is strong enough.
>> When publishing an Endpoint object the describes an HTTP or a WebDAV
>> endpoint with unencrypted access then the URL SHOULD start 'http://' and
>> the InterfaceName SHOULD be 'http'. If the endpoint is encrypted then
>> the URL SHOULD start 'https://' and the InterfaceName SHOULD be 'https'.
>> If the endpoint supports WebDAV then a SupportedProfile of
>> 'http://webdav.org/' SHOULD be published.
>>
>
> In such scenario, what algorithm should the consumer use to discover a
> webdav endpoint?
SupportedProfile=http://webdav.org/
(or however we choose to label WebDAV support).
> Moreover would be nice to stick a domain name to those -- like
> org.ieee.webdav.
Note that SupportedProfile value is a URL, so something like:
SupportedProfile=http://www.ietf.org/rfc/rfc4918.txt
For us, the value is a constant. If the URL happens to be a pointer to
where the semantics are described then all the better!
> I agree that for old standards like http there is no single
> organization, and is hard to tell, so there can always be exceptions,
> plain http and https can stay.
For HTTP, we can use the RFC as a reference, for example
SupportedProfile=http://www.ietf.org/rfc/rfc2616.txt
We could do the same for WebDAV:
SupportedProfile=http://www.ietf.org/rfc/rfc4918.txt
SupportedProfile=http://www.ietf.org/rfc/rfc5689.txt
...
Some thoughts...
Paul.
More information about the glue-wg
mailing list