cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject JSR 170 vs. WebDAV
Date Wed, 16 Apr 2003 07:38:05 GMT
on 4/16/03 8:36 AM Guido Casper wrote:

> Knowing that you are a member of the expert group 

FYI, I resigned from the JSR 170 participation a while ago, but they
somehow forgot to remove me from their mail list. So, even if not
active, I've been watching progress.

> and being myself a big
> time supporter of WebDAV I would be very much interested in your opinion on
> which needs a JSR 170 repository really fits better than a plain WebDAV
> repository (a complete one with DeltaV, ACL and DASL).

This is a damn good question, so I'm copying David which is the spec
lead and CTO of Day Software. We are both bound to an NDA which should
protect the IP discussed there, so we won't be able to get into
technical details until a public draft is made available (damn stupid
JCP, things would progress much faster without this idiotic NDA bindings
that really don't protect anybody, but that's another story).

There is, admittedly, a strong overlap between a JSR 170 repository and
WebDAV.

Why? well, more or less they are designed to solve the same problem, but
they do it rather differently. One is a protocol, the other is an API.

Both are contracts that isolate a hierarchically-shaped content
repository from those who want to retrieve/modify/add content into it.

So, the question, IMO, is not properly formulated. A more balanced one
would be: what is the difference between WebDAV and JSR170-over-RMI?

In that case, the difference is that WebDAV is an HTTP-based protocol,
while RMI or RMI-over-IIOP are binary protocols and much less understood
by content editors.

So, the other question would be: is JSR 170 capable enough to provide an
API for a direct implementation of WebDAV over that API? yes, I think
so. i think this is one of the goals. I'll let David talk more about this.

This is why Slide makes it a perfect reference implementation: it
provides both a remotely accessible API using WebDAV instead of
JSR170-over-RMI but also provides a direct connection to the repository
API in case you don't need a remote repository but want to embed one in
your application.

With my last website, I came out with this simple 'virtual xml
repository' which is nothing but a file system with a bunch of methods
calls to move stuff around. That screams for a simple implementation of
JSR170 but would have been greatly overkill to use webdav as a protocol
for something that was just embeddable (webdav is not easy as a
protocol, it's a big pain in the ass)

If you look at Subversion, for example, you see more or less the webdav
equivalent of a web server (in fact, it's based on apache httpd 2.0):
you can't embed it, but they provide a client library that you can use
to connect to it.

Which approach is better? I honestly can't tell. Reality is that JCP
standardizes APIs and protocols are much weaker contracts than API
because they don't really specify much and the devil is in the details.

So, at the end, I don't think there is such a thing as a battle between
JSR 170 and WebDAV, but they can easily and happily cohexist, much like
CSS and XSTL, but only if used properly.

This 'properly' will have to be defined as soon as the API is made
public and a reference implementation is available.

David, feel free to add whatever you want/can. TIA.

Anyway, hope this helps.

-- 
Stefano.



Mime
View raw message