8 - Deploying server applications
Advances in consumer technology are leading to demand for network server applications that can be installed and run by less technically experienced users.
Unlike traditional network or system administrators, these users are generally not trained in the details of deploying and administering network and server applications. Equally significantly, such users want to download and test server applications with the minimum of effort.
Server applications that aren't simple to install and configure risk being consigned quickly to the “too hard basket”. For developers of such applications hoping to reach this new audience, easy deployment of their software is critical.
Even web based server applications are often daunting when viewed from the perspective of a non-technical person performing an installation. Consider what needs to be done to implement a typical web based application like PHPWiki – downloading and installing source code, editing Apache configuration files, enabling the PHPinterpreter and configuring Apache to support it, making sure Apache is running (and will continue to run after a reboot), installing and configuring MySQL, configuring a Wiki user in MySQL, etc.
Mark Roseman, of CourseForum Technologies, has been a pioneer in the use of Starkits for deployment of commercial server applications. He recently presented a paper at the Tcl2003 conference in Ann Arbor, Michigan giving a detailed analysis of the issues involved with using Starkits to facilitate easy deployment of server spplications.
Roseman's paper shows that Starkits allow the development of single file, self-contained server applications that include an embedded web server and database – allowing for quick installation and all configuration to be performed through simple web based interfaces.
CourseForum Technologies produces two products – CourseForum and its sister product ProjectForum – both are collaborative applications similar to a Wiki but offering more advanced features (support for multiple groups, project areas within groups, forum-style posting, attachments, images, version history, page locking, multiple authentication schemes, activity tracking, branding support, and more). Both are implemented as a self-contained Starkit that are easy to install on a variety of platforms – including Linux, Windows and MacOSX.