• Aucun résultat trouvé

Architecture de l’annuaire des services Web sémantiques

6.2.1

Composants de l’architecture

L’architecture de l’annuaire est présentée dans la Figure 6.1. Cet annuaire est conçu et im- plémenté afin d’intégrer un bus de service sémantique d’un projet national de recherche (Se- mEUsE [91]). Le projet a pour objectif de fournir une architecture de services Web sémantiques, sensible au contexte. Il est basé sur deux aspects : un premier aspect de conception guidé par des modèles théoriques de services sémantiques et un deuxième aspect de runtime guidé par un bus dynamique de services sémantiques (voir [91] pour plus de détails).

L’annuaire permet, dans un premier temps, la publication, le stockage des descriptions séman- tiques de services. Dans un deuxième temps, il permet, grâce à leurs descriptions sémantiques, la découverte de ces services. Pour ce faire, l’annuaire est doté des composants suivants :

– le registre sémantique fonctionnel : SemanticFunctionalRepository, – le matchmaker sémantique fonctionnel : SemanticFunctionalMatching, – le registre syntaxique : SyntacticRepository,

– l’annuaire sémantique : SemanticRegistry, – le composant d’administration : Admin, – le courtier : Trader (ou Mediator ).

6.2.2

Rôles des composants

Dans cette section, je présente les composants SemanticRegistry, SyntacticRepository, Se- manticFunctionalRepository, SemanticFunctionalMatching, Trader et Admin. Cette section pré- sente aussi leurs principales fonctionnalités, leurs interfaces et les interactions avec d’autres composants.

SemanticRegistry

Grâce à l’annuaire sémantique (SemanticRegistry ), les fournisseurs de services publient les descriptions d’interfaces de leurs services offerts aux consommateurs. Ce composant fournit les mécanismes nécessaires pour déclencher le stockage des descriptions des services à la fois dans le registre syntaxique (SyntacticRepository ) et le registre sémantique fonctionnel (Seman- ticFunctionalRepository ). A l’instar de l’approche UDDI, le registre syntaxique sert à stocker les 1. SemantiquE pour bUs de sErvices (http ://www.semeuse.org) : Projet financé par l’Agence Nationale de Recherche intégrant la sémantique, le contexte et la sécurité pour la publication, la découverte, l’invocation et la composition de services Web dans un bus

6.2 Architecture de l’annuaire des services Web sémantiques 111

FIGURE6.1 – Architecture de l’annuaire des services Web sémantiques.

descriptions des services offerts par les fournisseurs uniquement d’un point de vue syntaxique. Les données sémantiques ne sont visibles et utiles que grâce au registre sémantique fonctionnel qui est conçu dans cet objectif. Pour cela, le registre sémantique fonctionnel fournit des capacités de stockage des descriptions sémantiques des services déjà publiés dans le registre syntaxique. L’annuaire sémantique offre trois interfaces : "publish", "getWSDL" et "discover ". Elles as- surent, respectivement, le déclenchement de la publication, la récupération et la découverte des descriptions de services. Ce composant interagit directement avec le registre syntaxique (Syn- tacticRepository ) et le courtier (Trader ). Des détails sur ces interfaces et ces interactions sont donnés dans les paragraphes suivants.

SyntacticRepository

Au moment de la publication, le registre syntaxique (SyntacticRepository ) stocke la descrip- tion complète de service et retourne un identifiant unique pour chaque service publié. Ce même

112 L’annuaire des services Web sémantiques

identifiant sert de référence pour publier la description sémantique du service dans le registre sémantique fonctionnel. Ceci permettra de garder une trace et de maintenir une cohérence tout au long de l’architecture de l’annuaire. Tout le processus veillant sur cette gestion se déclenche à partir de l’interface "publish" du composant SemanticRegistry au moment de la publication d’une description YASAWSDL.

De même, l’annuaire sémantique fournit aux consommateurs de services les mécanismes né- cessaires pour déclencher, auprès du registre syntaxique, la récupération d’un contenu de service déjà publié en utilisant les identifiants uniques établis au moment de la publication. Tout le proces- sus qui gère ceci se déclenche à partir de l’interface "getWSDL" du composant SemanticRegistry en lui précisant simplement l’identifiant unique d’une description YASAWSDL à récupérer.

Le registre syntaxique interagit uniquement avec l’annuaire sémantique, grâce à son "interface syntaxique" (SyntacticInterface).

SemanticFunctionalRepository

Pour le stockage et la découverte des descriptions sémantiques, il faut passer par le registre sémantique fonctionnel (SemanticFunctionalRepository ). En effet, l’annuaire sémantique fournit aussi aux consommateurs de services les mécanismes nécessaires pour déclencher via le Trader et auprès du registre sémantique fonctionnel, la découverte sémantique automatique de services en utilisant une description sémantique requise.

En fait, le registre sémantique fonctionnel (SemanticFunctionalRepository ) fournit, grâce à son interface SemanticFunctionalInterface, des capacités de récupération des descriptions sé- mantiques de services qui y sont déjà publiés. Tout le processus veillant sur cette gestion se déclenche à partir de l’interface "discover " du composant SemanticRegistry au moment de la découverte d’une description YASAWSDL.

Au cours du stockage de descriptions, le registre sémantique fonctionnel interagit avec le Trader grâce à l’interface SemanticFunctionalInterface. Et au cours de la découverte, le registre sémantique fonctionnel interagit avec le matchmaker sémantique fonctionnel (SemanticFunctio- nalMatching) afin que ce dernier réalise les appariements sémantiques.

SemanticFunctionalMatching

Au niveau du matchmaker sémantique fonctionnel (SemanticFunctionalMatching), la décou- verte effectue des appariements sémantiques basés sur les ontologies. L’appariement se fait sur l’aspect fonctionnel en sélectionnant les services candidats qui correspondent à la requête de l’utilisateur. Comme précédemment expliqué dans le chapitre 5, ce composant assure l’apparie- ment entre les éléments décrits par les concepts requis (tâches requises par un utilisateur) et les éléments décrits par les concepts offerts (capacités de services publiées par un fournisseur).

L’interface SemanticMatchingInterface permet au registre sémantique fonctionnel (Semantic- FunctionalRepository ) d’interagir avec le matchmaker sémantique fonctionnel (SemanticFunctio- nalMatching).

6.2 Architecture de l’annuaire des services Web sémantiques 113 Trader

Le courtier (Trader ), au cœur de l’architecture, assure toute interaction entre l’annuaire séman- tique (SemanticRegistry ) et le registre sémantique fonctionnel (SemanticFunctionalRepository ). Il joue le rôle d’un médiateur (Mediator ) entre les différents composants de l’architecture.

L’interface de courtage (TraderInterface) permet à l’annuaire sémantique (SemanticRegistry ) d’interagir avec le courtier (Trader ). En fait, le courtier a été ajouté à l’architecture pour faire la médiation avec des matchmakers non fonctionnels (QoS matchmaker, Security matchmaker,...) qui existent dans le projet SemEUsE, en plus du matchmaker sémantique fonctionnel présenté dans mes travaux.

Admin

Le composant d’administration (Admin) gère les droits d’accès des fournisseurs et des consommateurs de services aux registres par le biais d’une interface de contrôle d’accès. Grâce à l’interface AdminInterface, on peut vérifier également la disponibilité des services publiés dans les registres et offrir des statistiques concernant ces services aux fournisseurs et consommateurs intéressés.

Récapitulatif

Pour résumer, les interfaces les plus importantes sont :

– l’interface syntaxique (SyntacticInterface) : elle permet de faire appel au processus de sto- ckage et de récupération des descriptions WSDL des services auprès du registre syn- taxique,

– l’interface sémantique fonctionnelle (SemanticFunctionnalInterface) : elle permet de faire appel au processus de stockage, de recherche et de récupération des descriptions séman- tiques de services auprès du registre sémantique fonctionnel,

– l’interface d’appariement sémantique (SemanticMatchingInterface) : elle permet de faire ap- pel au processus d’appariement des descriptions sémantiques YASA auprès du matchma- ker sémantique.

Les descriptions de services Web YASA peuvent être publiées sans aucune modification dans SyntacticRepository. Cependant, il est nécessaire d’enregistrer les informations sémantiques pro- venant des descriptions de services Web YASA dans des éléments à part dans le SemanticFunc- tionalRepository. Ceci permet de différencier la découverte syntaxique de la découverte séman- tique de services. Ces derniers aspects sont assurés par les composants SyntacticRepository et SemanticFunctionalMatching.

Le reste de ce chapitre présente comment l’annuaire des services Web sémantiques assure les phases de publication et de découverte conçues autour des propriétés fonctionnelles.

114 L’annuaire des services Web sémantiques