ACCARY-BARBIER / CNAM - Cycle C ème partie : Gestion de contenus Web CHAPITRE 1 : XML Dynamique CHAPITRE 2 : XQUERY et les BD CHAPITRE 3 : Web sémantique et services Web
ACCARY-BARBIER / CNAM - Cycle C Chapitre 7 : Web Sémantique et services web 1. Web Sémantique Histoire et principes Critiques Avancement actuel 2. Services Web Intro aux services Web Etape1 : trouver un service Web Etape2 : accéder à un service Web Etape3 : utiliser un service Web En savoir plus…
ACCARY-BARBIER / CNAM - Cycle C Web sémantique Ensemble de technologies visant à rendre le contenu des ressources du World Wide Web accessible et utilisable par les programmes et agents logiciels Basé sur un système de métadonnées formelles Utilisant notamment la famille de langages développés par le W3C.
ACCARY-BARBIER / CNAM - Cycle C Historique Tim Berners-Lee lors de la conférence WWW 94 (création du W3C) Notion de métadonnées formelles Représentation utilisable par les machines de l'information contenue dans les documents Ex : une personne X est employée par une organisation Y 1999 : première version de RDF (Resource Description Framework) Cadre général pour la standardisation des métadonnées des ressources Web. Développement sur la base de RDF des vocabulaires spécifiques destinés à des applications particulières FOAF destiné à décrire les relations entre personnes RDFS destinés à structurer ces vocabulaires Langage d'ontologie OWL
ACCARY-BARBIER / CNAM - Cycle C Notion de ressource sens original : « document publié sur le Web » étendu à des sens plus généraux et plus abstraits. Langages d'ontologies ressources décrites = concepts de classes, de propriétés, ou concepts utilisés pour l'indexation Langages et technologies du Web sémantique outils de représentation des connaissances adaptés à l'environnement Web permettant de transformer automatiquement : Données en information Informations en savoir
ACCARY-BARBIER / CNAM - Cycle C Principe général Fondé sur le Web existant Comme le Web « classique » : moyen de publier et consulter des documents Contenu des documents différent Web classique Textes en langage naturel Web sémantique Informations formalisées pour être traitées automatiquement. Documents du Web sémantique générés, traités, échangés par des logiciels dédiés
ACCARY-BARBIER / CNAM - Cycle C Outils pour le Web sémantique Développement de logiciels non dédiés aux informaticiens permettant de : générer des données sémantiques à partir de la saisie d'information par les utilisateurs agréger des données sémantiques afin d'être publiées ou traitées publier des données sémantiques avec une mise en forme personnalisée ou spécialisée échanger automatiquement des données en fonction de leurs relations sémantiques générer des données sémantiques automatiquement, sans saisie humaine, à partir de règles d'inférences
ACCARY-BARBIER / CNAM - Cycle C Cadre de référence Fondé sur protocoles et langages standards du Web : Le protocole HTTP Les URI (Uniform Resource Identifiers) Le langage XML + Standards ouverts (W3C) propres au Web sémantique : RDF : modèle conceptuel de description de données RDF Schema : langage de création de vocabulaires, ensembles de termes utilisés pour décrire des choses OWL : langage de création d’ontologies, vocabulaires plus complexes servant de support aux traitements logiques (inférences, classification automatique …) SPARQL : langage de requêtes pour obtenir des informations à partir de graphes RDF
ACCARY-BARBIER / CNAM - Cycle C Critiques Architecture, Outils et Concepts du Web sémantique souvent critiqués Principes d'organisation applicables à l'échelle d'un système d'information fermé entreprise, bibliothèque, … Ne fonctionneront pas ou mal à l'échelle du Web, pour des raisons autant techniques que sociales ???? Beaucoup de moyens consacrés au développement du Web sémantique par le W3C… Au détriment d'autres technologies comme les services Web ????
ACCARY-BARBIER / CNAM - Cycle C Applications pratiques et avancement Nouveaux protocoles de communication et langages standards développement de nouveaux usages qui rendent concrète la notion d'intelligence collective. Social bookmarking / recherche sociale (ex : Lycos IQ) Wiki sémantiques Permettent de créer des contenus en précisant leur sens et en caractérisant leurs relations via une syntaxe de type wiki. Projet Semantic Web Advanced Deployment (SWAD) : suivi par le W3C de l'avancement du Web sémantique dans le monde SWAD-Europe : mai octobre ERCIM (European Research Consortium for Informatics and Mathematics) : organisme européen hôte des projets W3C qui suit l'avancement du Web sémantique C'est l'INRIA qui représente la France dans ERCIM.
ACCARY-BARBIER / CNAM - Cycle C Chapitre 7 : Web Sémantique et services web 1. Web Sémantique Histoire et principes Critiques Avancement actuel 2. Services Web Intro aux services Web Etape1 : trouver un service Web Etape2 : accéder à un service Web Etape3 : utiliser un service Web En savoir plus…
ACCARY-BARBIER / CNAM - Cycle C Intro aux services web Notion à la mode Déporter le traitement de données d'un poste client, vers un poste serveur sur lequel "tourne" l'application. Rendu possible par le débit actuel du réseau Choix de déporter les traitements quand : Données uniquement sur la machine distante puissance de calcul supérieure sur la machine distante + débit suffisamment rapide entre les deux machines Logiciels plus adaptés au traitement des données sur machine distante. Hier : Solutions propriétaires pré-existentes ou solutions adaptées "au coup par coup" Aujourd’hui : efforts de standardisation
ACCARY-BARBIER / CNAM - Cycle C Qu'est-ce qu'un service Web? Mise à disposition sur Internet de ressources, via un protocole d'échanges standardisé, pour des programmes écrits dans des langages quelconques. Cela nécessite : un encodage (toujours XML) un transport (souvent HTTP) une organisation des requêtes et des réponses Procédure de fonctionnement d'un service Web : Définition d’un format pour les requêtes et les réponses Requête effectuée par l’ordinateur demandeur Action du service Web Envoi de la réponse à l'ordinateur demandeur
ACCARY-BARBIER / CNAM - Cycle C Exemple de services Web Exemples Récupérer un cours de la bourse Demander un prix automatiquement mis à jour Accéder à un calendrier universel faisant les conversions entre calendriers internationaux et connaissant les dates des jours fériés pour chaque pays Traduire un fragment de texte Trouver un restaurant a proximité d’un lieu Interroger les horaires d’un film sur plusieurs cinéma … Étapes nécessaires à l’utilisation d’un service Web : Savoir le trouver Connaître la méthode pour y accéder Savoir l'utiliser correctement
ACCARY-BARBIER / CNAM - Cycle C Étape 1 : Trouver un service Web 1/2 Où trouver un service Web Annuaire UDDI Savoir précisément ce qu'il fait Protocole de description : WSDL Universal Description, Discovery and Integration : UDDI Projet développé par IBM, Microsoft et Ariba Annuaire ( sur lequel on peut référencer gratuitement un service Webhttp:// Développé dans le cadre du consortium d'entreprises Oasis Promotion du développement des nouveaux formats (XML) dans des échanges standardisés entre entreprises
ACCARY-BARBIER / CNAM - Cycle C Étape 1 : Trouver un service Web 2/2 Web Service Description Language : WSDL Langage XML (s’appuyant sur schémas XML) pour décrire des API (Application Programming Interfaces) de manière normalisée Recommandation officielle du W3C Langage très complexe pensé dans le but de pouvoir être adaptable à n'importe quel Service Web Permet de décrire le fournisseur du service Web les informations que ce dernier peut donner le format des requêtes
ACCARY-BARBIER / CNAM - Cycle C Autres usages de WSDL Forme standardisée possibilité d’extraire automatiquement une documentation lisible pour un être humain sous la forme d'un WSDL simplifié (Simplified WSDL). On peut également envisager l'écriture de clients analysant seuls, automatiquement, le fichier WSDL et en déduisant le format d'échanges et le protocole à utiliser pour "discuter" avec le Service Web. Étape 2 : Accéder à un service web Formats concurrents pour définir le format de données en E/S XML-RPC, SOAP, …
ACCARY-BARBIER / CNAM - Cycle C Étape 2 : Accéder à un service web 1/2 XML Remote Procedure Calling : XML-RPC Formats d'échange le plus simple Principe de base : Poste client : encodage des paramètres de la requête en XML via une bibliothèque Poste serveur : décodage par une (autre) bibliothèque puis transmission à l'application Procédure inverse lors de l'envoi de la réponse à la requête vers le poste client. Codage en XML uniquement via des fonctions Bibliothèques de fonctions en Perl, C, Python, Java, VB/.Net, PHP... Transfert des données selon le protocole HTTP
ACCARY-BARBIER / CNAM - Cycle C Étape 2 : Accéder à un service web 2/2 Simple Object Access Protocol - SOAP Protocole actuellement le plus en vogue Recommandation du W3C depuis juin 2003 Principe identique à RPC : la conversion entre format XML et langage d’application gérée par une bibliothèque de fonctions et procédures Bibliothèques SOAP pour Perl, C, C#, Python, Java, VB/.Net, PHP, même Ada... Typage de données identique aux schémas XML : tableaux, structures... Plus complet (et donc plus complexe...) que XML-RPC
ACCARY-BARBIER / CNAM - Cycle C Limites Limites de RPC Transferts autorisés uniquement sous le format ASCII (extensions non officielles autorisent des transferts en Unicode) Format non normalisé par un organisme indépendant et neutre Limites de SOAP Usine a gaz XML
ACCARY-BARBIER / CNAM - Cycle C Exemple de requête SOAP Requête : code postal est valable dans le Royaume Uni ? WC1A8GH UK Réponse du serveur du même type ( ) avec un corps du message ( ) limité à 1 élément Yes
ACCARY-BARBIER / CNAM - Cycle C Étape 3 : Utiliser un service Web (choix client) Ex : Démarche d’un développeur d'application qui doit entre autres vérifier la validité de codes postaux pour une trentaine de pays. Données pas forcement gratuites Temps de développement d’un module non négligeable Démarche solution service Web : Vérifier dans un annuaire -UDDI- si un tel service Web existe Vérifier (grâce au fichier WSDL) que le service fait bien ce qu'on désire qu'il fasse Prendre contact avec la compagnie qui le propose Vérifier sa solvabilité, la fiabilité de sa connexion réseau Acheter éventuellement le service si cela s'avère plus rentable Étapes du développement : Lire la spécification précise du service (étape automatisée si le service est décrit avec WSDL), Écrire le client en faisant appel aux fonctions et bibliothèques disponibles pour le langage de programmation de l’application
ACCARY-BARBIER / CNAM - Cycle C Étape 3 : Utiliser un service Web (proposition) Côté du développeur d'un service Web : Première phase de réflexion préalable nécessaire : Définition rigoureuse et stable de l'interface On ne va pas demander à tous les clients de mettre à jour leurs programmes, sous le simple prétexte qu'une balise a légèrement changé de nom... Questions de sécurité Questions de confidentialité des échanges. Une fois toutes ces questions réglées : Mise à disposition du service au public,
ACCARY-BARBIER / CNAM - Cycle C Étape 3 : Utiliser un service Web (limites) Quatre freins sur le développement de ces outils Transferts en XML Fichier assez gros (en comparaison avec un fichier binaire) Service complexe échanges peuvent être lents Très forte dépendance de contraintes extérieures pas forcément contrôlables (état du réseau) Si une partie importante du code d'une application dépend d'une requête à un service Web, et que le réseau, pour une raison quelconque, est paralysé, l'application sera dans l'incapacité de fonctionner correctement. Pas encore très répandus Peu probable de trouver l'objet de sa recherche La majorité des services web actuels sont payants Démarche d’intégration moins naturelle
ACCARY-BARBIER / CNAM - Cycle C Pour en savoir plus... Web sémantique : : wiki francophone accueillant tous les publics intéressés par le Web sémantique. : portail officiel du Web sémantique sur le site du W3C. : pour l'entreprise et le référencement Services Web :
ACCARY-BARBIER / CNAM - Cycle C Ressources Wikipedia Cours en ligne de Gilles Chagnon sur les services Web