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/ -----------------------------------------