[Zope] To Zope or Not To Zope?

Paul Everitt Paul@digicool.com
Wed, 26 May 1999 14:37:36 -0400


Ryan wrote:
> A client of ours has approached us about designing and 
> building a major
> web portal project focused around a particular topic area 
> with extensive
> member services and content management abilities.  We now have to spec
> this project out and at some point in the near future I will have to
> decide on a WWW server/Application server/Database 
> combination.  Zope is
> in the running, along with WebObjects, NetObjects, ODI's ObjectStore +
> ObjectForms, etc.

That's great to hear that we're being considered with such an auspicious
(if expensive :^) lineup!
 
> My initial impulse is to go with Zope because of its low cost 
> overhead and
> my expertise with Python as well as the access I have to this 
> mailing list
> and so on.  Unfortunately my desire to do implement python is 
> offset by a
> few major concerns, and I would like to see if anybody out there could
> address these questions/concerns:

You've definately done a straightforward job of delineating the
concerns.  Thanks for the evenhanded treatment.
 
> 	1) Zope seems to want to operate in a configuration of 
> web server,

Hmm, I disagree a bit here.  I still recommend people use Apache.

> application server, and object database all in one package.  I have
> managed to get Zope to run using ZServer + Apache PCGI, but the
> performance seems quite quite dismal.  My concern is mainly 

We certainly haven't seen dismal performance.  Could you be more
specific?

I think you should expect a million hits per day on a $3k machine using
Apache in front of Zope.  If you're talking an order of magnitude more
than that, then you might be right.  But that would make your site one
of the top ten Internet destinations :^)

To be more specific, if you'd like a significant boost in Apache
performance, write a mod_zope that eliminates the forking and
pcgi-wrapper connection.  Or contract with us to do it and put it back
out in the community.

> scalability: I
> want to be able to use an industry standard web server (i.e. apache)
> separate from the application server so that I could do 
> things like scale
> using multiple web servers, etc. etc.

There are a whole number of reasons to want to keep Apache in the mix.
We run Apache on zope.org due to this.
 
> 	2) The same issue applies to the DB layer.  After 
> floating through
> all the documentation on the zope.org site I am unclear what the
> relationship would be between Zope and an industrial strength database
> like Oracle 8, etc.  I am wary of using Zope's own object DB 
> because of

It's certainly legitimate in these remaining weeks before Zope2 to fret
about scale and the object database.  We'll have a lot more confidence
once Z ODB 3 comes out of testing.  Until then, you're raising a
legitimate point.

As for compatibility, I realize that some people don't feel comfortable
"locking" their database in a Data.bbb file.  We're taking steps to make
this decision easier (e.g. XML import/export, Zope2's ability to store
its contents in one or more relational database tables, etc.).  But
those won't be ready for use for at least another month.

> scale and compatibility issues, but most of the benefits of using Zope
> would be mitigated if I ended up having to write SQL queries 

Correct.

> to access my
> Oracle database.  The question is: is it possible to use a DB 
> like Oracle
> or Postgres, etc. transparently and in the same manner that I would be
> using Zope's native db?  How about an object DB like ODI's 
> ObjectStore?

Right, the idea for Z ODB 3 is that you can have multiple storage
managers as part of one logical object system.  The object system could
be partitioned across three files, a Sybase table, and an Oracle table.

It's likely that the part that stores data in the relational database
might start out commercial, as well as the client-server version of the
object database.
 
> 	3) Zope is not "standard" enough that should I get run over by a
> truck development could proceed without me.  Finding consultants and
> programmers other than myself to work on this project could 
> be difficult.

I completely realize that going with Zope is still a risky decision.
However, the question of risk due to being non-standard is mostly offset
by the risk of going with a closed-source vendor.  Do you _really_ trust
Apple et al. to be responsive to all of your issues?  IMO, customers
should demand control.
 
Again, thanks a bunch for taking the time to write up a well-reasoned
statement of the issues!

Paul Everitt       Digital Creations
paul@digicool.com  540.371.6909
-----------------------------------------
The Open Source Zope application server
http://www.zope.org/
-----------------------------------------