Summary: | La méthode de conception des architectures orientées services (SOA) est basée sur des standards et permet de créer une infrastructure informatique intégrée capable de répondre rapidement aux nouveaux besoins d’un utilisateur. Réellement, il n’est pas toujours facile de trouver des services correspondant aux requêtes des utilisateurs. Par conséquent, la composition des services satisfaisant la requête est un besoin grandissant de nos jours. La composition de services implique la capacité de sélectionner, de coordonner, d’interagir, et de faire interopérer des services existants. Elle constitue une tâche complexe. Cette complexité est due principalement au grand nombre de services disponibles et à leur hétérogénéité puisqu’ils sont créés par des organisations différentes. Cette complexité est renforcée quand il s’agit d’intégrer dynamiquement des services à la demande, et les composer automatiquement pour répondre à des exigences qui ne sont pas réalisées par les services existants. En fait, une approche pour la composition de services doit offrir le potentiel de réaliser des applications flexibles et adaptables, en sélectionnant et en combinant les services de manière appropriée sur la base de la requête et du contexte de l’utilisateur. Dans cette perspective, différentes approches ont été développées pour la composition de services. Cependant, la plupart des processus de composition ont tendance à être statique et non flexible dans le sens où ils n’ont pas la capacité de s’adapter aux besoins des utilisateurs. Dans cette thèse, nous proposons une approche de composition dans laquelle la génération du schéma de composition est effectuée en partie au moment de l’exécution en ayant recours aux services abstraits fournis au moment de la conception. L’utilisation des services abstraits permet une certaine flexibilité et adaptabilité sans avoir besoin de construire une composition de services à partir de zéro au moment de l’exécution. Le processus de composition que nous proposons se compose principalement de quatre étapes. La première étape prend une structuration des besoins de l’utilisateur matérialisée par un graphe d’intentions et l’enrichit pour expliciter les relations implicites. Le résultat de cette étape permet de générer un schéma de composition initial en construisant le flux de contrôle déduit du graphe des intentions enrichi, puis en sélectionnant les services abstraits adéquats. Le choix de ces services est basé sur le matching sémantique et le degré d’affinité sémantique entre les services abstraits. La troisième étape consiste à générer le schéma de composition final à l’aide d’un mécanisme de raffinement des services abstraits en utilisant des techniques de matching sémantique et en tenant compte du contexte de l’utilisateur. Enfin, le plan d’exécution est généré en tenant compte des contraintes non-fonctionnelles fournies dans la spécification des intentions. === The design approach of service oriented architectures (SOA) is based on standards which gives the possibility of creating an integrated IT infrastructure capable of rapidly responding to new user needs. Actually, it is not always easy to find services that meet user requests.Therefore, the service composition satisfying the user intention is a growing need. The composition of services implies the ability to select, coordinate, interact, and to interoperate existing services. The composition is considered as a complex task. This complexity is mainly due to the large number of available services and their heterogeneity as they are created by different organizations. This complexity is increased when services must be dynamically and automatically composed to meet requirements which are not satisfied by existing services. In fact, an approach for service composition must offer the potential to achieve flexible and adaptable applications, by selecting and combining services based of the request and the context of the user. In this perspective, different approaches have been developed for services composition. However, most of the existing composition approaches tend to be static and not flexible in the sense that they do not have the ability to adapt to user requirements. In this thesis, we propose a composition approach in which the generation of the composition schema is performed at runtime through the use of abstract services provided at design time. The use of abstract services allows flexibility and adaptability without having to build a service composition from scratch at run time. The composition process that we propose consists mainly of four steps. The first step takes a structure of user requirements materialized by a graph of intentions and enriches this graph to explicit the implicit relationships. The enriched graph is used to generate an initial composition scheme by building the control flow and selecting the appropriate abstract services. The selection of these services is based on the semantic matching and the degree of semantic affinity between abstract services. The third step is to generate the final composition schema with a refinement mechanism of abstract services using semantic matching techniques and taking into account user context and constraints. Finally, the execution plan is generated driven by non-functional constraints provided in the intentions specification.
|