Modularization of Distributed Web Services Using Aspects with Explicit Distribution (AWED)

With the adoption of Web services technology to realize Service Oriented Architectures, the need arises for more flexible and dynamic technologies for the just-in-time integration and composition of services As the runtime integration, selection and management of services involves a variety of crosscutting concerns, such as error handling, service monitoring, and QoS enforcements, Aspect Oriented Programming (AOP) is useful to modularize such concerns. In this paper we investigate aspect-oriented support for crosscutting concerns of distributed management of web service compositions We propose to use a distributed AOP approach, Aspects with Explicit Distribution (AWED), to modularize such concerns in a distributed variant of the Web Services Management Layer (WSML) Concretely, we present three contributions First, we present an extension of the WSML to distributed compositions Second, we present two extensions to AWED's aspect language which are useful for the modularization of crosscutting concerns of web services: support for chains of (a)synchronous remote advice that communicate through futures, and support for different modes of parameter passing between remote pointcuts and advice Third, we illustrate our approach by investigating error handling in distributed web compositions.

[1]  Mario Südholt,et al.  An expressive aspect language for system applications with Arachne , 2005, AOSD '05.

[2]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[3]  Maja D'Hondt,et al.  Hybrid aspects for weaving object-oriented functionality and rule-based knowledge , 2004, AOSD '04.

[4]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[5]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[6]  Sunil Chandra,et al.  Decentralized orchestration of composite web services , 2004, WWW Alt. '04.

[7]  Thomas Ledoux,et al.  Aspect-Oriented Software Development , 2003 .

[8]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

[9]  Tzilla Elrad,et al.  Dynamic and Decentralized Service Composition: With Contextual Aspect-Sensitive Services , 2005, WEBIST.

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  Wim Vanderperren,et al.  Unraveling crosscutting concerns in web services middleware , 2006, IEEE Software.

[12]  Cristina V. Lopes,et al.  A study on exception detection and handling using aspect-oriented programming , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[13]  Mira Mezini,et al.  Aspect-Oriented Web Service Composition with AO4BPEL , 2004, ECOWS.

[14]  Olaf Zimmermann,et al.  Service-oriented architecture and business process choreography in an order management scenario: rationale, concepts, lessons learned , 2005, OOPSLA '05.

[15]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[16]  Éric Tanter,et al.  A Versatile Kernel for Distributed AOP , 2006, DAIS.

[17]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[18]  Wim Vanderperren,et al.  AOP for Dynamic Configuration and Management of Web Services , 2004, Int. J. Web Serv. Res..

[19]  Lidia Fuentes,et al.  DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development , 2003, GPCE.

[20]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[21]  Luis Daniel Benavides Navarro,et al.  Explicitly distributed AOP using AWED , 2006, AOSD '06.

[22]  S. Chiba,et al.  Remote pointcut: a language construct for distributed AOP , 2004, AOSD '04.

[23]  Wim Vanderperren,et al.  Stateful Aspects in JAsCo , 2005, SC@ETAPS.

[24]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[25]  Wouter Joosen,et al.  Isolating Process-Level Concerns Using Padus , 2006, Business Process Management.

[26]  Rémi Douence,et al.  Composition, reuse and interaction analysis of stateful aspects , 2004, AOSD '04.

[27]  John C. Grundy,et al.  An architecture for developing aspect-oriented Web services , 2005, Third European Conference on Web Services (ECOWS'05).

[28]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[29]  Andrew Clement,et al.  Large-scale AOSD for middleware , 2004, AOSD '04.

[30]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.