Web services are a new breed of applications that endorse large support from main vendors from industry as well as academia. As the Web services paradigm becomes more mature, its management is crucial to its adoption and success. Existing approaches are often limited to the platforms under which management features are provided. In this chapter, we propose an approach to provide a unique central console for management of both functional and nonfunctional aspects of Web services. In fact, we aim at the development of a framework to provide management features to providers and clients by supporting management activities all along the lifecycle. The framework allows/forces providers to consider management activities while developing their Web services. It allows clients to select appropriate Web services using different criteria (e.g., name, quality, etc.). Clients also make use of the framework to check if the Web services they are actually using or planning to use are behaving correctly. We evaluate the Web services management features of our framework using a composite Web service.
Web services standard is a recent paradigm of emerging Web components. It combines a set of technologies, protocols, and languages to allow automatic communication between Web applications through the Internet. A Web service is any application that exposes its functionalities through an interface description and makes it publicly available for use by other programs. Web services can be accessed using different protocols, different component models, and running on different operating systems. They usually use hypertext transfer protocol (HTTP) (W3C, 1999) as a fundamental communication protocol, which carries exchanged messages between Web services and their clients. Web services use extensible markup language (XML)-based (W3C, 2006) messaging as a fundamental means of data communication.
Research on Web services has focused more on interfacing issues, that is, simple object access protocol (SOAP) (W3C, 2004), Web services description language (WSDL) (WSDL, 2001), and universal description, discovery, and integration (UDDI) (OASIS, 2005). Until recently, considerable efforts have been conducted to address the issues of management of Web services in service-oriented architecture (SOA).
Web services management is among the hot issues that are not yet mature. Ongoing research from academia and industry are still emerging. Management of Web services is critical for their success because they are being actually used in a wide range of applications, ranging from entertainment, finance, and healthcare to real-time critical applications. Management issues in Web service can be divided into two dimensions: (1) management of functional aspects, namely fault management, and (2) management of nonfunctional aspects such as quality of service (QoS). Quality of a Web service, referred to as QoWS in this chapter, reflects the quality of a Web service, both in terms of correctness of functional behaviour and level of supported QoS. A Web service supporting QoWS is said to be QoWS-aware.
Nowadays, management of Web services is highly platform-dependent which implies the following limitations: (1) management features are usually available to Web services providers but often not to other partners (e.g., clients, third parties); (2) management solutions are usually restricted to only one management aspect, functional or nonfunctional; and (3) most of management solutions require considerable amount of computer and network resources to be deployed and used.
The first limitation restricts the utilization of management information to providers who are using it to assess the QoWS of their Web services. However, other entities involved in SOA industry might need to use this information as well. Clients can use this information during discovery and selection of Web services so they can figure out those with desirable QoWS. Moreover, many providers are likely to offer Web services providing similar functionalities but with quite different QoWS. In such a competitive market, attraction and loyalty of clients are primarily based on high standards of provided QoWS.
In SOA, a significant amount of work is taking place to allow both Web services providers and their clients to define and concisely use QoWS during publication, discovery, and invocation of Web services. For example, to select from a set of potential Web services, the one which is mostly available, and has a low response time and/or an acceptable utilization fee is preferable.
This chapter presents our approach for management of Web services. This approach provides a unique central environment for management of both functional and nonfunctional aspects of Web services. In fact, we aim at the development of a framework to provide management features to Web services providers and clients by supporting management activities all along the lifecycle of a Web service, from specification to invocation. The framework allows/forces providers to consider management activities while developing their Web services. In fact, the provider should concisely and precisely describe QoWS factors during design and implementation of the Web service. These factors will/shall be used latter by clients to select appropriate Web services during the discovery and selection operations. Clients also make use of the framework to check if the Web services they are actually using or planning to use are behaving correctly in terms of functional and nonfunctional facets.