repository access protocol Re: [Design] Knowing when you've readRys (David) McCusker Thu, 20 Feb 2003 17:59:38 -0800
Michael Toy wrote: > I am coming late into this dicussion, so forgive me if I am repeating > what is already been said, but the one way to do this is to make the > data store look like whatever a client wants it to. That is, if you > connect to it as an LDAP server, it looks like an LDAP database, with > an IMAP server, you see mailboxes, SQL ... HTTP ... and so on. I haven't been responding to this thread (and others related to the storage repository) as much as I should have, because I've been trying to focus on documenting the current database plan, which isn't ready for publication yet -- but will be soon. The repository will have more than one interface. From application code in Python, the repository will have a Python based interface which resembles the transparent persistent interface used by zodb. But the database will also have an interface based on a network protocol which we have dubbed RAP, for repository access protocol. (The name was coined by Katie and much enjoyed by Lou and everyone else.) the Python based interface will actually be a layer on top of RAP, so the protocol will be used everywhere. RAP resembles an extended version of IMAP, and so would be especially suited to use as a IMAP server, and the similarity is partly driven by Lou Montulli's appreciation of IMAP. It is also driven by our appreciation of IMAP as a message based protocol that is trivially easy to use in modeling items as messages, because they are simply objects composed of attributes. We have talked about using a RAP server as the implementation of other kinds of servers, including ones you mention as well as CAP. but we do not want to get ahead of ourselves by suggesting we intend to write additional servers beyond the first one we need. each new the server is more work, and we might have other priorities. But I imagine it would be easy for third parties to use our protocol and repository to build other kinds of servers. That's certainly fits in with intentions behind using an open source license for our code. I suppose it's highly likely that my writing this e-mail will prompt questions best answered by the documents I should be writing this minute instead of writing this e-mail. So if I do not reply in depth to questions exploring RAP and various front ends, and how they relate to Python and query languages, etc., please understand I am trying to describe this elsewhere. However, I can reply shortly to ongoing discussion about this. And other Chandler engineers can pop in and tell you what they think since they are waiting for me to write more, and will not be blocked by writing about the repository in this venue. -- Rys
|