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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Charfi, A. and Mezini, M. Aspect-Oriented Web Service Composition with AO4BPEL. In Proc. of the European Conference on Web Services, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- Courbis, C. and Finkelstein, A. Towards Aspect Weaving Applications. In Proc. of the International Conference on Software Engineering, 2005. Google ScholarDigital Library
- De Line, R. Avoid packaging mismatch with flexible packaging. In Proc. of the International Conference on Software Engineering, 1999. Google ScholarDigital Library
- Eichberg, M., Mezini, M, and Ostermann, K. Pointcuts as functional queries. In Proc. of the Asian Symposium on Programming Languages and Systems, 2004.Google ScholarCross Ref
- Fleury, M. and Reverbel, F. The JBoss Extensible Server. In Proc. of the International Middleware Conference, 2003. Google ScholarDigital Library
- Handy, B. and Suciu, D. XViz: a tool for visualizing XPath expressions. In Proc. of the XML database symposium, 2003.Google ScholarCross Ref
- Kiczales, G. and Mezini, M. Aspect-Oriented Programming and Modular Reasoning. In Proc. of the International Conference on Software Engineering, 2005. Google ScholarDigital Library
- Kirkegaard, C., Moller, A. and Scwartzback, M. Static Analysis of XML Transformations in Java. IEEE Transactions on Software Engineering. Google ScholarDigital Library
- Kosek, Jirka. Understanding the node-set() Function. <www.xml.com/pub/a/2003/07/16/nodeset.html>Google Scholar
- Laemmel, R. and Visser, E. Strategic Programming Meets Adaptive Programming. In Proc. of the International Conference on Aspect-Oriented Programming, 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- Miklau, G. and Suciu, D. Containment and equivalence for a fragment of XPath. Journal of the ACM, 51:1, 2004. Google ScholarDigital Library
- Narasimhan, P. Moser, L. E. and Melliar-Smith, P. M. Using interceptors to enhance CORBA. IEEE Computer, 32(7):62--68, 1999. Google ScholarDigital Library
- Ponnekanti, S. and Fox, A. Interoperability among Independently Evolving Web Services. In Proc. of the International Conference on Middleware, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- Provost, Will. Integrating Services with XSLT. O'Reilly WebServices.XML. <http://webservices.xml.com/pub/a/ws/2003/09/30/integrating.html>.Google Scholar
- 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 ScholarDigital Library
- Wang, N., Parameswaran, K., and Schmidt, D. The Design and Performance of Meta-Programming Mechanisms for Object Request Broker Middleware.Google Scholar
- Web Services Secure Conversation Language. 2005. <http://specs.xmlsoap.org/ws/2005/02/sc/WS-SecureConversation.pdf>.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- WSS4J <http://ws.apache.org/wss4j/>.Google Scholar
- XMLBeans. Version 2. <http://xmlbeans.apache.org/>Google Scholar
- XML Encryption. W3C. 2001. <http://www.w3.org/Encryption/2001/>Google Scholar
Index Terms
- Doxpects: aspects supporting XML transformation interfaces
Recommendations
The large cardinals between supercompact and almost-huge
AbstractI analyze the hierarchy of large cardinals between a supercompact cardinal and an almost-huge cardinal. Many of these cardinals are defined by modifying the definition of a high-jump cardinal. A high-jump cardinal is defined as the critical point ...
Interaction awareness for aspect refactoring
AOAsia '13: Proceedings of the 8th international workshop on Advanced modularization techniquesAspect Refactoring includes two phases: aspect mining and aspect extraction. Aspect mining is used to identify crosscutting concerns from the OO program. Aspect extraction extracts the identified crosscutting concerns from the OO program and refactors ...
Comments