On Fri, Nov 14, 2008 at 10:52:35PM +1030, Antony Blakey wrote: >> I am eager to be corrected by any resident RESTafarians. For me, REST is a >> bit like Zen. Sometimes I think I understand it totally, and other times I'm >> convinced that I don't understand it at all. > > I don't think Couch is truly REST. Certainly _bulk_docs isn't. The fact that > there are URI patterns means it's not REST, at least not if I've understood > Roy's recent communications/frustrations, such as > http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven. > > In particular, point 4 seems to disqualify any system, (including Couch) that > needs the documents in the "Reference" section of the Wiki. > > To be REST it has to be just like the web. Using links discovered from > documents, never constructing them according to some scheme. > > However, what does it matter? REST certainly is a slippery sucker, but that > may be because we want it to be more generally applicable than it is. Couch > doesn't have to be REST, and I suspect that it in fact cannot be.
Sure, there are some areas, such as hypertext as the engine of application state, that CouchDB does not use, but looking back at Roy's original doctoral thesis, REST seems to be predominantly about architecture constraints, of which this was not one of them. CouchDB embraces all of the mentioned constraints in some way or another; namely client/server, statelessness, cacheability, uniform interfaces, and layered systems. So, I guess RESTful or non-RESTful is a false dichotomy in this respect. Additionally, I agree with you on the state of current bulk operations. I think there is room for improvement, and hopefully some kind of differential update could be possible at the same time. -- Noah Slater, http://tumbolia.org/nslater