Skip to main content

Tackling the Challenges of Integrating 3rd Party Software Using AspectJ

  • Chapter
Transactions on Aspect-Oriented Software Development VIII

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 6580))

Abstract

This article reports on the usage of aspect-orientation in an industrial project, which means that aspects are an active part of a real software product. Moreover, aspect-orientation, in particular the language AspectJ, is used to overcome several critical problems. Those problems are well motivated and discussed in detail. Some of them are hard to solve with conventional programming techniques whereas an AspectJ-based solution is very straight forward. Since some of the reported problems are not really of crosscutting nature, the solutions might be questionable. This leads to a discussion about the “political correctness” of this approach. Furthermore, the paper explains why and how the project management has been convinced to use AspectJ.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Proc. of 2nd Int. Conf. on Aspect-Oriented Software Development, Boston (2003)

    Google Scholar 

  2. Bodkin, R.: AOP@Work: Performance monitoring with AspectJ, http://www.128.ibm.com/developerworks/java/library/j-aopwork10/index.html

  3. Bodkin, R.: AOP@Work: Next Steps with Aspects, http://www.128.ibm.com/developerworks/java/library/j-aopwork-16

  4. Burke, B.: Implementing Middleware Using AOP. In: Proc. 4th Conf. on Aspect-Oriented Software Development, AOSD 2005, Chicago. ACM Press, New York (2005)

    Google Scholar 

  5. Bodkin, R., Furlong, J.: Gathering Feedback on User Behaviour using AspectJ. In: [7]

    Google Scholar 

  6. Colyer, A., Clement, A.: Large-scale AOSD for Middleware. In: Proc. 3rd Conf. on Aspect-Oriented Software Development, AOSD 2004, Lancaster. ACM Press, New York (2004)

    Google Scholar 

  7. Chapman, M., Vasseur, A., Kniesel, G. (eds.): Proc. of Industry Track 3rd Conf. on Aspect-Oriented Software Development, AOSD 2006. ACM Press, Bonn (2006)

    Google Scholar 

  8. Duck, A.: Implementation of AOP in Non-Academic Projects. In: [7]

    Google Scholar 

  9. Elrad, T., Filman, R., Bader, A. (eds.): Theme Section on Aspect-Oriented Programming. CACM 44(10) (2001)

    Google Scholar 

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

    MATH  Google Scholar 

  11. Govindraj, K., Narayanan, S., et al.: On Using AOP for Application Performance Management. In: [7]

    Google Scholar 

  12. Hibernate Reference Documentation, http://www.hibernate.org/hib_docs/v3/reference/en/html

  13. Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proc. of the 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2002, Seattle (2002)

    Google Scholar 

  14. Hohenstein, U.: Using Aspect-Orientation to Add Persistency to Applications. In: Proc. of Datenbanksysteme in Business, Technologie und Web (BTW), Karlsruhe (2005)

    Google Scholar 

  15. Hohenstein, U.: Using Aspect-Orientation to Manage Database Statistics. In: [7]

    Google Scholar 

  16. Java Persistence API, http://java.sun.com/javaee/technologies/persistence.jsp

  17. Joosen, W., Sanen, F., Truyen, E.: Dissemination of AOSD expertise – Support documentation. AOSD-Europe Project Deliverable No.: AOSD-Europe-KUL–8 (March 2006)

    Google Scholar 

  18. Kästner, C., Apel, S., Batory, D.: A Case Study Implementing Features Using AspectJ. In: Proc. Int. Software Product Line Conference (SPLC), Kyoto, IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  19. Kienzle, J., Guerraoui, R.: AOP: Does It Make Sense? The Case of Concurrency and Failures. In: Deng, T. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 37. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  20. Kienzle, J., Gélineau, S.: AO Challenge – Implementing the ACID Properties for Transactional Attributes. In: Masuhara, H., Rashid, A. (eds.) Proc of 5th Int Conf on Aspect-Oriented Software Development, Bonn, Germany (2006)

    Google Scholar 

  21. Kiczales, G.: Adopting AOP. In: Proc. 4th Conf. on Aspect-Oriented Software Development, AOSD 2005. ACM Press, Chicago (2005)

    Google Scholar 

  22. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming, 2nd edn. Manning, Greenwich (2008)

    Google Scholar 

  23. Laddad, R.: AOP@Work: Myths about AOP, http://www.128.ibm.com/developerworks/java/library/j-aopwork15

  24. Lesiecki, N.: Applying AspectJ to J2EE Application Development; IEEE Software (January/February 2006)

    Google Scholar 

  25. Murphy, G., Walker, A.R., Robillard, M.: Separating Features in Source Code: An Exploratory Study. In: Proc. of 23rd Int. Conf. on Software Engineering 2001 (2001)

    Google Scholar 

  26. Ostermann, K., Mezini, M., Bockisch, C.: Expressive Pointcuts for Increased Modularity. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  27. Rashid, A.: Aspect-Oriented Database Systems. Springer, Heidelberg (2004)

    Book  MATH  Google Scholar 

  28. Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: Aksit, M. (ed.) 2nd Int. Conf. on Aspect-Oriented Software Development, AOSD 2003, Boston. ACM Press, New York (2003)

    Google Scholar 

  29. Soares, S., Borba, P.: Implementing Modular and Reusable Aspect-Oriented Concurrency Control with AspectJ. In: WASP 2005, Uberländia, Brazil (2005)

    Google Scholar 

  30. Strunk, W.: The Symphonia Product-Line. In: Java and Object-Oriented (JAOO) Conference 2007, Arhus, Denmark (2007)

    Google Scholar 

  31. Wiese, D., Hohenstein, U., Meunier, R.: How to Convince Industry of Aspect-Orientation? In: 6th Int. Conf. on Aspect-Oriented Software Development, AOSD 2007, Vancouver. ACM Press, New York (2007)

    Google Scholar 

  32. Wiese, D., Meunier, R.: Large Scale Application of AOP in the Healthcare Domain: A Case Study. In: 7th Int. Conf. on Aspect-Oriented Software Development, AOSD, Brussels (2008)

    Google Scholar 

  33. Zhang, C., Jacobsen, H.-A.: Quantifying Aspects in Middleware Platforms. In: [1]

    Google Scholar 

  34. AspectJ Project Page: “AspectJ Ant Tasks”, http://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html

  35. Sullivan, K., Griswold, W., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: ESEC/SIGSOFT FSE 2005 (2005)

    Google Scholar 

  36. Griswold, W., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23(1) (January/February 2006)

    Google Scholar 

  37. Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., de Lucena, C.J.P., von Staa, A.: Modularizing design patterns with aspects: A quantitative study. In: Rashid, A., Liu, Y. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 36–74. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  38. CruiseControl, http://cruisecontrol.sourceforge.net/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hohenstein, U., Jaeger, M.C. (2011). Tackling the Challenges of Integrating 3rd Party Software Using AspectJ. In: Katz, S., Mezini, M., Schwanninger, C., Joosen, W. (eds) Transactions on Aspect-Oriented Software Development VIII. Lecture Notes in Computer Science, vol 6580. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22031-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22031-9_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22030-2

  • Online ISBN: 978-3-642-22031-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics