Thoughts on the Sharing Server Discussion
Lisa and
Morgen both have excellant posts about the discussion going on in reference to how/why Chandler will use or need a server for the purpose of sharing. Both I think are circling similar points and as I finished reading Morgen's notes I was asking myself a couple questions.
It seems that using a WebDAV server or a Chandler-aware server are two answers to the same question but dealing with different use stories: offline and online.
WebDAV is used for offline storage of items that can be retrieved by other consumers at any time. The way WebDAV is accessed forces the interaction to be offline (it is served by a web service after all) so you cannot make any assumptions to the state of the information being stored because you never know in what sequence, or even at what time, the stored items will be accessed -- unless you also store copius amounts of meta-data to ensure that the consumer of the items gets the sequence correct.
A Chandler-aware server would be used for online retrieval of items. Since it is using a Chandler repository for it's backing store, any items stored would be in a complete state as the Chandler-aware server currently knows it. Any updates would be merged immediately and any consumers requesting information would retrieve the item in the correct state. This would require the consumer to be aware of how items are stored in a Chandler repository but I don't think that is a Bad Thing(tm).
Nothing prevents the Chandler-aware server from having a WebDAV or even a CGI front-end -- all requests like that would be run thru an appropriate api conversion layer and the retrieved item returned to the consumer as required. Both of these front-end shims/interfaces would interact with the items using all of the tools available from the repository to query, collect and present the information to the consumer.
Just some thoughts and I hope I am not going over ground already covered.
--
MikeT - 06 Nov 2004
Hi Mike,
In our WebDAV server plan, I was thinking that WebDAV could eventually be used for browsing as well as for synchronizing for offline use. Browsing is a little harder to pull off if items can appear in multiple collections but still not impossible. So I guess we're not on the same page with respect to that, and I'm not getting what you mean by how it would "force the interaction to be offline".
I'll take a wild stab, however -- is it the request/response model of WebDAV that makes it appear like the client is doing work "offline"? That aspect of a protocol is what makes it scale, not really what affects the user interactions that are allowed. I could rewrite IMAP to be request-response oriented instead of connection-oriented, without users noticing any difference in behavior.
*
LisaDusseault - 07 Nov 2004
Lisa,
It was the request/response part of current WebDAV's that is making me not take the next step - thanks for helping me over that hurdle.
--
MikeT - 07 Nov 2004