Problématiques de recherche 90 Figure Research Agenda for service-oriented computing
Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements Web services discovery and integration Web services QoS (e.g., security, performance, reliability, fault tolerance, etc.) Web services standards and formalizations Web services modeling, Web services engineering Web services testing, Web services-based applications and solutions, Web services realizations, semantics in Web services, Web services supporting Cloud Computing, ICSOC (International Conference on Service Oriented Computing) ESOCC (European Conference on Service-Oriented and Cloud Computing) 91
Découverte de Services Web La découverte est un processus de recherche des services web implémentant la fonctionnalité souhaitée. Déterminer les services les plus pertinents qui correspondent à une requête donnée Les registres UDDI sont des entités qui servent d appui à la découverte de services web pour les applications client. De cette façon une application interroge un registre UDDI pour les fournisseurs d un service web. 92
Découverte de Services Web Approche classique (syntaxique): La recherche de service confronte deux acteurs : le fournisseur ou producteur de service ; qui cherche à annoncer du mieux possible ses services et l utilisateur ; qui ne sait pas où chercher le service de ses rêves. Rechercher un service Annuaire de services Publication de la Description de service Client: demandeur de service Établir une liaison avec un service Serveur Web Fournisseur 93
Limites Registre UDDI Pointe sur la description WSDL Syntaxique Rechercher Décrit le service un service Pointe sur le service Client: demandeur de service SOAP Web Service 94
Limites Manque d expressivité: les méthodes de recherche actuelles sont syntaxiques se basant sur une simple recherché par mots clés. Manque de sémantique dans la description (WSDL) des WS L utilisation et l intégration de services est réalisée manuellement Passage à l échelle: un grand nombre de services et d annuaires 95
Solution? Mécanisme nécessaire pour Annoter et concevoir des services Déterminer et comparer les fournisseurs de services Composer et orchestrer des servcices Résoudre le problème d hétérogéniété des formats de données, protocoles et processus (e.g médiation) Besoin de modèles conceptuels, langages formels et environnements d exécution Approches web sémantiques : Description sémantique des services web Utilisation des ontologies comme modèle 96
PARTIE 2: LES SERVICES WEB SÉMANTIQUES 97
Langages de description des SWS Approches basées sur des langages sémantiques OWL-S (Ontology Web Language for Services) [9] WSMO (Web Service Modelling Ontology) [10]+ WSML (Web Service Modelling Language) SWSL (Semantic Web Service Language) Approches de description à base d annotations SAWSDL (Semantic Annotation for WSDL) [2] USDL (Universal Service-Semantics Description Language) SAREST (Semantic Annotation of Web Resources) 98
Approches basées sur les langages sémantiques: OWL-S Ontology Web Language for Services Est un langage permettant de décrire les services Web de façon non ambiguë et interprétable par des programmes. Accepted as a Member Submission by W3C (12/1/2004) 99 Mapping between OWL-S and WSDL
Approches basées sur les langages sémantiques: OWL-S Fournit trois types d informations 100
Approches basées sur les langages sémantiques: OWL-S Que réalise le service? Information donnée dans le Service Profile Service Profile: permet la description, la publication et la découverte des services, en spécifiant une description textuelle à destination des utilisateurs "humains", des propriétés fonctionnelles et des propriétés non fonctionnelles. 101
Approches basées sur les langages sémantiques: OWL-S Comment utilisons-nous le service? Cette information est fournie dans le Service Model qui est utilisé pour, entre autres, composer les services. OWL-S modélise les services en tant que processus et celui-ci est défini par ses entrées/sorties. Comment accédons-nous au service? Information donnée dans le Service Grounding Fournit les détails concernant les protocoles, formats de messages et adresses physiques 102
Exemple : Agence immobilière Description: Une agence immobilière met à la disposition des clients et de ses agents mobiles différents services Web pour consulter les différents types de biens, les localiser et s y rendre s ils veulent afin de les visiter. Cas d utilisation: "Localiser en GPS un appartement pour l achat et avoir un plan de carte pour s y rendre". Opérations du Service Web: "getlocationgps" renvoie la position actuelle de la personne demandant le service Web en termes de latitude et de longitude en coordonnées GPS. "getapartmentbuylist" récupère la liste des appartements proches et disponibles à l achat. "getmap" récupère le plan de carte et les informations nécessaires pour pouvoir s y rendre à l appartement. 103
Exemple : Agence immobilière 104
Approches basées sur les langages sémantiques: OWL-S Exemple: Cas de l agence immobilière Profil du service: GeoLocaApartByMapProfile Processus du service Grounding du service Service OWL-S du service Web de l agence immobilière. 105
Approches basées sur les langages sémantiques: OWL-S Exemple (Suite): Cas de l agence immobilière (Profil du service) Un identifiant est affecté à ce profil 106 Profil du service Web de l agence immobilière
Approches basées sur les langages sémantiques: OWL-S Exemple (Suite): Cas de l agence immobilière (Processus du service) Prend en entrée un signal GPS En sortie: plan de carte 107 Processus du service Web de l agence immobilière
Limites des langages sémantiques Les Approches basées sur des langages sémantiques sont considérées: Solutions lourdes (Heavyweight) Introduisant de nouveaux langages fondés sur des formalismes ayant une expressivité limitée (OWL-DL). Besoin d ontologies de services plus légères (light) 108
Approches à base d annotation Qu est ce qu une Annotation? Définition du dictionnaire Oxford: «The word «annotation» is defined as «a note by way of explanation or comment added to a text or diagram»» Une annotation désigne à la fois une métadonnée associée à une partie du document et le processus de génération de cette métadonnée. Exemple : Annotations de Java 109
Approches à base d annotation Qu est ce qu une Annotation Sémantique? Une annotation est sémantique lorsqu elle se réfère à une ontologie, qui décrit, dans une logique de descriptions, les concepts et les relations entre les concepts d un domaine. Dans le domaine des SW: L annotation sémantique est une solution pour enrichir cette description afin d'automatiser les tâches de découverte et de composition. 110
Approches à base d annotation Processus d annotation sémantique: Extraction Module Concept Matching Annotation 111
Approches à base d annotation SAWSDL (Semantic Annotation for WSDL) [2] USDL (Universal Service-Semantics Description Language) [8] SAREST [12] (Semantic Annotation of Web Resources) HREST (HTML for Restful Services) 112
Approches à base d annotation: SAWSDL SAWSDL (Semantic Annotation for WSDL) vise la réalisation des objectifs suivants: Un langage au dessus des standards des services web existants: compatibilité avec l existant Concevoir un langage incrémental: facilité de modification Mécanisme d annotation indépendant du langage de représentation de la sémantique 113
Approches à base d annotation: SAWSDL SAWSDL(Semantic Annotation for WSDL) Fournit un mécanisme permettant d annoter sémantiquement les types de données, les opérations, les entrées et les sorties. Semantic Template ontologie Operation Input Output Operation model reference Input model reference Output model reference 114
Approches à base d annotation: SAWSDL Mécanisme d annotation grâce à l attribut «sawsdl» 3 extensions: ModelReference: associer un composant WSDL ou XML schema à un concept d une ontologie liftingschemamapping et loweringschemamapping: spécifier une correspondance entre les données sémantiques et les éléments XML. 115
Approches à base d annotation: SAWSDL 116
Approches à base d annotation: SAWSDL Exemple 117 SampleOntology
Approches à base d annotation: hrest hrest(html for Restful Services) est un micro-format qui permet la description des Web API en se basant sur le langage HTML. L annotation sémantique est déterminée grâce au microformat MicroWSMO. 118
Approches à base d annotation: hrest Exemple de description de service d hôtel avec hrest 119
Approches à base d annotation: hrest Exemple de description de service de réservation d hôtels annoté avec MicroWSMO 120
Outils d annotation Outils d annotation manuels, semi-automatiques et automatiques: Meteor-S [3] RadiantWeb [4] : WSDL-S/SAWSDL Annotation tool Servface [5] AWSA [6] ASSAM [7] Iridescent (http://lpis.csd.auth.gr/people/thanosgstavr/development.html#iridesc ent) SWEET (Semantic Web services Editing Tool) [13]: Outil développé pour la création de services RESTful en structurant les descriptions de services et leur associant des annotations sémantiques. (http://sweet.kmi.open.ac.uk/) SOWER ou WSMO-Lite editor (Sweet is not a Wsdl EditoR) [19] Etc, 121
Approches à base d annotation http://sweet.kmi.open.ac.uk/ 122