Web service discovery based on semantic information: query formulation and adaptive matchmaking

Service-oriented Computing introduces a range of possible applications spanning from the combination of Web services in software mashups to the design and implementation of entire IT system landscapes following the paradigm of Service-oriented Architectures. The discovery of services which provide a desired capability is one of the basic operations in Service-oriented Computing and is deemed to be one of the grand challenges in Web service research. This applies in particular to scenarios with a large number of service offers, where it is desirable to automate the discovery process to some degree. Service discovery is based on the description of service components, e.g., interfaces or operations. As the syntactic description of a Web service is often imprecise, semantic Web services are considered to play a decisive role in the facilitation of service discovery. In this context, the application and utilization of semantic information in service discovery concerns the ability of service providers to describe services, the ability of requesters to specify requirements, and the effectiveness of the service matchmaker, i.e., an algorithm that takes into account a request and finds the best fitting services from a set of service offers. Matchmaking research focuses on the selection of the necessary elements from a service description, similarity metrics, and the combination of the resulting similarity values. This thesis provides several contributions to the improvement and ease of service discovery based on semantic information. The main contributions are made in the fields of service matchmaking and query formulation. Regarding the first-mentioned contribution, two approaches to matchmaking for semantic Web services are presented. The first of which, LOG4SWS.KOM, is based on "classical" subsumption matching and introduces an innovative way to weight and combine different matching degrees. LOG4SWS.KOM is self-adaptive to different basic assumptions regarding the semantic concepts applied in a service description. This includes different presumptions regarding what a semantic annotation on a distinct service abstraction level actually denotes as well as the meaning of different subsumption relationships between semantic concepts. LOG4SWS.KOM is applied to different abstraction levels of a service description, which may not necessarily be completely described using semantic information. Hence, the matchmaker includes a linguistic-based fallback strategy, triggering the need to incorporate syntactic information. The second matchmaker, COV4SWS.KOM, deviates from logic-based similarity measurement and applies methods from the field of relatedness measurement of semantic concepts in ontologies. This way, COV4SWS.KOM allows more fine-grained relationships than conventional subsumption matching-based approaches. Additionally, COV4SWS.KOM introduces the adaptation to varying quality and usefulness of syntactic descriptions and semantic annotations at different abstraction levels of a service description. Both matchmakers are implemented for SAWSDL and provide, to the best of our knowledge, the best matchmaking results for this Web service standard regarding Information Retrieval metrics, so far. Regarding the second focus of this thesis - query formulation for semantic Web service discovery - an extensive analysis of requirements towards a unified service query formalism has been conducted. Based on this analysis, two different approaches to query formulation for semantic Web services have been designed, developed, and implemented. The first is a lightweight approach making use of already existing standards and technologies: Here, a slightly extended SPARQL syntax for SAWSDL-based service descriptions is integrated into UDDI. However, the usage of existing standards imposes some constraints, as especially SPARQL has not been explicitly designed for query formulation for semantic Web services. Hence, a second, more advanced approach, has been implemented, where a distinct, SPARQL-based query language is conceptualized and integrated in a service registry. This language - SWS2QL - allows a service requester to address different service abstraction levels, incorporate and parameterize matchmakers, define thresholds, etc., leading to a sophisticated, fine-grained definition of service requests. Even though the corresponding proof of concept implementation makes use of ebXML as service registry standard and SAWSDL as service formalism, results can be easily transferred to other registry and service technologies, as the approach is based on abstract service data and query models. This way, a unified service query formalism is provided. Apart from the main contributions, this thesis also provides a general framework based on ebXML, which features the integration of semantic Web service descriptions and different service matchmakers into this registry standard.