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.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Proc. of 2nd Int. Conf. on Aspect-Oriented Software Development, Boston (2003)
Bodkin, R.: AOP@Work: Performance monitoring with AspectJ, http://www.128.ibm.com/developerworks/java/library/j-aopwork10/index.html
Bodkin, R.: AOP@Work: Next Steps with Aspects, http://www.128.ibm.com/developerworks/java/library/j-aopwork-16
Burke, B.: Implementing Middleware Using AOP. In: Proc. 4th Conf. on Aspect-Oriented Software Development, AOSD 2005, Chicago. ACM Press, New York (2005)
Bodkin, R., Furlong, J.: Gathering Feedback on User Behaviour using AspectJ. In: [7]
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)
Chapman, M., Vasseur, A., Kniesel, G. (eds.): Proc. of Industry Track 3rd Conf. on Aspect-Oriented Software Development, AOSD 2006. ACM Press, Bonn (2006)
Duck, A.: Implementation of AOP in Non-Academic Projects. In: [7]
Elrad, T., Filman, R., Bader, A. (eds.): Theme Section on Aspect-Oriented Programming. CACM 44(10) (2001)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Govindraj, K., Narayanan, S., et al.: On Using AOP for Application Performance Management. In: [7]
Hibernate Reference Documentation, http://www.hibernate.org/hib_docs/v3/reference/en/html
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)
Hohenstein, U.: Using Aspect-Orientation to Add Persistency to Applications. In: Proc. of Datenbanksysteme in Business, Technologie und Web (BTW), Karlsruhe (2005)
Hohenstein, U.: Using Aspect-Orientation to Manage Database Statistics. In: [7]
Java Persistence API, http://java.sun.com/javaee/technologies/persistence.jsp
Joosen, W., Sanen, F., Truyen, E.: Dissemination of AOSD expertise – Support documentation. AOSD-Europe Project Deliverable No.: AOSD-Europe-KUL–8 (March 2006)
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)
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)
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)
Kiczales, G.: Adopting AOP. In: Proc. 4th Conf. on Aspect-Oriented Software Development, AOSD 2005. ACM Press, Chicago (2005)
Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming, 2nd edn. Manning, Greenwich (2008)
Laddad, R.: AOP@Work: Myths about AOP, http://www.128.ibm.com/developerworks/java/library/j-aopwork15
Lesiecki, N.: Applying AspectJ to J2EE Application Development; IEEE Software (January/February 2006)
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)
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)
Rashid, A.: Aspect-Oriented Database Systems. Springer, Heidelberg (2004)
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)
Soares, S., Borba, P.: Implementing Modular and Reusable Aspect-Oriented Concurrency Control with AspectJ. In: WASP 2005, Uberländia, Brazil (2005)
Strunk, W.: The Symphonia Product-Line. In: Java and Object-Oriented (JAOO) Conference 2007, Arhus, Denmark (2007)
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)
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)
Zhang, C., Jacobsen, H.-A.: Quantifying Aspects in Middleware Platforms. In: [1]
AspectJ Project Page: “AspectJ Ant Tasks”, http://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html
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)
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)
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)
CruiseControl, http://cruisecontrol.sourceforge.net/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)