Since the first Web page went online in 1990, the rapid development of the World Wide Web has been continuously influencing the way we manage and acquire personal or corporate information. Nowadays, the WWW is much more than a static information medium, which it was at the beginning. The expressive power of modern programming languages is at the full disposal of Web application developers, who continue to surprise Web users with innovative applications having feature sets and complexity, which are comparable to that of traditional desktop applications. The global availability of information and applications make the WWW a very attractive medium for both private and business purposes.
Accordingly, Web application development is an important topic both in industry and research. Unfortunately, most Web application development projects are still conducted in an ad-hoc manner, without relying on a well-defined software development process. Mistakes that have been made in the early days of software development are often repeated in current day Web projects. Some experts even speak of the Web crisis referring to the software crisis of the 1970s. Therefore, it is advisable that Web projects start to employ appropriate software development processes. On the one hand, this seems like an easy task, as there already exist a multitude of process models designed for software development. On the other hand, Web applications have some unique features that make it difficult to apply a standard development process. Therefore, there is a great need for methods and tools that are specific to Web applications and can be employed for standard development processes.
Over the last decade, the Web engineering research community has produced numerous methods for Web application development. Most of these methods are model-based, i.e., they propose (graphical) models that capture different aspects of a Web application and are intended to be used in the design phase of a development process. Most methods employ three types of models that capture the application's content, navigation structure and presentational aspects. A strong focus is usually on modeling content and the application's navigational characteristics. However, as Web applications get increasingly interactive and incorporate content management features, it gets more and more important to support the modeling of content management functionality. Unfortunately, most methods treat content management operations as second-class citizens. They are usually considered only on a very abstract level and are incorporated into existing models, which produces various problems.
This work presents the flashWeb method, which fills in many gaps that are left open by existing solutions. First, the method introduces the additional Operation Model, which can be used to explicitly specify content management operations. Operations are represented by model elements that can be combined in a flexible manner into composite operations, which represent more complex pieces of application logic. Second, the flashWeb method introduces a novel approach to combine different models by employing direct graphical connections between model elements. Finally, the method is supported by a CAWE tool that allows to create flashWeb models and to generate a fully-functional Web application from them.