Aspect-oriented Programming for Dynamic Web Service Selection, Integration and Management

  • Authors:
  • María Agustina Cibrán;Bart Verheecke;Wim Vanderperren;Davy Suvée;Viviane Jonckers

  • Affiliations:
  • System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium 1050;System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium 1050;System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium 1050;System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium 1050;System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium 1050

  • Venue:
  • World Wide Web
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In service-oriented computing, applications are often created by integrating third-party Web Services. Current integration approaches, however, require client applications to hardcode references to specific Web Services, thereby affecting adaptability and robustness. Moreover, support for client-side management is rarely provided. To enable the development of more flexible and robust applications, we propose to insert a new layer between the client applications and the Web Services: the Web Services Management Layer (WSML). This layer decouples Web Services from client applications and enables hot-swapping between semantically equivalent Web Services based on availability. This mechanism allows for dynamic switching between Web Services based on selection policies that encapsulate changing business requirements. In addition, with WSML, client-side management concerns (e.g., caching, billing and logging) can be decoupled from the applications. In this paper, we identify a list of requirements for WSML to realize dynamic integration and client-side service management, and provide support for service criteria to govern the selection, integration and composition of Web Services. We also show that dynamic Aspect-Oriented Programming (AOP) is well suited to implement the core functionality of WSML.