Run-Time Adaptation of Non-functional Properties of Composite Web Services Using Aspect-Oriented Programming

Existing web service composition and adaptation mechanisms are limited only to the scope of web service choreography in terms of web service selection/invocation vis-a-vis pre-specified Service Level Agreement constraints. Such a scope hardly leaves ground for a participating service in a choreographed flow to re-adjust itself in terms of changed non functional expectations and most often these services are discarded and new services discovered to get inducted into the flow. In this paper, we extend this idea by focusing on run-time adaptation of non-functional features of a composite Web service by modifying the non-functional features of its component Web services. We use aspect-oriented programming (AOP) technology for specifying and relating non-functional properties of the Web services as aspects at both levels of component and composite. This is done via a specification language for representing non-functional properties, and a formally specifiable relation function between the aspects of the component Web services and those of the composite Web service. From the end users' viewpoint, such upfront aspect-oriented modeling of non-functional properties enables on-demand composite Web service adaptation with minimal disruption in quality of service. We demonstrate the applicability and merits of our approach via an implementation of a simple yet real-life example.

[1]  Fabio Casati,et al.  An Aspect-Oriented Framework for Service Adaptation , 2006, ICSOC.

[2]  Anne H. H. Ngu,et al.  Declarative composition and peer-to-peer provisioning of dynamic Web services , 2002, Proceedings 18th International Conference on Data Engineering.

[3]  Mira Mezini,et al.  Hybrid web service composition: business processes meet business rules , 2004, ICSOC '04.

[4]  Diego Calvanese,et al.  A Foundational Vision of e-Services , 2003, WES.

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

[6]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[7]  Tzilla Elrad,et al.  Joinpoint Inference from Behavioral Specification to Implementation , 2007, ECOOP.

[8]  Zakaria Maamar,et al.  Decoupling Security Concerns in Web Services Using Aspects , 2006, Third International Conference on Information Technology: New Generations (ITNG'06).

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

[10]  Maria. Cibran,et al.  Modularizing Web Services Management with AOP , 2003 .

[11]  Luciano Baresi,et al.  WS-Policy for Service Monitoring , 2005, TES.

[12]  Premkumar T. Devanbu,et al.  GlueQoS: middleware to sweeten quality-of-service policy interactions , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  Gustavo Alonso,et al.  Just-in-time aspects: efficient dynamic weaving for Java , 2003, AOSD '03.

[14]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[15]  Luca Cardelli,et al.  ECOOP 2003 – Object-Oriented Programming , 2003, Lecture Notes in Computer Science.

[16]  Kevin J. Ma Web services: what's real and what's not? , 2005, IT Professional.

[17]  Winfried Lamersdorf,et al.  Service-Oriented Computing - ICSOC 2006, 4th International Conference, Chicago, IL, USA, December 4-7, 2006, Proceedings , 2006, ICSOC.

[18]  Mira Mezini,et al.  Reliable, Secure, and Transacted Web Service Compositions with AO4BPEL , 2006, 2006 European Conference on Web Services (ECOWS'06).

[19]  Zakaria Maamar,et al.  On Modeling and Developing Self-Healing Web Services Using Aspects , 2007, 2007 2nd International Conference on Communication Systems Software and Middleware.

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

[21]  Gustavo Alonso,et al.  Dynamic AOP with PROSE , 2005, CAiSE Workshops.

[22]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.