[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

---------------

    Object Publishing

      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
      "Marketing".

      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:
         hgjggjg

        % 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
         'protocol://host:port/path?querystring"',
         e.g. 'http://www.zope.org:8080/Resources?batch_start=100'.

      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
      similarly::

        /Uncles/Rick
        /Uncles/Danny 
        /Uncles/Louis

      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
      Publishing":http://www.zope.org/Documentation/ZDG/ObjectPublishing.stx
      chapter of the *Zope Developer's Guide*.

      % Anonymous User - Oct. 31, 2003 10:53 am:
       dd



More information about the ZDP mailing list