Originally appeared in Web Review at: http://webreview.com/wr/pub/1999/03/05/feature/index2.html
The Insider's Guide to Zope
An Open Source, Object-Based Web Application Platform
by Amos Latteier
Mar. 5, 1999
The recent success of such projects such as Linux and Apache
has shown that Open Source software can deliver the goods. Not
only are these projects free and open, but their quality is often
much higher than that of commercial offerings.
One area in which Open Source software has yet to make a
significant appearance is in the newly-critical role of Web
applications servers. This category of software provides a
high-performance, dynamic platform for delivering and managing
content, and includes such heavyweights as Microsoft, Sun,
Oracle, and Netscape.
Zope is one of the
first projects to make an an Open Source presence felt in the Web
application server field.
Zope is an Open Source Web application platform for creating
dynamic Web sites and Web applications. It has proven
technological foundations and a vital community of supporters.
Zope is lightweight and portable across operating systems, Web
servers, and databases. It delivers high-performance with a small
footprint. The platform's Web object system allows applications
to be built quickly and easily with unparalleled flexibility and
manageability. The object database provides transparent
persistence, transactions, undo, and versioning, while
accommodating a variety of storage backends. Zope can be managed
through the Web with an HTML GUI that's modeled on the Windows
Explorer file manager.
The Road to Open Source
Zope developed from from an established free software project,
a powerful commercial application server, and an innovative
business strategy.
Jim Fulton, technical director at Digital Creations,
developed the idea that would become the core of Zope after
teaching a frustrating Python CGI tutorial at a 1996 Python
workshop. Having been a long-time object proponent, he knew there
had to be a better way to develop for the Web than CGI. Later
that year, Digital Creations went back to the Python Conference
to deliver several papers on the freshly completed Bobo Web object
system. Bobo was release as free software and quietly
developed a loyal following of users and contributors. Meanwhile,
Digital Creations developed and sold a commercial application
server called Principia,
which was based on Bobo technology.
Late in 1998, Digital Creations surprised many people by deciding
to combine Bobo and Principia into an Open Source
platform named Zope. What could happen to make an otherwise sane
company start giving away its major commercial product as Open
Source?
The decision to go Open Source was largely driven by the
company's investors at Verticality Investment Group, LLC. Hadar
Pedhazur, a Principal at Verticality, felt that making the
exciting, innovative Principia product into the basis for a free,
Open Source platform provided a better business strategy for the
company's goals. Digital Creations expects Zope to quickly
capture a significant share of the application server market.
This will lead to more revenue for its consulting business and
increase the value of the company.
After discussions with early Zope adopters and Open Source
advocates including Bruce Perens, Digital Creations liberalized
Zope's license, and Zope received Open Source(tm) branding.
A few short months after Zope was released as Open Source,
developments are churning along at a furious pace, and the Zope
community promises to advance the platform on many fronts
simultaneously.
The links below (the continuation of the article) take you
directly to Web Reviews pages:
The
Web Object System
The one thing that sets Zope apart from other application
development systems is that it couples a lightweight HTTP Object
Request Broker (ORB) with a powerful object database.
Object
Hierarchies and Acquisition
Zope's modularity allows objects to provide services to other
objects through something known as "acquisition," which
allows the objects to acquire resources from their environment.
Server
Flexibility
By using Persistent CGI, Zope can communicate with its own server
(ZServer), or with any Web server that supports CGI (such as
Apache).
Building
a Dynamic FAQ Tool
Learn how to use Zope to build a Web-based application for
managing a FAQ page.
The Insider's Guide to Zope