[Zope-dev] Impact of additional protocols handled by Zope?

Jeff Kowalczyk jtk@adelphia.net
Sun, 17 Mar 2002 23:08:51 -0500


[Eron] Yeah, this is something I'd be very interested in knowing, too.
In fact, this particular ability could make or break a community project
I'm going to be developing with Zope in the near future. Do you mean
like the pluggable access that ZServer provides? I imagine there would
also have to be some kind of pass-through backend storage to the actual
service layer (like IMAP, for instance). This is definitely something
I've been thinking about. [Eron] Getting my gears turning, Eron

My thinking is that the protocol(s) that people might develop would be
action-interfaces to Zope objects and methods. The canon example is
IMAP, I guess. Someone might finish up something like
http://www.zope.org/Members/michel/MyWiki/IMAPServer , and
access/create/control Zope objects persisted directly in ZODB, using
variations on the classes people already have for the various Zope Email
Clients. Add Binari's IMAP Plug-In to the ubiquitous Outlook, and you've
got a poor-man's Exchange Server*. To get public folder workflow, you'd
need to use CMF (or Openflow), but that should change by the time Zope3
takes shape, workflow will apparently be native to Zope. (Can't wait)

Jabber (or IRC, etc.) would be a slightly different use case.
Jabber.py's maturation might mean that you could have a small number of
users conferences authenticated against Zope's users. The users would
use normal Jabber clients, but this should make web-chat interfaces very
doable, too. A Zope Jabber protocol server might implement active
conversations in session memory, and persist to Zope objects in response
to a Jabber command. Jabber's logging idioms produce XML documents in
the jabber.org implementation, ours would be Zope objects or whatever
was needed by the developer. The back-end would be all Zope's turf.

As for LDAP, existing LDAP products connect to external LDAP servers.
But wouldn't it be useful if Zope's user database, and other folderish
resources could be exposed as LDAP, with Zope as the server? A Dynamic
DNS protocol handler could pump authenticated user's IP info into the
LDAP tree, and so on.

I'm probably getting ahead of myself here, its not like python
implementations of these sophisticated protocols grow on trees. But they
do seem to get started in the python community from time to time, and if
Zope offered an easy way to hook a budding protocol implementation in to
a mature application server, there might be a lot of can-do attitude to
getting them beyond alpha stage. The key would be if the developer could
add/delete/configure protocol products as easily as content products. As
I said, It wouldn't take much for Zope to be a great Exchange drop-in
replacement in your typical small business. It wouldn't really matter
that much if python implementations of these protocols didn't have the
scalability of their C-based brethren, lots of small Zopes doing
big-server work would be a nice thing to develop against.

* Better than Exchange, IMHO, because you'd have to be nuts to deploy
Exchange or Small Business Manager in a real small business with no
on-site IS Manager to handle backups or Active Directory admin duties.