2004 Denver Annual Meeting (November 7–10, 2004)

Paper No. 2
Presentation Time: 1:30 PM-5:30 PM

CHIRON: A FRAMEWORK FOR BUILDING WEB INTERFACES


REED, Josh A., Dept. Electrical and Computer Engineering, Iowa State Univ, 2215 Coover, Ames, IA 50011, FILS, Douglas, Geological & Atmospheric Sciences, Iowa State Univ, 253 Science I, Ames, IA 50011, DIVER, Pat, DivDat Consulting, 3302 Mulberry Hill Lane, Houston, TX 77084 and CERVATO, Cinzia, Dept. of Geological and Atmospheric Sciences, Iowa State Univ, 253 Science I, Ames, IA 50011, jareed@iastate.edu

The enormous success of the Internet as a means to share information, files, and data has made the web browser a universal platform for data access. CHRONOS's goal is to provide data and services to the chronostratigraphic community. To accomplish this goal, and to reach the broadest possible audience, CHRONOS is also utilizing web interfaces to provide an intuitive portal to the data it hosts.

Web interfaces into different data sources or services often contain many lines of duplicated code. To minimize the amount of duplication, we have developed a framework, named Chiron after one of CHRONOS’s offspring in Greek mythology, for building web interfaces. This open-source, cross-platform framework takes care of common web interface tasks like navigation, parsing user input, and handling downloads so the developer can focus on writing the interface-specific code.

The main design goal for Chiron was modularity. The developer should only have to write the code to connect a database once. For all future web interfaces requiring database connectivity, he/she can simply reuse the database module written before. This highly modular design allows the developer to pick and choose from existing or newly developed modules to build the exact interface required.

Besides maximizing code reuse, the other benefit of Chiron's modular design is nearly infinite flexibility and extensibility. The framework is not tied to any specific application. Interfaces built on Chiron are currently being used by CHRONOS to provide database search capabilities, geologic timescale rendering capabilities, and dynamic web service invocation and experimentation capabilities. In addition to these scientific tasks, Chiron has also been used as a file sharing and ‘blogging’ platform.

Chiron achieves its modularity by partitioning the interface code into the natural dichotomy of Resources and Services. Resource modules define the mechanism for retrieving data from some particular source. Service modules define the actions that should be performed on the data retrieved from Resources.