Towards a General Component Model for Web-Based Applications

  • Authors:
  • Colin Atkinson;Christian Bunse;Hans-Gerhard Groß;Thomas Kühne

  • Affiliations:
  • Institute for Experimental Software Engineering, Sauerwiesen 6, D-67661 Kaiserlautern, Germany;Institute for Experimental Software Engineering, Sauerwiesen 6, D-67661 Kaiserlautern, Germany;Institute for Experimental Software Engineering, Sauerwiesen 6, D-67661 Kaiserlautern, Germany;Universität Kaiserslautern, AG Component Engineering, PO BOX 3049, D-67653 Kaiserslautern, Germany

  • Venue:
  • Annals of Software Engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The cost effective development of web applications is perhaps one of the most challenging areas of software engineering today. Not only are the problems to be solved, and the solution technologies to be used, in web application development among the most rapidly changing in the software industry, but the business pressures of cost, quality and time-to-market are among the most extreme. Web application development therefore has potentially the most to gain from software reuse approaches that can offer a greater return on development time than traditional approaches. However, simply combining ideas from these reuse paradigms and traditional web development technologies in ad-hoc ways will not result in sustainable improvements. In this paper we describe a systematic way of combining the benefits of component-based development and model driven architectures, two important reuse approaches, to support the cost effective development and maintenance of web applications. After first defining a suitably abstract component-model, the paper explains how component architectures can be systematically and rigorously modeled using UML. It then describes a powerful technique, known as stratification, for separating the various cross cutting aspects of a web application such that a suitable platform specific architecture can be traceably generated. Finally, the paper introduces a technique for increasing the trustworthiness of components by giving them the capability to check their deployment environment at run-time.