Advertisement

Annals of Software Engineering

, Volume 13, Issue 1–4, pp 35–69 | Cite as

Towards a General Component Model for Web-Based Applications

  • Colin Atkinson
  • Christian Bunse
  • Hans-Gerhard Groß
  • Thomas Kühne
Article

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.

Keywords

Software Industry Software Reuse Component Architecture Challenging Area Specific Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  20. OMG (2001), Model-Driven Architecture, http://www.omg.org.Google Scholar
  21. Robertson, R. (1997), “Integrating Legacy Systems with Modern Corporate Applications, ” Communications of the ACM 40, 5.Google Scholar
  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.Google Scholar
  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.Google Scholar
  29. Webster, B.F. (1995), Pitfalls of Object-Oriented Development, M&T Books.Google Scholar
  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

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Colin Atkinson
    • 1
  • Christian Bunse
    • 1
  • Hans-Gerhard Groß
    • 1
  • Thomas Kühne
    • 2
  1. 1.Institute for Experimental Software EngineeringKaiserlauternGermany
  2. 2.AG Component EngineeringUniversität KaiserslauternKaiserslauternGermany

Personalised recommendations