[ZODB-Dev] Number of clients connecting to a ZEO Server
Chris Withers
chrisw@nipltd.com
Thu, 24 May 2001 17:20:25 +0100
Jim Fulton wrote:
>
> Yes. For read-intensive access, it should also be possible (with some minor
> changes to storage servers) to arrange storage servers hierarchically, where
> some storage servers are storage clients.
Hmmm... what about as a web in a Groove-esque manner?
> > Finally, what's the minimum I need, in terms of libraries, etc, to open a ZEO
> > connection to a storage server so I can start playing with objects in the ZODB?
>
> Sadly, you need a little more than you should. This includes:
>
> - ZEO
>
> - ZODB
>
> - ExtensionClass
>
> - Python 2.1 or Zope's cPickle and asyncore
>
> - zdaemon, zLOG, ThreadedAsync, Persistence
>
> and, if you want to be able to do Undo the way that Zop does,
> you'll need:
>
> - App.Undo (for the Prefix class, waaaa).
Would I also need the python products for any objects I want to get hold of
through the ZEO connection?
> > PS: This is all looking towards building a fat client for Zope, based on Python
> > and using a ZEO connection to get hold of the objects.
>
> I fear that the security model is going to be the biggest challenge
> unless you are willing to totally trust the clients.
I'm guessing this is because giving someone access to a ZEO connection to a ZODB
is on par with giving them file system access to the ZODB server? Has anyone
thought of a way to secure a ZODB connection at this level. It feels like it
should be possible, given that Zope does exactly that with HTTP, and the
HTTP-python mapping is a pretty close one.
<pipe dream>
Is there any way a storage server could expose something like a Restricted
Python connection?
</pipe dream>
(thinking aloud) What about CORBA? Does it solve this kind of problem?
Would:
ZSS - CORBA ===================== CORBA - Zope Fact Client
...work?
> If you aren't, then
> you might be bertter off with a xmlrpc or SOAP-based approach, however, then
> you'd have a database consistency problem to deal with.
I think I understand why, but could you explain?
cheers,
Chris