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.
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.
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