| About InfoWorld : Advertise : Subscribe : Contact Us : Awards : Events : Store |
|
||||
|
|
||||
|
Zope is a powerful open-source server By Tom Yager, InfoWorld Test Center July 14, 2000 See correction below
The advent of OOP (object-oriented programming) and design redefined mainstream application development. Digital Creations' Z Object Publishing Environment, Zope for short, brings the benefits of OOP to large, dynamic Web applications. With the third beta of Zope 2.2.0 just out, I decided to take a look at Digital Creations' latest effort, which should appear in July. Zope is a massive collection of components written in Python, an object-oriented scripting language. Through its various services, objects, and extensions, Zope supplies developers with a persistent object store, a transactional database, HTTP and FTP services, integrated security, SQL database connectivity, and collaborative development. A DOM-compliant (Document Object Model) XML parser is standard as well. In open source, Zope competes primarily with the Apache Web server, extended by Perl or PHP (Personal Home Page, a hypertext preprocessor), scripting modules. Lutris Technology offers a compelling open-source Java application server called Enhydra. Zope's closest commercial rivals are Java 2, Enterprise Edition; Windows 2000 Server; and IBM WebSphere. At first blush, Zope appears to have a decisive edge: It is a full-featured server that's absolutely free. However, to equip Zope with the enterprise availability and reliability features of its commercial counterparts, you must purchase the Zope Enterprise Option (ZEO), a combination of consulting and code that costs from $25,000 to $50,000. It is possible to build a commercial site without ZEO, but only with ZEO can Zope live up to the enterprise application server standards set by the likes of Sun, IBM, and Microsoft. These commercial solutions can be had for far less than the cost of ZEO and all use more portable languages and skills. That puts some deep scratches in Zope's otherwise polished presentation. Zope is the product of a commercial company, Digital Creations. Because it built Zope using the Python scripting language, the vendor was forced to take the bold step of making Zope 100 percent open source. Digital Creations' developers use Zope to build Web solutions for client companies, and Digital Creations sells training and support services. This keeps the developers paid and creates a commercial proving ground for Zope and Digital Creations' related technologies. Zope's open-source status brings external developers' improvements back into the product. All in all, it's a great business model that benefits everybody involved. That's how open source is supposed to work. Zope's practical benefits derive from its dedication to the precepts of OOP. Done right, a Zope application is a fabric of small purpose-specific Python objects. Most of the sweat is in the design. Once you have your object hierarchy mapped out, it is a simple matter to carve up the work among your team. Small, self-contained objects are easy to develop, test, and document. In the end, you'll waste a lot less money rewriting and debugging existing code. The schedule impact of staff turnover will be reduced because new developers easily understand small objects. The dark side of Zope's full tilt OOP approach will show itself to any shop that isn't already doing object-oriented work. If your developers are now knee-deep in UML (Unified Modeling Language), an OOP design paradigm, they'll be thrilled with Zope. Any properly modeled application practically writes itself in Python, and Zope is the ideal environment for hosting Python applications. If OOP and UML are Greek to your staff, Zope's waters will prove too deep. Your sharpest developers will make the switch without much trouble, but the others will take too long to make the change worth your while. The Python language (www.python.org) used to create Zope is interpreted, giving Zope a serious performance disadvantage compared to C/C++ application servers such as Microsoft's Internet Information Server (IIS), and mixed-language servers such as IBM's WebSphere. In fairness, Java and Visual Basic have legitimized the "throw more hardware at it" approach to scalability. Zope deserves the same performance dispensation that's been extended to Java and Visual Basic, but scalability across multiple servers (ubiquitous in commercial settings) requires ZEO. It's tough to justify training your developers in an obscure language when Java, JavaScript, C/ C++, and Visual Basic solutions can be had within ZEO's price range. I examined the 2.2 beta 3 release of Zope on two PCs, a 1GHz AMD Athlon server running Windows 2000 Server (not an approved Zope platform) and an 800MHz Athlon server running Red Hat Linux 6.2. I had no trouble running test applications and code I downloaded from the Zope community Web site (www.zope.org). The Web-based administrative interface makes quick work of mapping Web URLs to Zope object hierarchies. Once again, if you design it properly, your application will practically install and manage itself. The Zope applications I built for testing ran without modification across my Windows and Linux test servers. But when I tried to link the servers together, I quickly hit the scalability and reliability limits of Zope without ZEO. As a matter of design, I would not attempt to create a commercial Web application without such important features as shared database access, load balancing, and fail-over. Zope is a great lesson in pure object-oriented programming. For applications that need not scale beyond a single server, you cannot beat Zope's cost (free) and capabilities. The comparatively high cost of Zope's enterprise feature set, however, coupled with the time and expense of training developers on a very cool but little-used language, makes Zope seem less special in the crowded application server market. In this article, we erroneously reported that the Zope Enterprise Option costs $25,000 to $50,000. ZEO went open-source in March and is free. Related story After many tutorials, I'm still waiting to become a Zope addict Tom Yager is an InfoWorld senior analyst. He can be reached via tom_yager@infoworld.com.
RELATED SUBJECTS SPONSORED WHITE PAPERS
SPONSORED LINKS
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||