Skip to main content

Applying a Generative Technique for Enhanced Genericity and Maintainability on the J2EE Platform

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3676))

Abstract

One of the themes in building reusable and maintainable software is identifying similarities and designing generic solutions to unify similarity patterns. In this paper, we analyze capabilities of J2EE to effectively unify similarity patterns found in Web Portals (WP). Our experimentation involved a family of WPs to support information sharing and team collaboration, built by our industry partner. While J2EE provides useful mechanisms for reuse of common services across components, we found its limitations in systematic across-the-board reuse in application domain-specific areas. To solve these problems, we applied a generative programming (GP) technique of XVCL on top of J2EE. By unifying similarity patterns, we increased the clarity of portal’s conceptual structure as perceived by developers, reducing also the size of the original J2EE WP by 61%. Our solution enhanced traceability of information that mattered during changes. Based on that we hypothesized that XVCL-enhanced J2EE WP would be easier to maintain than the original J2EE WP. In the paper, we describe our solution and evaluate its engineering merits in both quantitative and qualitative ways.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Active Server Pages – ASP, http://msdn.microsoft.com/asp.net

  2. Basit, H.A., Rajapakse, D.C., Jarzabek, S.: Beyond Templates: a Study of Clones in the STL and Some General Implications. In: Int. Conf. Software Engineering, ICSE 2005, St. Louis, USA, May 2005, pp. 451–459 (2005)

    Google Scholar 

  3. Basit, A.H., Jarzabek, S.: Detecting Higher-level Similarity Patterns in Programs. To appear in ESEC-FSE 2005, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Lisbon. ACM Press, New York (2005)

    Google Scholar 

  4. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. In: Proc. Int. Conf. on Software Engineering, ICSE 2003, Portland, Oregon, May 2003, pp. 187–197 (2003)

    Google Scholar 

  5. Batory, D., Singhai, V., Sirkin, M., Thomas, J.: Scalable software libraries. In: ACM SIGSOFT 1993: Symp. on the Foundations of Software Engineering, Los Angeles, California, December 1993, pp. 191–199 (1993)

    Google Scholar 

  6. Bosch, J.: Design and Use of Software Architectures – Adopting and evolving a product-line approach. Addison Welsey, London (2000)

    Google Scholar 

  7. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison Wesley, Reading (2002)

    Google Scholar 

  8. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  10. Garcia, R., et al.: A Comparative Study of Language Support for Generic Programming. In: Proc. 18th ACM SIGPLAN Conf. on Object-oriented Programming, Systems, Languages, and Applications, pp. 115–134 (2003)

    Google Scholar 

  11. Jarzabek, S., Li, S.: Eliminating Redundancies with a “Composition with Adaptation” Meta-programming Technique. In: Proceedings of ESEC-FSE 2003, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Helsinki, September 2003, pp. 237–246 (2003)

    Google Scholar 

  12. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  13. Len, B., Paul, C., Rick, K.: Software architecture in practice. Addison-Wesley, Reading (1998)

    Google Scholar 

  14. Parnas, D.: On the Criteria To Be Used in Decomposing Software into Modules. Communications of the ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  15. Pettersson, U., Jarzabek, S.: Industrial Experience with Building a Web Portal Product Line using a  Lightweight, Reactive Approach. To appear in ESEC-FSE 2005, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Lisbon. ACM Press, New York (2005)

    Google Scholar 

  16. Prieto-Diaz, R.: Domain analysis for reusability. In: Proc. COMPSAC 1987, Tokyo, Japan, October 1987, pp. 23–29 (1987)

    Google Scholar 

  17. Rajapakse, D.C., Jarzabek, S.: An Investigation of Cloning in Web Portals. In: Lowe, D.G., Gaedke, M. (eds.) ICWE 2005. LNCS, vol. 3579, pp. 252–262. Springer, Heidelberg (2005) (also poster at WWW 2005)

    Chapter  Google Scholar 

  18. Shaw, M., Garlan, D.: Software Architecture: Perspectives on Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  19. Soe, M.S., Zhang, H., Jarzabek, S.: XVCL: A Tutorial. In: Proceedings of 14th International Conference on Software Engineering and Knowledge Engineering (SEKE 2002), Ischia, Italy, pp. 341–349 (2002)

    Google Scholar 

  20. Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. International Conference on Software Engineering, ICSE 1999, Los Angeles, pp. 107–119 (1999)

    Google Scholar 

  21. Thompson, S.: Higher Order + Polymorphic = Reusable, unpublished manuscript available from the Computing Laboratory, University of Kent, http://www.cs.ukc.ac.uk/pubs/1997

  22. XVCL (XML-based Variant Configuration Language) method and tool for managing software changes during evolution and reuse, http://fxvcl.sourceforge.net

  23. Zhang, W., Jarzabek, S.: Reuse without Compromising Performance: Experience from RPG Software Product Line for Mobile Devices. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 57–69. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jun, Y., Jarzabek, S. (2005). Applying a Generative Technique for Enhanced Genericity and Maintainability on the J2EE Platform. In: Glück, R., Lowry, M. (eds) Generative Programming and Component Engineering. GPCE 2005. Lecture Notes in Computer Science, vol 3676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561347_17

Download citation

  • DOI: https://doi.org/10.1007/11561347_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29138-1

  • Online ISBN: 978-3-540-31977-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics