WeeNet Summer School > Contents > Web Application Design
  The School   People   Contents   Lectures' Material   Videos   Logistic Info   Blog   Pictures   Thanks to...    
Contents
Web Application Design
Web services
Quality Assurance - Evaluation
The challenges of the NOW Economy
 
Web Application Design

by Symeon Retalis

The key concepts of design patterns will be presented. Specific design problems for web-based systems will be identified and ways on how these problems can be solved using design patterns will be analyzed. The trainers will give specific examples on patterns, handouts with guidelines for forming design patterns, etc.


by Daniel Schwabe

This short course will examine "model-driven" web application design and  implementation. The approach used is based on the SHDM method, which uses meta-modeling techniques combined with the use of Domain Specific Languages(DSL's).

This will be a hands-on workshop, in which students will develop an application using the HyperDE environment, which we developed, and is freely available on the net.

The schedule of classes is as follows:

  1. Day 1
    • Introduction/Overview (1h)
    • Requirements Modeling
    • Use of User Interaction Diagrams to model requirements
  2. Day 2
    • Conceptual Modeling
    • Brief overview of OO modeling
    • Navigation Modeling - Navigational Classes
    • Motivation for separate navigation model, definition of navigation classes
    • Project activity: Start modeling the example problem
  3. Day 3
    • Navigation Modeling - Contexts and Access Structures
    • Definition of contexts and access structures, and how they support user tasks
    • Project activity: Navigation modelling of example problem
  4. Day 4
    • Interface Design
    • Brief discussion on interface models, the use of abstract interfaces
    • Project activity: Introduction to HyperDE – undestanding the enviroment, start of implementation of solution to example problem
  5. Day 5
    • Project activity: Finishing the implementation of example problem
    • Wrap-up: Overview of what has been done, Discussion on further work


by Vicente Pelechano

Summary:
Software Development in a near future would need software architects that should be prepared to develop advanced CASE Tools giving support to Model Driven Development in specific domains. This lecture presents an overview of the Model Driven Development approach and introduces the key characteristics of the MDA and Software Factories proposals. Next, the most relevant techniques and tools for building customized CASE tools that automate the software production are presented. Concretely, we explain techniques and tools: for specifying domain specific languages (metamodelling) and building repositories, for building graphical editors, and for defining model-to-model and model-to-text transformations. Our intention is to provide a solid background for achieving the dream of the Automatic Code Generation from Conceptual Models. Some tutorials and practical experiences with Eclipse (EMF-GMF-MOFScript) and MS DSL Tools are explained.

Contents:
  • Introducing Model Driven Software Development
    •        Motivation, History and Evolution
    •        MDA
    •        Software Factories
    •        UML vs. Domain Specific Languages
  • Designing Tools for Conceptual Modelling and Code Generation
    •        Automated Software Production Methods. Elements and Phases.
    •        Defining Modelling Languages and Repositories.
    •        Desingning and Implementing Visual Editors
    •        MOdel to Model Transformation
    •        Model to Code Transformation
    •        Industrial CASE Tools


by Gustavo Rossi

Advanced issues in Web Applications design: Role Modeling and Business Processes

We introduce the problems that arise when Web applications have to deal with objects providing different sets of services according to the usage context and when Web pages (nodes in a hypermedia) must exhibit different information and links according to the navigation path. We show how a smart use of object roles can help to solve the problem. We give examples related with mobile hypermedia.
We next explain the problem of modeling business processes, particularly the need to maintain consistency throughout a process and how these problems can be solved by modeling processes and activities as first class objects.

Separation of concerns in Web applications. From requirements to design

We show that complex Web applications have to deal with a myriad of different concerns (functional and non-functional) and show how to clearly identify them early during requirements to find crosscuttings and decide the best architectural choices during design


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

  1. Is Web Engineering an own discipline?
  2. Categories of Web Applications
  3. Characteristics of Web Applications
  4. Why Modelling of Web Applications
  5. The Design Space of Web Application Modelling
  6. Overview on Existing Modelling Methods
  7. The Starting Point of Modelling
  8. General Concepts of Content Modelling
  9. General Concepts of Hypertext Modelling
  10. General Concepts of Presentation Modelling
  11. Tool Support
  12. 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:

  1. Motivation for Ubiquitous Web Applications
  2. Customization to Deal with Ubiquity
  3. Genesis of Customization
  4. Design Space of Customization
  5. A Rule-Based Approach to Deal With Customization
  6. Examples
    1. LiMoG – An example of a Light-weight Ubiquitous Web Application
    2. Applying Customization for Supporting People with Special Needs


by Luca Cernuzzi

Agents: a Technological Opportunity
Arguably, software engineering’s most significant improvements have resulted from the introduction of powerful abstractions with which to manage software’s inherent complexity. Agents orientation is an interesting and growing paradigm in software engineering to model and develop different types of systems. This tutorial introduces the mainly concepts related to this paradigm and analyzes the implication for software engineering systems based on agents and multi-agents technology. 


by Marco Ronchetti



 

more rss...

powered by segue
segue_logo