Skip to main content
Log in

Towards a General Component Model for Web-Based Applications

  • Published:
Annals of Software Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Atkinson, C., J. Bayer, C. Bunse, O. Laitenberger, L. Laqua, E. Kamsties, P. Paech, J. Wüst, and J. Zettel (2001), Component Based Product Line Engineering with UML, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Atkinson, C. and T. Kühne (2002), “Stratified Frameworks, ” International Journal of Computing Science and Informatics, Informatica, accepted.

  • Atkinson, C., T. Kühne, and C. Bunse (1999), “Dimensions of Component-Based Development, ” In Fourth International Workshop on Component-Oriented Programming (WCOP'99; in conjunction with ECOOP'99), Lisbon, Portugal.

  • Bass, L., P. Clements, and R. Kazman (1998), Software Architecture in Practice, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Bosch, J. (2000), Design and Use of Software Architectures, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Cheesman, J. and J. Daniels (2000), UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Coleman D., P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes, and P. Jeremaes (1994), Object-Oriented Development: The Fusion Method, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Component+ (2001), “Built-In Testing for Component-Based Development, ” EC IST 5th Framework Project IST-1999–20162 (Component+) Technical Report, November.

  • Conallen, J. (1999), Building Web Applications with UML, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Cooks, S. and J. Daniels (1992), Designing Object Systems, Prentice-Hall, England.

    Google Scholar 

  • Cox, B.J. (1986), Object-Oriented Programming: An Evolutionary Approach, Addison-Wesley, Reading, MA.

    Google Scholar 

  • D'souza, D.F. and A.C. Wills (1998), Objects, Components and Frameworks with UML: The Catalysis Approach, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Jézéquel, J.M., D. Deveaux, and Y. LeTraon (2001), Reliable Objects: Lightweight Testing for OO Languages, IEEE Software.

  • Kiczales, G., J. Lampling, A. Mendhekar, C. Maeda, V. Lopez, J.-M. Loingtier, and J. Irwin (1997), “Aspect-Oriented Programming, ” European Conference on Object-Oriented Programming, Lecture Notes in Computer Sciences, Vol. 124, Springer, Berlin.

    Google Scholar 

  • Matena, V. and B. Stearns (2001), Applying Enterprise Java BeansTM, Addison-Wesley, Reading, MA.

    Google Scholar 

  • McKay, C.W. and C. Atkinson (1995), “Supporting the Evolution of Distributed, Non-Stop, Mission and Safety Critical Systems, ” Informatica 19, 1.

  • Meyer, B. (1997), Object-Oriented Software Construction, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Mill, H.D., R.C. Linger, and A.R. Hevner (1987), “Box structured information systems, ” IBM Systems Journal 26, 4, 395–413.

    Google Scholar 

  • OMG (2000), Unified Modeling Language Specification, Version 1.4, Object Management Group.

  • OMG (2001), Model-Driven Architecture, http://www.omg.org.

  • Robertson, R. (1997), “Integrating Legacy Systems with Modern Corporate Applications, ” Communications of the ACM 40, 5.

  • Robinson, P.J. (1992), Hierarchical Object-Oriented Design, Prentice-Hall, England.

    Google Scholar 

  • Rumbaugh, J., M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen (1991), Object-Oriented Modelling and Design, Prentice Hall International, Englewood Cliffs, NJ.

    Google Scholar 

  • Selic, B., G. Gullekson, and P.T. Ward (1994), Real-Time Object-Oriented Modeling, Willey, New York.

    Google Scholar 

  • Siegel, J. (1999), “OMG Overview: CORBA and the OMA in Enterprise Computing”, Communications of the ACM 41, 10.

  • Szyperski, C. (1999), Component Software: Beyond Object-Oriented Programming, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Tapadiya, P. (2000), COM+ Programming: A Practical Guide, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Wang, Y., King, G., Fayad, M., Patel, D., Court, I., Staples, G., and Ross, M. (2000), “On Built-in Tests Reuse in Object-Oriented Framework Design, ” ACM Journal on Computing Surveys 23, 1.

  • Webster, B.F. (1995), Pitfalls of Object-Oriented Development, M&T Books.

  • Weiss, D.M. and C.T.R. Lai (1999), Software Product Line Engineering: A Family Based Software Engineering Process, Addison-Wesley, Reading, MA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Atkinson, C., Bunse, C., Groß, HG. et al. Towards a General Component Model for Web-Based Applications. Annals of Software Engineering 13, 35–69 (2002). https://doi.org/10.1023/A:1016589208824

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1016589208824

Keywords

Navigation