[ZODB-Dev] ZEO for GUI applications

Rodrigo Senra rodsenra at gpr.com.br
Thu Mar 29 16:24:09 EDT 2007

[ Robert Gravina ]:

|short version:
|Is anyone using ZEO to build mutliuser networked applications outside  
|of Zope?

Well, I have developed a trivial in-house desktop-based 
employee activity control (Argh!) a couple of years ago.
It started as a ZODB+wxPython standalone exercise, and changing
one line the application (from FileStorage to ClientStorage) ;o)
... and adding ZEO ... it became a client/server desktop apps.
It impressed some folks down here and it was in production use
until it was finally replaced for a Web version integrated to 
our Zope/Plone portal.

Having said that, I believe that is not the list to discuss it.

|longer version:
|I've been designing and coding (and re-designing and re-coding) a  
|multi-user GUI application in Python for some time now. At this  
|stage, it's mainily just GUI forms for editing data and some logic to  
|share objects with users, keep them from editing the same entry at  
|the same time etc. I'm currently using Twisted and a a python object- 
|reational DB called Axiom, built on top of sqllite.

I did a curious experiment during a cross-language event that took
place in Sao Paulo/Brazil. Several guys presented their favorite
programming languages and frameworks: Java-something, Rails, PHP-something
and Python (me). While the Java presentation was taking place, I have
coded (on the fly) the same example presented there.
As an introduction to my talk (last in the day) I presented to the audience 
my crude ZODB+Twisted version, that had the strengths of all frameworks
and yet was much smaller and coded by a mediocre developer while distracted
by a Java-something talk ;o)

The full history is here [1], even though in Portuguese, the Python code
is Universally readable. 
[1] http://article.gmane.org/gmane.comp.python.brasil/21504/match=senra+zodb+twisted+tempo+real

|So, I was thinking each client uses a ClientStorage to access a ZEO  
|server and I build my user authentication, GUI forms etc. on top of  

|The thing is, I can't seem to find any references to applications  
|(open source or otherwise) where developers have used ZEO in this  
|way, and it makes me wonder if I'm trying to use it in a way for  
|which it wasn't designed.
|Is anyone using ZEO like this?

That is precisely what I did in the first example I have mentioned,
and it worked just fine. But I had a very controlled environment (our
tiny little company) and very savy user base (all Python developers).
If your application have many more reads than writes you will be
fine. In case you want to discuss this in PVT, feel free to
email me. 


Rodrigo Senra
GPr Sistemas 

More information about the ZODB-Dev mailing list