by Wieland Schwienger
Module 1 - Overview on Web Engineering and Web Application Modelling (1 h)
The World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment – there is hardly any part of our daily lives that has not been pervaded by the World Wide Web, or Web for short (Ginige and Murugesan 2001). The reason for this omnipresence lies especially in the very nature of the Web, which is characterized by global and permanent availability and comfortable and uniform access to often widely distributed information producible by anyone in the form of Web pages (Berners-Lee 1996, Murugesan et al. 1999). While originally the Web was designed as a purely informational medium, it is now increasingly evolving into an application medium (Ginige and Murugesan 2001, Murugesan et al. 1999).
Modern Web applications are full-fledged, complex software systems. Therefore, the development of Web applications requires a methodologically sound engineering approach. Based on Software Engineering, Web Engineering comprises the use of systematic and quantifiable approaches in order to accomplish the specification, implementation, operation, and maintenance of high quality Web applications. We distinguish Web applications from the viewpoints of development history and complexity: Web applications can have document centric, interactive, transactional, or ubiquitous characteristics, or even features of the semantic Web. The particular requirements of Web Engineering result from the special characteristics of Web applications in the areas of the software product itself, its development, and its use.
One of the main corner stones of engineering approaches in other disciplines, like architecture, is modeling prior realization. Nevertheless, it is not (yet) common to model Web applications in practice. This is unfortunate as a model-based approach provides a better alternative to the ad-hoc development of Web applications and its inherent problems, such as insufficient fulfillment of requirements, faulty specification, or missing system documentation. Models represent a solid starting point for the implementation of a Web application. Models consider static and dynamic aspects on the content, hypertext, and presentation levels of a Web application. While the content model is similar to the model of a non-Web application, the hypertext model represents all kinds of navigation possibilities based on existing information. The presentation model maps hypertext structures to pages and their links.
This module discusses Web Engineering as emerging discipline pointing out the particular characteristics of web applications. As defining a model of the Web application to be, is a prerequisite of tackling the development of Web application, an overview on Web application modeling is given. The main concepts, the spectrum of existing methods and the tools available to model Web applications and their highlights are presented.
Module Content
- Is Web Engineering an own discipline?
- Categories of Web Applications
- Characteristics of Web Applications
- Why Modelling of Web Applications
- The Design Space of Web Application Modelling
- Overview on Existing Modelling Methods
- The Starting Point of Modelling
- General Concepts of Content Modelling
- General Concepts of Hypertext Modelling
- General Concepts of Presentation Modelling
- Tool Support
- Open Issues
Module 2 - Overview on Engineering Issues in Ubiquitous Web Applications (2 h)
E-commerce and m-commerce have dramatically boosted the demand for services which enable ubiquitous access. Ubiquity offers new opportunities and challenges in terms of time-aware, location-aware, device-aware and personalized services. The fundamental objective of ubiquitous Web applications is to provide services not only to people at any time, any where, with any media but specifically to communicate the right thing at the right time in the right way. The user should be enabled to interact efficiently with the application despite restrictions in the physical environment, thus preserving semantic equivalence of services and to take advantage from knowledge about the situation of use, leading to semantic enhancement of services. The pre-requisite for this is that the application is aware of it's context. For developing ubiquitous Web applications, one must understand what context is to determine its relevancy and how it can be exploited for adapting the provided services towards this context, called customisation. Not least to customisation, the development of ubiquitous Web applications is far from easy and calls for appropriate modelling techniques. The inclusion of context information, such as user, time, place, and device used, and the adaptation of the Web application derived from this information, has gained increasing attention in modelling efforts. This is undoubtedly a consequence of ubiquitous Web applications that have become increasingly popular.
This module gives an overview on the characteristics of ubiquitous Web applications along with the challenges in terms of customization support. A rule-based approach will be presented for addressing customization. Finally, two case studies will be presented to demonstrate to the participants the broad spectrum of ubiquity.
Module Content:
- Motivation for Ubiquitous Web Applications
- Customization to Deal with Ubiquity
- Genesis of Customization
- Design Space of Customization
- A Rule-Based Approach to Deal With Customization
- Examples
- LiMoG – An example of a Light-weight Ubiquitous Web Application
- Applying Customization for Supporting People with Special Needs
|