[ZDP] Deprez 4

Shaw, Howard ShawH@STHS.org
Thu, 6 May 1999 13:39:54 -0500


Zen of Object Publishing

Today, most programmers are at least acquainted with an Object Oriented
programming environment. When we use this technique for creating dynamic
content (e.g. html-pages), we speak about Object Publishing. The way
Zope views a web application is totally different from the common way
web applications are built, today. In most cases, a web application
consists of a collection of static HTML-pages and CGI-scripts, all
working quite well on their own. There is almost no interaction between
them, except that a CGI-script can be called from a HTML-page.
Alternatively, they consist of complex scripts embedded in web pages,
such that each page is an interesting mix of code and HTML (PHP3, ASP).
In an Object Publishing environment, the web application is built with
objects. Objects have a content and a behavior, can be placed into each
other or connected in a hierarchical manner. A Zope object is dynamic,
meaning that the behavior and content of an object depends on the
environment in which it is placed. The technology behind this is called
acquistion. Among the elements that make this a powerful part of Zope is
the ability of Zope to very easily permit arbitrary python objects
(perhaps created for other projects, or other purposes) to be connected
to the web. Further, it provides a simple mechanism for allowing the
hierarchy of an object to be traversed through a URL. As an example,
instead of serving a page from a database by means of a URL containing a
query such as "?sid=name&this=that" Zope permits a URL like
"base/name/this/render.htm" or even "base/name/this/", with no visible
query, to serve results from a database. Thus database access can be
made wholly transparent to the enduser, and your SQL or object database
can become an integral part of your web page.

Doesn't anybody have any comments?
Howard Clinton Shaw III
St. Thomas High School