ZopeX3 (was Re: [PEAK] GNU Enterprise)

Phillip J. Eby pje at telecommunity.com
Thu Feb 3 12:04:24 EST 2005

At 06:40 PM 2/3/05 +0200, Andreas Pauley wrote:

>On Thu, 3 Feb 2005, Phillip J. Eby wrote:
>>GNU Enterprise is an effort to build specific enterprise applications 
>>which are themselves open source; PEAK is an effort to build an open 
>>source framework which can be used to create open or closed-source 
>>applications.  It gets used to develop closed-source applications, which 
>>drive requirements for the framework, but the applications themselves 
>>don't end up part of the package.
>>Technologically, there are some other differences, such as GNUe's 
>>emphasis on CORBA.
>I've also been going through some of the documentation of ZopeX3 today.
>It seems that the Zope project has shifted from their web-centric focus to 
>a more general application server backend in which one can build 
>component-based applications.
>This sounds a lot like what PEAK is doing, what's the main differences here?

Zope X3 emphasizes "content-oriented" applications.  For example, you'd be 
rather hard-pressed to build an enterprise-class accounting or billing 
system with it, because its object models and database system are tuned for 
hierarchical collections of heterogeneous documents that are read more 
frequently than they are updated.  So, I don't think it's fair to call it 
an all-purpose application server.

On the flip side, one thing that Zope X3 does that PEAK has no intention of 
doing, is running "untrusted" code.  Zope X3's security model is built to 
provide a Java-style code sandbox for Python code.  IMO this is a huge 
investment of development effort for a very narrowly useful feature.  If 
you need such a sandbox in Python, don't look to PEAK for it, you need to 
go with Zope.

Basically, the difference in emphasis between Zope and PEAK can be seen in 
the fact that Zope believes everything should be persistable, including 
modules, classes, and interfaces, because they want to support 
through-the-web (TTW) development and believe that persistence is the way 
to do it.  But IMO enterprise developers don't need TTW, or else Java would 
be a failure.  Zope's real market is people who manage content and need 
some scripting, and people who develop content management tools.  If that's 
your focus, you'll do better with Zope.  If you deal more in "traditional" 
applications that have complex business rules and work with gobs of 
frequently-updated data, you may do better with PEAK's approaches to things.

More information about the PEAK mailing list