Title:AllegroServe - a Web Application Server
Description:Keywords:Body:AllegroServe - a Web Application Server
AllegroServe - a Web Application Server
Description
AllegroServe has these components:HTTP/1.1 compliant web server capable of serving static and dynamic pagesHTML 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 SSLhigh performance for static and dynamic web page deliveryLicensed 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.The AllegroServe Reference Manual describes the client and server functions.The AllegroServe Tutorial shows how easy it is to run AllegroServe and publish pages.The HTML Generation manual describes the language for generating HTML dynamically.
References
The HTTP/1.1 Specification.The HTML 4.01 Specification.The multiprocessing extension to Common Lisp used in AllegroServeThe network socket extension to Common Lisp used by AllegroServe.
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
AllegroServe on Sourceforge - we've hosted an AllegroServe project on SourceForge in order to get more visibility. The real home of the project is on http://opensource.franz.com.Portable AllegroServe - Modifications to AllegroServe to make it run on Lisps other than Allegro Common Lisp.The source for the popular if* macro used throughout AllegroServeCL-HTTP - another webserver written in Lisp.
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 SourceThis 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.