The origins of Zope lie in something they called Bobo.  This was something apparently dreamed up on a flight by someone who was conversant with the terminology at the time (aka buzz words) but less so with technology.  Which just goes to show that you don't need to be a technologist to come up with good technologies.

That was then, and this is now.  Jim Fulton (the bloke on the plane) has since learned a few things, and is now respected as one of the leading technologists behind Zope, and a Python thought leader of note.

Bobo was based on the concept of an Object Request Broker (yes, that's right, as in CORBA or COM/DCOM).  Except that in the case of Bobo, the object was a Python object, and the request was an HTTP request.  You can see where this is leading.

A typical HTTP request would go:

http://some.or.other.site/object-a/object-b/method-a?arg1=val&arg2=val

This would be translated into a lookup in object-a for object-b, and a call to object-b.method-a(arg1, arg2).

Simple enough as things go.  Remember that at the time of Bobo (1996), the hierarchical ZoDB did not yet exist (**).   It is astounding how that simple idea blossomed over the following decade.  You can always trust open source developers to take a basic concept and make the most of it.

 ** Nor did REST, although XMLRPC (soap) was already a specification.

Grok 4 Noobs

The Z-Object Publishing Environment