tags:

views:

202

answers:

2

What are the main technical differences between CMIS and WebDAV?
If applicable, what exactly does CMIS improves over WebDAV?

I am not asking about adoption rates or number of implementations, just about the technical differences between each of those standards.

+1  A: 

WebDAV is an older standard and is based entirely on the HTTP specification. In fact, HTTP was extended to move it from read-only to read-write. Before WebDAV the HTTP specification was not able to handle back-and-forth file transfers so it was extended for that purpose. WebDAV is very rudimentary and only lets authors manage in a file-browse mode. The first WebDAV spec that came out did not include versioning capabilities. It was later on in the "Delta V" release of the spec where complete versioning was spec'ed out. While WebDAV is extraordinarily prevalent (Microsoft desktops, some Adobe products, etc) most vendors have only implemented the earlier WebDAV spec. (i.e. not DeltaV)

CMIS on the other hand is a much more complete and rich specification. CMIS is basically a web-service based common API. CMIS includes support for extending metadata, searching, advanced permissions, versioning capabilities, etc and really further advances the notion of a common-plumbing layer for an organizations' various repositories. It is really a common denominator API amongst the various ECM vendors such as Microsoft IBM, OpenText, ECM and so on.

Volumes could be written on CMIS at this point but those are some big differences. One note is that of this writing CMIS is still not a 1.0 spec (almost there) whereas WebDAV had been around for over a decade. There are likely to be considerable changes coming as CMIS evolves.

Robbie
(1) HTTP is read/write. After all, it already has PUT, POST and DELETE. (2) I don't understand the part about being "rudimentary" and "file-browse mode". (3) CMIS isn't more "complete", for instance, it doesn't define locking. It's simply different.
Julian Reschke
+2  A: 

There's no simple answer.

There are things in WebDAV that aren't available in CMIS (locking, redirects, advanced versioning, namespace operations like MOVE). There are certainly other things only available in CMIS. Both could be extended to become a better match (and therefore it may have been a bad idea to start from scratch instead of just adding to/profiling WebDAV).

The main real difference is that the collection model in WebDAV is more specific (in that it exposes a real hierarchy with MOVE/COPY operations), while in CMIS (as per AtomPub) the client has less control. Depending on the requirements, that can be an advantage or a disadvantage.

Julian Reschke