Menu Expand
Designing Data-Intensive Web Applications

Designing Data-Intensive Web Applications

Stefano Ceri | Piero Fraternali | Aldo Bongio | Marco Brambilla | Sara Comai | Maristella Matera

(2003)

Additional Information

Book Details

Abstract

The most prominent Web applications in use today are data-intensive. Scores of database management systems across the Internet access and maintain large amounts of structured data for e-commerce, on-line trading, banking, digital libraries, and other high-volume sites.
Developing and maintaining these data-intensive applications is an especially complex, multi-disciplinary activity, requiring all the tools and techniques that software engineering can provide. This book represents a breakthrough for Web application developers. Using hundreds of illustrations and an elegant intuitive modeling language, the authors—all internationally-known database researchers—present a methodology that fully exploits the conceptual modeling approach of software engineering, from idea to application. Readers will learn not only how to harness the design technologies of relational databases for use on the Web, but also how to transform their conceptual designs of data-intensive Web applications into effective software components.
* A fully self-contained introduction and practitioner's guide suitable for both technical and non-technical members of staff, as well as students.
* A methodology, development process, and notation (WebML) based on common practice but optimized for the unique challenges of high-volume Web applications.
* Completely platform- and product-independent; even the use of WebML is optional.
* Based on well-known industry standards such as UML and the Entity Relationship Model.
* Enhanced by its own Web site (http://www.webml.org), containing additional examples, papers, teaching materials, developers' resources, and exercises with solutions.
As described by the authors, the goal of this book is the proposal of a mix of concepts, notations, and techniques for the construction of data-intensive Web applications, which can be used by Web development teams to support all the activities of the application lifecycle, from analysis to deployment and evolution.The authors achieve this purpose, and provide an easy to read, but more importantly, an easy to follow set of instructions, methods, and examples to guide programmers in moving to the data-intensive applications that the more dynamic Web and portal technologies require. The books combination and extension of known modeling techniques in a new constellation, to create a new software engineering technique, may well prove to be its major contribution. The creativity of the combination of techniques to form a method is remarkable, as is the books easy pedagogic style.
A conceptual modeling language, Web Markup Language (WebML) is introduced in the text. This language follows the entity-relationship (E-R) model and Universal Markup Language (UML) syntax, and thus will be natural for those familiar with E-R and UML. This language is used to guide the reader in specifying and designing a Web application, including requirements specification, data design, and hypertext design. A data intensive Web application is a Web site that accesses and maintains large amounts of structured data. Most current Web sites and emerging application sites are of this nature.
Four major sections are contained in the book. The first section is a technology overview that gives the reader a basic foundation in Web application software. Models for designing Web applications are covered in the second section, which covers the E-R modeling tools and UML in a very readable way that leads to the introduction of hypertext and content modeling. Section 3 covers the design of these models, and the development of these models into something that can be implemented. Finally, the last section covers implementation techniques, starting with an architecture for creating such implementations.
The text is presented in a clear and very easy to understand style. Examples abound. The book is intended for those who wish to learn these techniques in order to apply them in Web and portal applications. The authors indicate that this book might be used as a text for a course in Web design. For the practitioner who has a basic understanding of data systems, this text would be a very concise and useful book to help create and document applications. If used as an undergraduate text for an elective, this book could provide students with a very useful set of sound modeling techniques, software engineering principles, and best practices for important systems currently in development across the world.

The applicability of these software engineering and modeling techniques to data intensive sites with structured and unstructured data is apparent, as long as there is structured metadata associated with the unstructured data. Thus, it would seem this book has significant practical value to all those creating Web sites, community communication sites, and portal applications,and in the creation of sites in the foreseeable future.
--E.A. Unger, ACM Communications