We observe that current approaches for the integration of Web services hard-wire the service references into client applications, affecting adaptability and reusability. Moreover, support for client-side management is hardly provided. To enable the development of more flexible and robust applications we propose the Web Services Management Layer (WSML). In this article we identify the requirements for the WSML to realize dynamic integration, client-side service management, and support for service criteria to govern the selection, integration and composition of Web services. We show how dynamic AOP, and in particular the dynamic aspect-oriented language JAsCo, is ideally suited to implement the core functionality of the WSML.
In service-oriented computing, applications are often created by integrating thirdparty 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.
Abstract. In Service-Oriented Application Development, applications are composed by selecting and integrating third-party web services. To avoid hardwiring concrete services in client applications we introduced in previous work the Web Services Management Layer (WSML) and suggested a redirection mechanism based on Aspect Oriented Programming (AOP). Even though this mechanism enables hot swapping between semantically equivalent services based on their availability, this is not enough to create applications that are driven by business requirements. In this paper we introduce a more advanced selection mechanism that allows dynamic switching between services based on business driven requirements that can change over time. Choosing a service may be done based on cost, presence on approved partners list, as well as binding support, quality of service classifications, historical performance and proximity. We introduce a modular monitoring mechanism that is able to observe these criteria and trigger a more advanced service selection procedure. We show how the AOP language JAsCo with its dynamically pluggable aspects is well suited to achieve this.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.