[Zope] Re: Zope vs. Enhydra

Jim Harrison jhrsn@pitt.edu
Sat, 30 Dec 2000 13:42:44 -0500


on 12/29/00 9:52 PM, corey@axcelerant.com at corey@axcelerant.com wrote:

> But really, has anyone had any experience with the *other*
> open source Web Application Server, Enhydra?
> 
...
> At any rate, after already being *highly* impressed and
> sold on Zope - I ended up spending a little time at
> www.enhydra.org and became more and more enthused.

Zope has the advantages of a well-developed security strategy that allows an
orderly delegation of management of subtrees of a site, an application
framework that supports things like acquisition, a built-in object database
and a broader range of freely-available (with source) applications such as
Squishdot and ZWiki (this could change, but so far I haven't found a
comparable set of freely-available servlets). Because you can do a good bit
of development directly through the web and most sub-developers do not need
access to the file system of the host machine, Zope is suited to dynamic
sites with multiple developers working on separate site subcomponents.

Enhydra offers Sun's Java Servlet 2.2 API, which is becoming popular for web
application development in business, and it theoretically can be used with
Cocoon, a very interesting XML publishing system/application manager
implemented as a servlet (xml.apache.org/cocoon). Enhydra can serve standard
web pages from the file system as well as manage servlets and it offers
several strategies for embedding dynamic content in pages. However, page and
servlet developers must have access to the host file system to mount the
pages and servlets, and the Enhydra administrator probably needs to manage
the final configuration of each servlet (you must edit the server's
configuration files and restart the server). This would seem to lend itself
better to the creation of applications that are relatively static once they
are put in place.

One interesting aspect of servlets is that they can be written in JPython or
its successor, Jython, rather than Java and then compiled to Java byte code
directly. Thus you can write your application logic in Python and have
access to both the Java and Python code libraries. There is a useful servlet
available called 'PyServlet' by Stefano Mazzocchi that will load JPython
servlets from source code, allowing the source code files to be edited after
installation (they will re-load then). I haven't tested this under complex
or high load conditions, but it works pretty well with simple servlets using
Tomcat (jakarta.apache.org) as a servlet container. Enhydra would also be
expected to support this and I think this capability should increase the
interest of the python community in Enhydra and the other standard Java
servlet containers.

Jim Harrison
Univ. of Pittsburgh