As the Web service (WS) paradigm gains popularity for its promise to transform the way business is conducted, the number of deployed WSs grows with a fast rate. While sophisticated semantic discovery mechanisms have been devised to overcome the UDDI’s syntactic discovery solution in order to increase recall and precision, the amount of functionally equivalent WSs returned is still large. One solution to this problem is the description of the nonfunctional aspects of WSs, including quality of service (QoS). QoS encompasses the performance of WSs and can be used as a discriminating factor for refining WS advertisement results. However, most efforts presented so far are purely syntactic in nature and do not capture all aspects of QoS-based WS description, leading to imprecise syntactic discovery mechanisms. In this chapter, a definition of QoS for WSs is provided and its important role in WS management is emphasized. An analysis of the requirements that are imposed on the WS description and discovery processes based on QoS is given along with a review of related work in QoS-based WS description and discovery, highlighting the main deficiencies of recent approaches. Then, a complete semantic approach for QoS-based WS description and discovery is presented and analyzed. The chapter concludes by drawing directions for further research.
Web services (WSs) are modular, self-describing, loosely-coupled, platform, and programming language-agnostic software applications that can be advertised, located, and used across the Internet using a set of standards such as SOAP, Web service description language (WSDL) (Christensen, Curbera, Meredith, & Weerawarana, 2001), and UDDI. They encapsulate application functionality and information resources, and are made available through standard programmatic interfaces. Service-oriented architectures (SOAs) (Papazoglou, 2003) promise to enable the creation of business applications from independently developed and deployed services. A key advantage of SOAs is that they enable services to be dynamically selected and integrated at runtime, thus enabling system flexibility and adaptability, which are vital autonomic attributes for modern business needs.
The dynamic selection of services in SOA is actually the outcome of the WS discovery process. This process takes as input the description of the requested WS and the descriptions of the advertised WSs that are published in WS registries or repositories. It is separated into two subprocesses: matchmaking and selection. The matchmaking subprocess matches each WS advertisement with the WS request. The resulting matches are ordered in decreasing order based on user-given criteria by the WS selection subprocess. As a result, WS requesters are assisted in selecting the best candidate WS according to their criteria. The dynamic integration of WSs is the task of the WS composition process that in turn depends on the WS discovery process. However, this process is out of the scope of this chapter and will not be further analyzed.
Unfortunately, current techniques for WS discovery only partially address the SOA vision. These techniques rely on static descriptions of service interfaces and other general nonfunctional service attributes for publishing and finding WSs. This situation creates two problems. First, syntactic discovery efforts return results with low precision and recall. Second, no means are provided in order to select among multiple services that appear to deliver the same functionality.
The first problem is addressed by combining Semantic Web and WS technologies. Ontologies are used, which provide meaning to concepts and relationships between them and thus lead to semantic WS descriptions and discovery algorithms. These enhanced discovery algorithms equipped with Semantic Web technologies provide more precise and recallable results. One recent result of the joint Semantic Web and WS efforts is OWL-S (Sycara et. al., 2003), which is a W3C member submission.
The second problem can be addressed by taking into account a big subset of all possible nonfunctional properties of WSs, collectively referred to as quality of service (QoS). QoS does not only encompass network characteristics like bandwidth, latency, or jitter but it is used in a broader end-to-end sense. It encompasses any characteristic of the service host, the service implementation, the intervening network, and the client system that may affect the quality of the service delivered. Therefore it has a substantial impact on users’ expectations from a service and can be used as a discriminating factor among functionally equivalent WS advertisements. Thus WS descriptions must be enhanced with QoS descriptions. Additionally, WS discovery algorithms should perform QoS-based filtering (matchmaking) and ranking (selection) on WS advertisements in order to produce fewer ranked results.
Unfortunately, all research efforts in QoS-based WS description provide a syntactic, poor, and nonextensible QoS model. This has the effect that concepts like “availability” are matched even if they are differently defined. As a result, QoS-based WS offers and demands are not properly aligned and the QoS-based WS discovery processes return results with low precision and recall. However, even if some form of semantics is used, users tend to have different conceptualizations of the same entities. So the above problem still remains. In addition, current QoS-based WS discovery algorithms are either ineffective and inaccurate or they do not provide advanced categorization of results. Moreover, they do not produce useful results when the QoS-based WS demands are over-constrained.