[ZDP] BackTalk to Document The Zope Book (2.6 Edition)/Zope
Concepts and Architecture
webmaster at zope.org
webmaster at zope.org
Fri Oct 31 10:53:45 EST 2003
A comment to the paragraph below was recently added via http://zope.org/Documentation/Books/ZopeBook/2_6Edition/ZopeArchitecture.stx#2-3
The technology that would become Zope was founded on the
realization that the Web is fundamentally object-oriented. A URL
to a Web resource is really just a path to an object in a set of
containers, and the HTTP protocol provides a way to send
messages to that object and receive its response.
Zope's object structure is hierarchical, which means that a
typical Zope site is composed of objects which contain other
objects (which may contain other objects, ad infinitum). URLs
map naturally to objects in the hierarchical Zope environment
based on their names. For example, the URL
"/Marketing/index.html" could be used to access the Document
object named "index.html" located in the Folder object named
Zope's seminal duty is to "publish" the objects you create. The
way it does this is conceptually straightforward.
% Anonymous User - Oct. 31, 2003 10:44 am:
% Anonymous User - Oct. 31, 2003 10:45 am:
Questo paragrafo ha un commento
1. Your web browser sends a request to the Zope server. The
request specifies a URL in the form
2. Zope separates the URL into its component "host", "port" "path"
and "query string" portions ('http://www.zope.org', '8080',
'/Resources' and '?batch_start=100', respectively).
3. Zope locates the object in its object database corresponding
to the "path" ('/Resources').
4. Zope "executes" the object using the "query string" as a source
of parameters that can modify the behavior of the object. This
means that the object may behave differently depending on the
values passed in the query string.
5. If the act of executing the object returns a value, the value
is sent back to your browser. Typically a given Zope object
returns HTML, file data, or image data.
6. The data is interpreted by the browser and shown to you.
Mapping URLs to objects isn't a new idea. Web servers like Apache
and Microsoft's IIS do the same thing. They translate URLs to
files and directories on a filesystem. Zope similarly maps URLs
on to objects in its object database.
A Zope object's URL is based on its "path". It is composed of the
'ids' of its containing Folders and the object's 'id', separated
by slash characters. For example, if you have a Zope "Folder"
object in the root folder called *Bob*, then its path would be
'/Bob'. If *Bob* is in a sub-folder called *Uncles* then its URL
would be '/Uncles/Bob'.
There could also be other Folders in the Uncles folder called
*Rick*, *Danny* and *Louis*. You access them through the web
The URL of an object is most simply composed of its 'host',
'port', and 'path'. So for the Zope object with the path '/Bob'
on the Zope server at 'http://localhost:8080', the URL would be
'http://localhost:8080/Bob'. Visting a URL of a Zope object
directly is termed *calling the object through the web*. This
causes the object to be evaluated and the result of the
evauluation is returned to your web browser.
For a more detailed explanation of how Zope performs object
publishing, see the "Object
chapter of the *Zope Developer's Guide*.
% Anonymous User - Oct. 31, 2003 10:53 am:
More information about the ZDP