April 21, 2019

The Zope Application Server Revisited - page 4

Introducing Zope

  • January 7, 2000
  • By Kevin Reichard

For instance: the larger application-server field relies on CORBA or COM; UNIX vendors tend to line up behind CORBA and NT vendors line up behind COM. Though Python supports COM and CORBA, Zope doesn't explicitly support either, so you'll need to come up with your own Python code and include it within Zope in order to enable COM and CORBA support. This is one of the chief difficulties with Zope: you not only need to come up with your own applications, but you must also program your own application server!

In addition, the application-server market has largely settled on Java and Enterprise JavaBeans (EJBs) as tools that can be deployed on any application server, allowing different servers from different vendors to interoperate on a useful level. There's no hint at all within Zope or the Zope documentation that Java/EJB support was ever considered, much less implemented. This is a major problem within Zope; you can argue all day and night that Python is superior to Java, but one simply can't ignore the realities of the marketplace.

Another potential drawback to Zope--which, admittedly, I didn't establish with the use of any sophisticated benchmarking or performance testing --was that performance seemed to be on the slower side. I purposely created the same sort of applications under Zope that I created for a previous review of a beta version of Cold Fusion 4.5 for Linux (which you can read here), using the same back-end SQL database. When putting both application servers through their paces, it seemed as though Cold Fusion for Linux featured snappier performance when working with CFML code and slightly quicker performance when working with Java code. I can't tell whether this is due to DTML being a drag on performance or some component underperforming, nor can I make the argument that you'll see a similar performance drag when deploying Zope on a production-quality system.

One final complaint: as far as application servers go, Zope represents an unsophisticated approach to load balancing and fault tolerance. In Zope itself, there's no load balancing at all; you'll need to purchase it separately as a commercial product from Digital Creations. Fault tolerance and failover ensures that a user session doesn't fail when a server goes down; the session is taken over by another server in the cluster. In the enterprise, load balancing and failover are now nearly mandatory, so until Digital Creations boosts Zope's capabilities in this area, it will be forever doomed to be a departmental server performing a limited number of transactions in non-mission-critical environments.

Most Popular LinuxPlanet Stories