Towards a General Component Model for Web-Based Applications

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, access via your institution.

References

  1. 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 

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

  3. 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.

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. 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 

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

  14. 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 

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

    Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

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

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

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

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

    Google Scholar 

  23. 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 

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

    Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

  28. 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.

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

  30. 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

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

Keywords

  • Software Industry
  • Software Reuse
  • Component Architecture
  • Challenging Area
  • Specific Architecture