Re: HTTP daemon in Python?

Bill Janssen (janssen@parc.xerox.com)
Wed, 8 Feb 1995 11:22:52 PST

I've had some conversations lately with people who think that it might
be interesting to replace the CGI protocol with an ILU-based protocol of
some sort. That is, you'd define an ILU protocol which includes the
object type "Document", which has methods called "GetTextFormat" and
"GetText". When your HTTP server received a request for the text of
some document Foo, it would map the URL to an ILU object of type
"Document" (by calling the built-in ILU method ObjectOfSBH() [ SBH is
the ILU name for URL's ]), and call the "GetText" method on the object,
to actually retrieve the contents (GetText might take various
parameters, such as contexts). The advantage of doing things this way
is that ILU is a nice language-independent object-oriented binary
protocol for communicating with services. Objects of type "Document"
could actually be subtypes of "Document" which might provide substantial
additional behavior and functionality beyond that of the simple
document. These additional methods could be manipulated via HTTP, which
is a fairly complete, though somewhat clunky, object protocol. Since
ILU's supported in Python, it would be reasonably simple to construct
such an HTTP server in Python. Implementations of particular objects
could, of course, be written in any of the supported ILU languages
(currently Python, Common Lisp, C++, Modula-3, and C).

Anyway, the whole point of this note was to mention that release 1.7 of
ILU supports URLs. That is, the name of an ILU object can be expressed
either as a ``string binding handle'', which has the form
"<instance-handle>@<server-ID>@<location-info>", or as a URL, which has
the form
"ilu:/<location-info>|<type-info>/<instance-handle>@<server-ID>". For
more ILU info, see ftp://ftp.parc.xerox.com/pub/ilu/ilu.html.

Bill