Citation
Paley, S. M. and Karp, P. D. Adapting CLIM Applications for Use on the World Wide Web, in Proceedings of the Association of Lisp Users Meeting and Workshop, pp. 1-9, 1995.
Abstract
The World Wide Web (WWW) offers the potential to deliver specialized information to an audience of unprecedented size. Along with this exciting new opportunity however comes a challenge for software developers: instead of rewriting our software applications to operate over the WWW how can we maximize software reuse by retrofitting existing applications? We have developed a Web server tool written in Common Lisp that allows any existing graphical user interface application written using the Common Lisp Interface Manager (CLIM) to hook easily into the WWW. This tool – CWEST (CLIM-WEb Server Tool, pronounced “quest” – has been developed to operate with EcoCyc, an electronic encyclopedia of genes and metabolism of the bacterium E. coli. EcoCyc consists of a database of objects relevant to E. coli biochemistry and a sophisticated interface, implemented in CLIM, that runs on the local host window system and generates graphical displays appropriate to each type of object. Each query to our server is passed as a command to the EcoCyc program, which responds by dynamically generating an appropriate local drawing. That drawing, which can be a mixture of text and graphics, is then translated into the HyperText Markup Language (HTML) and/or the Graphics Interchange Format (GIF) and returned to the client. Sensitive regions embedded in the CLIM drawing are converted to hyperlinks with Universal Resource Locators (URLs) that generate further EcoCyc queries. This tight coupling of CLIM output with Web output makes CLIM an ideal high-level programming tool for Web applications. The flexibility of Common Lisp and CLIM made implementation of the server tool surprisingly easy, requiring few changes to the existing EcoCyc program. The results can be seen at URL http://www.ai.sri.com/ecocyc/browser.html. We plan to make CWEST available to the CLIM community at large, with the hope that it will spur other software developers to make their CLIM applications available over the WWW.