AllegroServe - a Web Application Server
Description
AllegroServe has these components:
- HTTP/1.1 compliant web server capable of serving static and dynamic pages
- HTML generation facility that seamlessly merges html tag printing with computation of dynamic content. The HTML generator matches perfectly with the HTML parser (which is in another project) to allow web pages to be read, modifed in Lisp and then regenerated.
- HTTP client functions to access web sites and retrieve data.
- Secure Socket Layer (SSL) for both the server and client.
- Web Proxy facility with a local cache.
- Comprehensive regression test suite that verifies the functionality of the client, server, proxy and SSL
- high performance for static and dynamic web page delivery
- Licensed under terms that ensure that it will always be open source and that encourages its use in commercial settings.
We've recently added these features:- A new publish function that builds a page from static and dynamic data and handles caching of the result.
- Access control mechanisms for publishing directories that gives the webmaster the ability to specify which files and directories in the tree should be visible.
- The ability to run external CGI programs.
- An improved virtual hosting system that supports different logging and error streams for each virtual host.
Author
John Foderaro, Franz Inc.
Author's Comments
The server part of AllegroServe can be used either as a standalone web server or a module loaded into an application to provide a user interface to the application. AllegroServe's proxy ability allows it to run on the gateway machine between a company's internal network and the internet.AllegroServe's client functions allow Lisp programs to explore the web.
AllegroServe was also written and open sourced as a way to demonstrate network programming in Allegro Common Lisp.
AllegroServe was written according to a certain coding standard to demonstrate how Lisp programs are more readable if certain macros and special forms are avoided.
Release History
AllegroServe releases occur when significant new features or bug fixes are made. The ChangeLog file that is part of the distribution describes the changes in each release.
This is a sample of a ChangeLog file but may not be the most up to date version of that file.
Documentation
The links below may not point to the most up to date versions of the documents referenced. The appropriate documentation for any version of AllegroServe is found in the AllegroServe distribution.
References
Platform
AllegroServe works on all versions of Allegro Common Lisp since 5.0.1.
Building
The instructions for building AllegroServe from source are located in the file
source-readme.txt.
Dependencies
There are no dependences for AllegroServe.
Files
AllegroServe is distributed as a gzipped tar file. Windows users can use
WinZip to recover the files from this type of archive. All releases of AllegroServe are found at
ftp://ftp.franz.com/pub/aserve/ and you'll likely want to choose the one with the highest version number.
CVS users can access the AllegroServe CVS respository using these instructions. Using CVS allows you to make changes to the AllegroServe source and have them automatically merged into newer versions of AllegroServe.
Links
License
The aserve source code is licensed under the terms of the Lisp Lesser GNU Public License,
known as the LLGPL. The LLGPL consists of a preamble and the LGPL. Where
these conflict, the preamble takes precedence. aserve is referenced in the preamble as the LIBRARY.
Open Source
This project is hosted on the http://opensource.franz.com site. There is an informal community support and development mailing
list (opensource@franz.com) for these open source projects. We encourage
you to take advantage by subscribing to the list. Click here to
subscribe or unsubscribe. Once you're subscribed, send email to
opensource@franz.com with your questions, comments, suggestions, and
patches.