Designing Data-Intensive Web Applications

Web applications are complex systems, based on a variety of hardware and software components, protocols, languages, interfaces, and standards. This chapter proposes a "guided tour" through the ingredients that characterize Web applications; the progression of arguments is such that every new development can be interpreted as the natural consequence of problems exhibited by previous technological solutions. This approach may help you in consolidating within a clear reference framework some background knowledge you might have already, but perhaps not systematically organized.
The review starts with the basic technologies for building Web applications: HTTP the resource transfer protocol and HTML the language for writing hypertexts. The first section also describes client-side scripts and components that make a Web interface more interactive. HTTP and HTML alone enable the development of simple Web sites, but are insufficient for large and complex applications; in particular, HTML is limited in the number and expressive power of its tags, which embed presentation features inside pages. However, the latest version of HTML (HTML 4), and specifically the introduction of cascading style sheets, moves in the direction of separating content from presentation, which is essential for large scale applications.
The second section of this chapter presents the eXtensible Markup Language (XML) as an evolution of the concepts proposed by HTML 4; it shows that XML is totally independent of "look and feel" aspects, and that presentation can be super-imposed on XML documents by means of the eXtensible Stylesheet Language (XSL), a...