This paper describes the engineering foundations of VisualWADE, a CASE tool to automate the production of Web applications. VisualWADE follows a model-driven approach focusing on requirements analysis, high level design, and rapid prototyping. In this way, an application evolves smoothly from the first prototype to the final product, and its maintenance is a natural consequence of development. The paper also discusses the lessons learned in the development of the tool and its application to several case studies in the industrial context.
The rapid evolution of Internet in general and of the WWW in particular has promoted in recent years intensive research in the field of conceptual modeling of Web applications. This fact has induced a new research trend within Software Engineering known as Web Engineering. In this context, different methods, languages, tools and design patterns for Web modeling have been proposed. Some of the most relevant studied so far are HDM (Garzotto & Paolini, 1993), WebML (Ceri, Fraternali, & Bongio, 2000), OOHDM (Schwabe, Rossi, & Barbosa 1996), UWE (Koch & Kraus, 2002), ADM (Atzeni, Mecca, & Merialdo, 1998), and OO-H (Gómez, Cachero, & Pastor, 2001). These methods are centered mainly in the definition of navigational and presentational aspects relative to the semantic of models to capture relevant properties of Web environments. However, few are the proposals that have tried to apply their methods to solve complex real cases to verify the effectiveness of their modeling approach. Much lesser have been the attempts (successful or not) of building specific purpose tools for Web Engineering. We can mention WebRatio (2000), developed at the Politecnico di Milano, Italy, under the technical direction of Professor Piero Fraternali, or ArgoUWE (Knapp, Koch, Moser, & Zhang, 2001), developed at the Luwdig Maximilians University of Munich, Germany, under the technical direction of Dr. Nora Koch.
This article describes the engineering foundations of VisualWADE (2003), a CASE tool for the design and automatic production of Web applications based on the OO-H method developed at the University of Alicante. The underlying idea behind VisualWADE consists of an appropriate combination of simple concepts (modeling elements) that allow the designer to model and automatically generate any type of Web-based system, from a Web portal or company intranet to a secure Web site for electronic commerce. VisualWADE follows a model-driven approach with emphasis on the requirements analysis, high-level design, and rapid prototyping. In this way, an application softly evolves from the first prototype to the final product. As new requirements (or changes in current requirements) appear, the designer only have to revise the conceptual model, establish the changes and finally, regenerate the implementation. VisualWADE exploits a group of very well-known concepts to capture the complexity of real Web applications. The underlying method, OO-H (object oriented hypermedia), provides specific modeling elements to represent navigation maps based on a notation compatible with UML. The captured specification is compiled making use of model-based code generation techniques, and as a result, it produces a Web application with a default user interface. This user interface can be refined within the environment to obtain the final appearance of the Web application with the consequent increment of development productivity.
The article is organized as follows: The second section provides a brief introduction to the OO-H method to familiarize the reader with the modeling notation. The third section describes the basic aspects of modeling organized according to three different perspectives through which a Web application is modeled with VisualWADE (structure, navigation, and presentation). A running example (Web-based mail system) is used to describe the tool support. The fourth section presents advanced aspects of modeling, describing how the consistency between models is supported and giving a brief description of the model compilers that produce the final software artifacts. The fifth section describes the lessons learned by the development team that has created VisualWADE. These lessons are the result of the application of VisualWADE in the development of real Web engineering projects on various application domains (tax management, Internet banking, digital signatures). Finally, the article ends with some conclusions, based on our experience, about the evolution and the future of Web engineering methods, techniques and tools.