Skip to main content

AspectJ2EE = AOP + J2EE

Towards an Aspect Based, Programmable, and Extensible Middleware Framework

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3086))

Abstract

J2EE is a middleware architecture augmented with supporting tools for developing large scale client/server and multi-tier applications. J2EE uses Enterprise JavaBeans as its component model. The realization of these components by a J2EE application server can be conceptually decomposed into distinct aspects such as persistence, transaction management, security, and load balancing. However, current servers do not employ aspect-oriented programming in their implementation. In this paper, we describe a new aspect language, AspectJ2EE, geared towards the generalized implementation of J2EE application servers, and applications within this framework. AspectJ2EE can be easily employed to extend the fixed set of services that these servers provide with new services such as logging and performance monitoring. Even tier-cutting concerns like encryption, data compression, and memoization can be added while avoiding the drags of cross-cutting and scattered code.

AspectJ2EE is less general (and hence less complicated) than AspectJ, yet demonstrably powerful enough for the systematic development of large scale (and distributed) applications. The introduction of parameterized aspects makes aspects in AspectJ2EE more flexible and reusable than aspects in AspectJ.

AspectJ2EE also generalizes the process of binding services to user applications in the application server into a novel deploy-time weaving of aspects. Deploy-time weaving is superior to traditional weaving mechanisms, in that it preserves the object model, has a better management of aspect scope, and presents a more understandable and maintainable semantic model.

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   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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. Shannon, B., Hapner, M., Matena, V., Davidson, J., Davidson, J., Cable, L.: Java 2 Platform, Enterprise Edition: Platform and Component Specifications. Addison-Wesley, Reading (2000)

    Google Scholar 

  2. DeMichiel, L.G., Yalçinalp, L.U., Krishnan, S.: Enterprise JavaBeans specification, version 2.0 (2001), http://java.sun.com/j2ee/

  3. Kiczales, G., Lamping, J., Menhdhekar, 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 

  4. Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with AspectJ. In: Proceedings of OOPSLA 2002, Object Oriented Programming Systems Languages and Applications, ACM Press, New York (2002)

    Google Scholar 

  5. Hao, R., Boloni, L., Jun, K., Marinescu, D.C.: An aspect-oriented approach to distributed object security. In: Proceedings of The Fourth IEEE Symposium on Computers and Communications, IEEE Press, Los Alamitos (1999)

    Google Scholar 

  6. Kim, H., Clarke, S.: The relevance of AOP to an applications programmer in an EJB environment. In: First International Conference on Aspect-Oriented Software Development (AOSD) Workshop onAspects, Components, and Patterns for Infrastructure Software, ACP4IS (2002)

    Google Scholar 

  7. Choi, J.P.: Aspect-oriented programming with Enterprise JavaBeans. In: 4th International Enterprise Distributed Object Computing Conference (EDOC 2000), pp. 252–261. IEEE Computer Society, Los Alamitos (2000)

    Chapter  Google Scholar 

  8. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–355. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. American National Standards Institute, Inc.: Programming language – COBOL,ANSI X3.23– 1985 edition (1985)

    Google Scholar 

  10. Shannon, B.: Java 2 platform enterprise edition specification, v1.3 (2001), http://java.sun.com/-j2ee/1.3/download.html#platformspec

  11. Laddad, R.: AspectJ inAction: Practical Aspect-Oriented Programming, Manning, Greenwich (2003)

    Google Scholar 

  12. Pichler, R., Ostermann, K., Mezini, M.: On aspectualizing component models. Software – Practice and Experience 33, 957–974 (2003)

    Article  Google Scholar 

  13. Bodoff, S., Green, D., Haase, K., Jendrock, E., Pawlan, M., Stearns, B.: The J2EE Tutorial. Addison-Wesley, Reading (2002)

    Google Scholar 

  14. Duclos, F., Estublier, J., Morat, P.: Describing and using non functional aspects in component based applications. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development (AOSD 2002), pp. 22–26 (2002)

    Google Scholar 

  15. Weinschenk, C.: The application server market is dead; long live the application server market (2003), http://www.serverwatch.com/tutorials/article.php/2234311

  16. JBoss Group: JBoss product homepage (2003), http://www.jboss.org/

  17. Burke, B., Brock, A.: Aspect-oriented programming and JBoss (2003), http://www.onjava.com/-lpt/a/3878

  18. Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), ACM Press, New York (2003)

    Google Scholar 

  19. Walker, R.J., Baniassad, E.L.A., Murphy, G.C.: An initial assessment of aspect-oriented programming. In: IEEE International Conference on Software Engineering (ICSE), pp. 120–130 (1999)

    Google Scholar 

  20. Constantinides, C.A., Elrad, T., Fayad, M.E.: Extending the object model to provide explicit support for crosscutting concerns. Software – Practice and Experience 32, 703–734 (2002)

    Article  MATH  Google Scholar 

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

    Google Scholar 

  22. Cohen, T., Hadad, E.: An enhanced framework for providing explicit support for crosscutting concerns in object-oriented languages. Submitted to Software – Practice and Experience (2004)

    Google Scholar 

  23. Sun Microsystems, Inc.: rmic - the Java RMI compiler (2003), http://java.sun.com/j2se/1.4.2/docs/-tooldocs/solaris/rmic.html

  24. Corp, I.B.M.: IBM WebSphere Application Server product family homepage (2003), http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=products/appserv

  25. Bracha, G., Cook, W.: Mixin-based inheritance. In: Meyrowitz, N. (ed.) Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications / Proceedings of the European Conference on Object-Oriented Programming, Ottawa, Canada, pp. 303–311. ACM Press, New York (1990)

    Chapter  Google Scholar 

  26. Allen, E., Bannet, J., Cartwright, R.: A first-class approach to genericity. In: Proceedings of OOPSLA 2003, Object Oriented Programming Systems Languages and Applications, ACM Press, New York (2003)

    Google Scholar 

  27. Chan, P., Lee, R., Kramer, D.: The Java Class Libraries., 2nd edn., vol. 1. Addison-Wesley, Reading (1998)

    Google Scholar 

  28. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cohen, T., Gil, J.(. (2004). AspectJ2EE = AOP + J2EE. In: Odersky, M. (eds) ECOOP 2004 – Object-Oriented Programming. ECOOP 2004. Lecture Notes in Computer Science, vol 3086. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24851-4_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24851-4_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22159-3

  • Online ISBN: 978-3-540-24851-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics