[Prev][Next][Index][Thread]

Re: What's CL-HTTP good for?



Observations about CL-HTTP?

1. The "server and its applications" are available PORTABLY
   on most useful hardware UNIX (SPARC/HP/DEC Alpha), Mac, PC
   (port in progress?).
   The "server and its applications" run NATIVE on most OS/hardware.
2. The "server and its applications" do not crash/coredump unexpectedly:
   even on common hardware CL-HTTP seems to stay up for weeks and      
   months at a time WITHOUT memory leak (including user extended
   applications loaded.)
3. The use of lightweight process IS superior to multithreading: solid
   firewalls exists between requests: full featured condition handling
   that actually works (e.g. an error resulting from one request
   does not necessarily crash all other users.) Yet you don't have
   to pay the overhead of spawing heavy OS processes to get the
   same protection level.
4. If you program in CLOS, you can build the following type of
   features at a fraction of the development cost required to built
   the same on top of a traditional server:
   dynamic form generation, contents filtering, database access,
   automated survey and information gathering widgets,
   conferencing, state-based sessions (access to persistent
   information), dynamic distribution of agents on the Web, etc.
5. New services compile to native machine code (no bytecode
   or code interpretation (shell) overhead) and can be added to the 
   server while it is busy servicing other requests.
   i.e. No need to take your server down to add new webmaster form
   generation gadgets or other upgrades!

I hope this raises more questions and more thinking - Olivier

Jeff Dalton wrote:
> 
> Can someone give a brief outline of what can be done with CL-HTTP
> that can't be done by running Common Lisp programs via the normal
> CGI interface?
>
How do you propose to implement the above features efficiently using
a CGI interface from say "httpd" to Common Lisp? There is no portable
CGI interface, CGI performance varies greatly from one OS to
the next... On most OS the cost of spawning a new process for
each new CGI request can be orders of magniture more costly
(in memory and performance) than CL-HTTP's use of lightweight
processes.
> 
> Although I've been on this mailing list for a while, I haven't
> been able to get a clear idea of what the advantages are.
> 
> -- jeff


References: