A reliable Web server that''s a good fit for sites withsexperience with scripting or open-source
June 5, 2002
Written completely in Tcl (Tool Command Language), the Tcl Web Server might not be the fanciest Web server under the sun, but what it lacks in bells and whistles it makes up for in reliability, stability, and openness. With a real-world track record - serving with solid performance the Ajuba Solutions Web site - the Tcl Web Server is a good fit for sites with experience with scripting or open-source software. Tcl Web Server is best thought of not as a static shrink-wrapped product, but rather as an outstanding Tcl script that can serve as the basis for your future httpd development efforts.
Tcl Web Server requires Tcl versions 7.5 or better (Tcl 8.0 is recommended; the current version of Tcl is 8.1). Ajuba Solutions, formerly Scriptics, the corporation founded by Tcl/Tk creator John Ousterhout, oversees Tcl Web Server development as well as general Tcl/Tk development. (Ajuba Solutions also sells commercial versions of Tcl.) Tcl is available on a wide variety of platforms - Linux, Windows NT, FreeBSD, NetBSD, and virtually every UNIX variant - and as such the Tcl Web Server is also available to run on the same number of platforms.
The Tcl Web Server uses the native Tcl I/O system to provide event-driven I/O facilities and run a primitive that copies data from one I/O channel to another. After the data is copied from the I/O channel, the server manages the HTTP protocol handling and directs the I/O system to send data from disk storage to a network socket.
This is a simple transaction, but that's not what makes Tcl Web Server worth your attention. Basically, since Tcl Web Server is a Tcl-based implementation of a Web server, it can generate dynamic page content using the standard data-processing tools inherent in Tcl. It also works well with legacy applications - Tcl is a good tool for processing data after being embedded into the legacy application - and it features SNMP integration, where the server can generate pages containing data from SNMP MIBs and include forms for configuring SNMP devices. (You'll need the Scotty network management extension for Tcl in order to implement SNMP, but this can be downloaded here.)
The support is the same as you'll find for most open-source software. While there's no formal support mechanism, there is an active development team that responds to electronic mail, and there's extensive documentation from the lead developer, Brent Welch, the noted Tcl author who covers the Tcl Web Server in his book Practical Programming in Tcl & Tk.
It is not a tool that's appropriate for all situations, however, and it's probably better as an embedded application than a standalone Web server in an enterprise situation. The authentication tools are limited, consisting of scrambled passwords, and there's no support for SSL, limiting Tcl Web Server's applicability for any secure or e-commerce solutions (SSL support is planned for a future release). Still, if you have a commitment to open-source technologies and experience with Tcl, and want to add HTTP output capabilities to an existing Tcl setup, then the Tcl Web Server is definitely worth a look.
Pros: Easy to install and configure, 7 Works best as embedded server in existing Tcl installation, 7 Suited to extracting data from legacy applications, 7 Support for SNMP, 7 Extensive cross-platform support
Cons: Limited security mechanisms
New: SNMP support, debugging tools