Summary:
A Web service is a way of offering functionality over a network using open standards for description and invocation. Web services represent an important realization of Service-Oriented Architectures (SOA), using which, applications can be developed rapidly with a low cost by loosely coupling services over a network. This necessitates discovering and composing sets of interoperable services, according to some functional and non-functional requirements.

Web services face many challenges regarding their discovery and selection, due to several factors like: the fairly large number of services, the lack of public registries capable of offering efficient service retrieval mechanisms, their dynamic nature which imposes various QoS aspects such as availability, response time, etc., and the lack of semantics in their interface descriptions.

In this thesis, we are trying to satisfy two main objectives. Our first objective is to facilitate Web service selection and assure service continuity in Web service compositions. Therefore, we propose an approach based on Formal Concept Analysis (FCA) to classify Web services first by keywords then by similarity values between their operations. This classification is represented as a concept lattice that reveals the relations between the services, which facilitates the selection of a needed service as well as the identification of its potential backups (substitution in case of failure). Our second objective is to guide the user towards performing an optimized multi-criteria based selection. We define a user requirements descriptor than specifies the needed functional and non-functional properties. Inside this descriptor, functional properties are specified as a set of keywords. Non-functional properties represent the expected QoS levels (good, bad, medium, ..) as well as the composition of services expressed as links between the specified functional properties. In order to meet this objective, we propose an approach based on Relational Concept Analysis (RCA) that classifies Web services into concept lattices similar to FCA, but enriched with the non-functional properties. We also propose a mechanism to query the resulting RCA-based concept lattices, according to the requirements specified in the descriptor.

We validated our proposition using real Web services retrieved from Service-Finder and Seekda Web service search engines. For the FCA-based approach, we retrieved a total of 145 Web services that we classified by their functionality. We showed how to select efficiently a service offering the required functionality and how to identify its backups. For the RCA-based approach, we retrieved 901 Web services that we classified by their QoS and composability levels. We verified that the approach allows an efficient selection of services corresponding to the specified functional and non-functional requirements (QoS and composability).