Skip to main content

An Aspect-Oriented Communication Middleware System

  • Conference paper
On the Move to Meaningful Internet Systems 2005: CoopIS, DOA, and ODBASE (OTM 2005)

Abstract

This paper describes a Java-based communication middleware, called AspectJRMI, that applies aspect-oriented programming concepts to achieve the following requirements: (1) modular implementation of its features, including those with a crosscutting behavior; (2) high degree of configurability and adaptability; (3) performance similar to conventional object-oriented communication middleware systems, such as CORBA and Java RMI. In AspectJRMI, users may explicitly select the features provided by the middleware infrastructure, according to their needs. Most of these features have a crosscutting behavior, including interceptors, oneway calls, asynchronous calls, value-result parameter passing, and collocation optimizations. In this case, they are implemented as aspects. The design of AspectJRMI follows a set of principles, called horizontal decomposition, to achieve pluggability of aspects to the core middleware implementation. This paper presents the programming interface and the implementation of AspectJRMI. It also presents experimental results of its performance.

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, J., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: abc: An extensible AspectJ compiler. In: 4th International Conference on Aspect-Oriented Software Development, pp. 87–98. ACM Press, New York (2005)

    Chapter  Google Scholar 

  2. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, J., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Optimising AspectJ. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 117–128. ACM Press, New York (2005)

    Chapter  Google Scholar 

  3. Blair, G.S., Coulson, G., Andersen, A., Blair, L., Clarke, M., Costa, F.M., Duran-Limon, H.A., Fitzpatrick, T., Johnston, L., Moreira, R.S., Parlavantzas, N., Saikoski, K.B.: The design and implementation of Open ORB 2. IEEE Distributed Systems Online 2(6) (2001)

    Google Scholar 

  4. Cardelli, L., Davies, R.: Service combinators for web computing. IEEE Transactions on Software Engineering 25(3), 309–316 (1999)

    Article  Google Scholar 

  5. Clarke, M., Blair, G.S., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 160–178. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  6. Cohen, T., Gil, J.: AspectJ2EE = AOP + J2EE. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 219–243. Springer, Heidelberg (2004)

    Google Scholar 

  7. Colyer, A., Clement, A.: Large-scale AOSD for middleware. In: 3rd International Conference on Aspect-Oriented Software Development, pp. 56–65. ACM Press, New York (2004)

    Chapter  Google Scholar 

  8. Eichberg, M., Mezini, M.: Alice: Modularization of middleware using aspect-oriented programming. In: Gschwind, T., Mascolo, C. (eds.) SEM 2004. LNCS, vol. 3437, pp. 47–63. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. JacORB, http://www.jacorb.org

  10. JBossAOP, http://www.jboss.org/developers/projects/jboss/aop

  11. 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 

  12. Kon, F., Román, M., Liu, P., Mao, J., Yamane, T., Magalhães, L.C., Campbell, R.: Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In: IFIP/ACM International Conference on Distributed Systems Platforms. LNCS, vol. 1795, pp. 121–143. Springer, Heidelberg (2000)

    Google Scholar 

  13. Krishna, A.S., Schmidt, D.C., Raman, K., Klefstad, R.: Enhancing real-time CORBA predictability and performance. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1092–1109. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. Object Management Group. The common object request broker: Architecture and specification revision 3.0.2 (December 2002)

    Google Scholar 

  15. Orbacus, http://www.orbacus.com

  16. ORBit2, http://orbit-resource.sourceforge.net

  17. Pereira, F.M., Valente, M.T., Bigonha, R., Bigonha, M.: Arcademis: A framework for object oriented communication middleware development. Software Practice and Experience (2005) (to appear)

    Google Scholar 

  18. Pratap, R.: Efficient customizable middleware. Master’s thesis, Department of Computer Science and Engineering, Washington University (2003)

    Google Scholar 

  19. Román, M., Kon, F., Campbell, R.: Reflective middleware: From your desk to your hand. Distributed Systems Online 2(5) (July 2001)

    Google Scholar 

  20. Schmidt, D.C., Cleeland, C.: Applying patterns to develop extensible and maintainable ORB middleware. IEEE Communications 37(4), 54–63 (1999)

    Article  Google Scholar 

  21. Schmidt, D.C., Wang, N., Vinoski, S.: Object interconnections collocation optimizations for CORBA. SIGS C++ Report 10(9) (1999)

    Google Scholar 

  22. Singhai, A., Sane, A., Campbell, R.H.: Quarterware for middleware. In: 18th International Conference on Distributed Computing Systems (ICDCS), pp. 192–201. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  23. Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with AspectJ. In: 17th ACM Conference on Object-Oriented programming systems, languages, and applications, pp. 174–190. ACM Press, New York (2002)

    Chapter  Google Scholar 

  24. Wollrath, A., Riggs, R., Waldo, J.: A distributed object model for the Java system. In: 2nd Conference on Object-Oriented Technologies & Systems, pp. 219–232. USENIX (1996)

    Google Scholar 

  25. Zhang, C., Gao, D., Jacobsen, H.-A.: Towards just-in-time middleware architectures. In: 4th International Conference on Aspect-Oriented Software Development, pp. 63–74. ACM Press, New York (2005)

    Chapter  Google Scholar 

  26. Zhang, C., Jacobsen, H.-A.: Quantifying aspects in middleware platforms. In: 2nd International Conference on Aspect-Oriented Software Development, pp. 130–139. ACM Press, New York (2003)

    Chapter  Google Scholar 

  27. Zhang, C., Jacobsen, H.-A.: Refactoring middleware with aspects. IEEE Transactions Parallel and Distributed Systems 14(11), 1058–1073 (2003)

    Article  Google Scholar 

  28. Zhang, C., Jacobsen, H.-A.: Resolving feature convolution in middleware systems. In: 19th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, pp. 188–205. ACM Press, New York (2004)

    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

de Oliveira Valente, M.T., Tirelo, F., Leao, D.C., Silva, R.P. (2005). An Aspect-Oriented Communication Middleware System. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2005: CoopIS, DOA, and ODBASE. OTM 2005. Lecture Notes in Computer Science, vol 3761. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11575801_12

Download citation

  • DOI: https://doi.org/10.1007/11575801_12

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-32120-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics