You are here
Declarative Specification of Data-Intensive Web Sites
Integrated information systems are often realized as data-intensive Web sites, which integrate data from multiple data sources. We present a system, called Strudel, for specifying and generating data-intensive Web sites. Strudel separates the tasks of accessing and integrating a site's data sources, building its structure, and generating its HTML representation. Strudel's declarative query language, called StruQL, supports the first two tasks. Unlike ad-hoc database queries, a StruQL query is a software artifact that must be extensible and reusable. To support more modular and reusable site-definition queries, we extend StruQL with functions and describe how the new language, FunStruQL, better supports common site-engineering tasks, such as choosing a strategy for generating the site's pages dynamically and/or statically. To substantiate Strudel's benefits, we describe the re-engineering of a production Web site using FunStruQL and show that the new site is smaller, more reusable, and unlike the original site, can be analyzed and optimized.