Hi Glenn,
These are good questions.
Delta-V (http://www.ietf.org/rfc/rfc3253.txt ) is an extension to WebDAV (http://asg.web.cmu.edu/rfc/rfc2518.html ) which in turn is an extension of HTTP (RFC2616). HTTP, as you no doubt know, is a client/server protocol to handle transfer of non-versioned resources (e.g. web pages). WebDAV extends it to deal with collections (e.g. directory trees) and with locking (e.g. simple non-versioned checkout/checkin). The idea is to support distributed authoring of web sites. Delta-V in turn extends that to deal with versioning of the underlying resources.
JSR-147 (http://www.jcp.org/en/jsr/detail?id=147
) is a client-side Java API to SCM systems,
i.e. to systems that do versioning and sharing of directory/file resources.
I don’t know the answer to your #1,
but I can say it’s not a coincidence that JSR-147 and WebDAV/Delta-V
share a similar object model. If you look at the lead contributor to each, it’s
the same person (Geoff Clemm of IBM/Rational). You could certainly build an SCM
system in which JSR-147 is your client-side API, and WebDAV/Delta-V is the
on-the-wire client/server protocol that gets transmitted in response to API
calls. The standards are not incompatible.
It’s also not a coincidence that
the proposal I wrote up for the ALF SCM vocabulary has a similar object model
to both of the above. I worked with Geoff when I was at IBM/Rational, in fact working
on JSR-147/WebDAV-related stuff. (Now I am AccuRev).
Regarding your question #2, certainly
that seems like a possible (and likely) implementation strategy if the existing
SCM system uses WebDAV/Delta-V as its client/server protocol.
Regarding your question #3, the obstacles
to using WebDAV/Delta-V directly are: (a) It’s not SOAP – we’d
have to somehow SOAP-ify it [is that a word? J ] (b) It’s too
low-level, and (c) It involve streaming the files themselves through the
protocol (well, not Delta-V per se, but the underlying HTTP protocol does),
which I thought we agreed we are not doing.
In a sense this is the same discussion we
were having in our phone meeting last week, when we were talking about whether the
ALF SCM vocabulary could be the *same*
protocol as the underlying SCM system uses for its internal client/server
interface. I think what people were arguing (I was at least) was the ALF SCM
vocabulary needs to be a higher level. To take the canonical update-workspace
example. If a build tool gives the ALF request “Update Workspace”,
it just wants it to happen. It doesn’t want to deal with all the files in
the workspace streaming back through the protocol. Whereas the underlying SCM
tool, which is what actually needs to make it happen, so it *does* need to have a protocol (somewhere)
that deals with streaming file-contents and file-information.
To bring this back to your original
question, I agree it’s general goodness if all these SCM standards share
the same object model. And I agree we should look at WebDAV/Delta-V more
carefully to see what good stuff we can mine out of it. But I’d have
concerns that it is too low-level to use directly.
Richard Title
From:
alf-dev-bounces@xxxxxxxxxxx [mailto:alf-dev-bounces@xxxxxxxxxxx] On Behalf Of Everitt, Glenn
Sent: Wednesday, May 03, 2006 8:57
AM
To: alf-dev@xxxxxxxxxxx
Subject: [alf-dev] ALF SCM
Vocabulary compared to WebDAV VersioningExtensions
The document Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) I found here http://www.ietf.org/rfc/rfc3253.txt
has a section of Term definitions which is very close to what has been proposed which seems very good. It also looks like WebDAV has already been implemented by some SCM products. I don’t know how complete these implementations are but again, this seems like good news.
But I have a couple of other questions related to this:
1. Why doesn’t JSR 147 doesn’t reference the document above it seems like they address identical areas.
2. Is it possible for an ALF managed BPEL script to be written using existing WebDAV support already in SCM products?
3. If 2 above is true then should we base our vocabulary as directly as possible on the existing WebDAV standard?
I know nothing about WebDAV and only know about SCM systems from a user perspective so these are probably naïve questions. However, I am curious.
Thanks for any information
Glenn Everitt (Corona
Project)
The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose it
to anyone else. If you received it in error please notify us immediately and
then destroy it.