skip to main content
10.1145/1119655.1119670acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Doxpects: aspects supporting XML transformation interfaces

Published:20 March 2006Publication History

ABSTRACT

In the web services environment software development can involve writing both object-oriented programs and XML transformations. This can be seen in the popular Web Services architecture. In this architecture, crosscutting concerns are often manifest as transformations on XML messages; encrypting messages, adapting between schemas types or adding extra-functional elements such as transaction contexts can be seen as prime examples. Some existing middleware platforms provide support for Handlers where crosscutting message transformation concerns can be addressed. Although handlers localize some concerns, they do not support the sound software-engineering principle of "programming to an interface". This prevents a clean mapping from design to implementation and inhibits useful static checking which could take advantage of a well specified interface. To address this and similar design challenges, we have developed Doxpects, which solve many problems with the existing handler approach to implementing these new crosscutting concerns. We describe an AOP abstraction called the content-based pointcut which integrates support for XML transformation to enable implementation of crosscutting concerns with good modularity properties. We present examples based on XML encryption and service interoperability implemented on top of the Apache Axis Web Services middleware.

References

  1. Baligand, F. and Monfort, V. A Concrete Solution for Web Services Adaptability using Policies and Aspects. In Proc. of the International Conference on Service-oriented Computing, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Benzaken, V., Castagna, G., and Frisch, A. CDuce: An XML-Centric General Purpose Language. In Proceedings of the ACM International Conference on Functional Programming, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Charfi, A. and Mezini, M. Aspect-Oriented Web Service Composition with AO4BPEL. In Proc. of the European Conference on Web Services, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Clarke, M., Blair, G., Coulson, G. and Parlavantzas, N. An efficient component model for the construction of adaptive middleware. In Proc. of the International Conference on Distributed Systems Platforms (Middleware), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Courbis, C. and Finkelstein, A. Towards Aspect Weaving Applications. In Proc. of the International Conference on Software Engineering, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. De Line, R. Avoid packaging mismatch with flexible packaging. In Proc. of the International Conference on Software Engineering, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Eichberg, M., Mezini, M, and Ostermann, K. Pointcuts as functional queries. In Proc. of the Asian Symposium on Programming Languages and Systems, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  8. Fleury, M. and Reverbel, F. The JBoss Extensible Server. In Proc. of the International Middleware Conference, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Handy, B. and Suciu, D. XViz: a tool for visualizing XPath expressions. In Proc. of the XML database symposium, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  10. Kiczales, G. and Mezini, M. Aspect-Oriented Programming and Modular Reasoning. In Proc. of the International Conference on Software Engineering, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kirkegaard, C., Moller, A. and Scwartzback, M. Static Analysis of XML Transformations in Java. IEEE Transactions on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kosek, Jirka. Understanding the node-set() Function. <www.xml.com/pub/a/2003/07/16/nodeset.html>Google ScholarGoogle Scholar
  13. Laemmel, R. and Visser, E. Strategic Programming Meets Adaptive Programming. In Proc. of the International Conference on Aspect-Oriented Programming, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lieberherr, K., Patt-Shamir, B. and Orleans, D. Traversals of object structures: Specification and Efficient Implementation. ACM Transactions on Programming Languages and Systems, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Miklau, G. and Suciu, D. Containment and equivalence for a fragment of XPath. Journal of the ACM, 51:1, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Narasimhan, P. Moser, L. E. and Melliar-Smith, P. M. Using interceptors to enhance CORBA. IEEE Computer, 32(7):62--68, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ponnekanti, S. and Fox, A. Interoperability among Independently Evolving Web Services. In Proc. of the International Conference on Middleware, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Popovici, A. Gross, T., Alonso, G. Dynamic Weaving for Aspect Oriented Programming. In Proc. of the International Conference on Aspect-Oriented Software Development, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Provost, Will. Integrating Services with XSLT. O'Reilly WebServices.XML. <http://webservices.xml.com/pub/a/ws/2003/09/30/integrating.html>.Google ScholarGoogle Scholar
  20. Rinard, M., Salcianu, A., Bugrara, S. A Classification System and Analysis for Aspect-Oriented Programs. In Proc. of the Symposium on Foundations of Software Engineering, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Wang, N., Parameswaran, K., and Schmidt, D. The Design and Performance of Meta-Programming Mechanisms for Object Request Broker Middleware.Google ScholarGoogle Scholar
  22. Web Services Secure Conversation Language. 2005. <http://specs.xmlsoap.org/ws/2005/02/sc/WS-SecureConversation.pdf>.Google ScholarGoogle Scholar
  23. Wohlstadter E., Jackson S., and Devanbu P. DADO: Enhancing Middleware to Support Cross-Cutting Features in Distributed, Heterogeneous Systems. In Proc. of the International Conference of Software Engineering, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Wohlstadter, E. Tai, S. Mikalsen, T. Rouvellou, I. and Devanbu, P. GlueQoS: Middleware to sweeten quality services policy interactions. In Proc. of the International Conference on Software Engineeering, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. WSS4J <http://ws.apache.org/wss4j/>.Google ScholarGoogle Scholar
  26. XMLBeans. Version 2. <http://xmlbeans.apache.org/>Google ScholarGoogle Scholar
  27. XML Encryption. W3C. 2001. <http://www.w3.org/Encryption/2001/>Google ScholarGoogle Scholar

Index Terms

  1. Doxpects: aspects supporting XML transformation interfaces

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development
          March 2006
          247 pages
          ISBN:159593300X
          DOI:10.1145/1119655

          Copyright © 2006 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 March 2006

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate41of139submissions,29%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader