RE: [ietf-dav-versioning] <none>

Geoff says:
Encapsulation is preventing you from seeing the implementation.  That
is exactly what an IETF protocol does ... you can only see and use the
public parts (which are the methods and properties defined by the
protocol).  A public property is as much a part of the type signature
as a public method.  All we are saying is that we should be using type
signature equivalence, rather than type name equivalence, since HTTP
does not provide a "subtype declaration" mechanism, but the versioning
protocol has defined a type signature exposure mechanism
(DAV:supported-method-set and DAV:supported-live-property-set).

Encapsulation can also be used to suppress detail and provide higher level 
abstractions to reduce complexity for some client classes. I agree a 
protocol does present an encapsulation of a server's services in a 
standard way. What we're talking about here is encapsulating the details 
of the protocol itself - we're up a meta-level. HTTP doesn't provide a 
subtype declaration mechanism, but WebDAV does - DAV:resourcetype. I think 
some of us would just like to be able to use it to hide the details and 
name the things in the protocol the way we name them in the specification. 
This, ideally, shouldn't have to be discovered through introspection as it 
requires the introspector to know protocol details that might better be 
handled by the server. Its a many-to-one thing for complexity management. 
You have one server doing the work instead of many clients.

Received on Tuesday, 19 June 2001 15:08:34 UTC