Paley, S. and Karp, P.D. Adapting EcoCyc for Use on the World Wide Web. Gene, vol. 172, no. 1, pp. GC43-50, 1996.
The World Wide Web (WWW) offers the potential to deliver specialized information to an audience of unprecedented size. Along with this exciting new opportunity 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 existing graphical user interface applications written using the Common Lisp Interface Manager (CLIM) to hook easily into the WWW. This tool – CWEST (CLIM-WEb Server Tool, pronounced “quest”) – was developed to operate with EcoCyc, an electronic encyclopedia of the genes and metabolism of the bacterium E. coli. EcoCyc consists of a database of objects relevant to E. coli biochemistry and a user interface, implemented in CLIM, that runs on the X-window system and generates graphical displays appropriate to biological objects. Each query to the EcoCyc WWW server is treated as a command to the EcoCyc program, which dynamically generates an appropriate CLIM drawing. CWEST translates that drawing, which can be a mixture of text and graphics, into the HyperText Markup Language (HTML) and/or the Graphics Interchange Format (GIF), which are returned to the client. Sensitive regions embedded in the CLIM drawing are converted to hyperlinks with Universal Resource Locators CURLS) that generate further EcoCyc queries. This tight coupling of CLIM output with Web output makes CLIM a powerful 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 have made 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.