Slides du cours d`introduction
Transcription
Slides du cours d`introduction
(( Bienvenu dans le Stringwarec ! )) 1. Petit tour des services web [email protected] LIFL – IRCICA 1 Menu √ Introduction √ Architecture des services web I Rôles dans les services web I Pile de protocoles √ Technologies associées I Messages XML I Description des services I Publication et recherche des services √ Utilisation I Le point de vue du fournisseur de services I Le point de vue de l’utilisateur de services LIFL – IRCICA c 2002-2006, Raphaël Marvie 2 Introduction LIFL – IRCICA c 2002-2006, Raphaël Marvie 3 Qu’est qu’un service web ? √ Version minimale I Un service disponible sur internet I Accessible au travers d’un protocole basé sur XML I Indépendant des systèmes d’exploitation et langages de programmation √ Version (( acceptable )) I Auto-descriptif • Fourniture de l’interface du service • Description des traitements en XML I Découvrable • Mécanisme pour rendre disponible un service • Mécanisme pour retrouver des services disponibles LIFL – IRCICA c 2002-2006, Raphaël Marvie 4 Utilisateur vs Application √ Le web centré sur l’usager I Acteur principal : l’humain I Initiateur des requêtes I Modèle de base du web √ Le web centré sur les applications I Echange direct entre applications I Référentiel central d’informations personnelles √ Vers un web sémantique (T. Berners-Lee) I Lui aussi centré sur les applications I Contenant le sens des traitements disponibles LIFL – IRCICA c 2002-2006, Raphaël Marvie 5 Vers un web automatisé √ √ √ Approche ad-hoc I Offrir des services utilisables par des applications I CGI et Servlets Java Automatisation de l’intégration I Services découvrables et reposant sur des standards I Intégration à la volée Etat des lieux I Découverte et invocation automatisable, mais I Encore besoin de l’humain : sémantique des opérations ? LIFL – IRCICA c 2002-2006, Raphaël Marvie 6 Architecture des services web LIFL – IRCICA c 2002-2006, Raphaël Marvie 7 Rôles dans les services web √ Trois rôles majeurs I Fournisseur de service • Implémente le service • Rend le service disponible I Utilisateur de service • Utilise un service existant • Etablit une connexion et envoie une requête XML I Registre de services • Entité centrale d’une organisation • Publication et recherche de services √ On peut être founisseur d’un service A et usager d’un service B LIFL – IRCICA c 2002-2006, Raphaël Marvie 8 Pile de protocoles des services web √ Pile a quatre niveaux (actuellement) 1. Transport de requête entre services • HTTP, SMTP, FTP, etc. 2. Encodage des messages en XML • XML-RPC, SOAP 3. Description des interfaces de services • WSDL 4. Publication et découverte des services • UDDI LIFL – IRCICA c 2002-2006, Raphaël Marvie 9 Technologies associées aux services web LIFL – IRCICA c 2002-2006, Raphaël Marvie 10 Encodage des messages en XML √ √ √ Repose sur la technologie XML I Indépendant des plates-formes I Multitude d’outils : parseurs et éditeurs XML Remote Procedure Call I Protocole simple basé pour faire du RPC en XML I Requêtes et réponses échangées avec HTTP Simple Object Access Protocole I Protocole simple orienté objet pour faire du RMI en XML I Au dessus de tout protocole de transport, par défaut HTTP LIFL – IRCICA c 2002-2006, Raphaël Marvie 11 Description des interfaces (i) √ √ Web Services Description Language (WSDL) I Grammaire XML pour décrire des services I Spécification des interfaces des services Interfaces de service web I Opérations disponibles I Types de données échangés I Protocol de transport à utiliser I Localisation du service LIFL – IRCICA c 2002-2006, Raphaël Marvie 12 Description des interfaces (ii) √ √ Utilisation 1. Localisation d’un service web 2. Découverte des opérations disponibles 3. Invocation d’opérations IBM Web Service Invocation Framework (WSIF) I Permet l’utilisation automatique de services I Repose sur l’exploitation des définitions WSDL LIFL – IRCICA c 2002-2006, Raphaël Marvie 13 Publication et découverte de services (i) √ Universal Description, Discovery, and Integration (UDDI) I Support à la publication et à la découverte de services √ Spécification composée de deux parties I Spécification technique • Répertoire distribué de services • Données stockées dans un format XML standardisé • Interfaces pour publier et rechercher des services I Implantation technique de la spécification • UDDI Business Registry • Répertoire partagé de services • Mis en œuvre par IBM, Microsoft, SAP, DoCoMo, etc. LIFL – IRCICA c 2002-2006, Raphaël Marvie 14 Publication et découverte de services (ii) √ Trois catégories de données fournies par UDDI I Pages blanches • Informations relatives à une société • Nom, description, adresse, etc. I Pages jaunes • Classification d’informations relatives aux entreprises ou aux services • Secteur de l’industrie, produits, localisation géographique • Repose sur un certain nombre de taxonomies (vocabulaires) standard I Pages vertes • Information techniques sur les services • Référence la description et l’adresse des services LIFL – IRCICA c 2002-2006, Raphaël Marvie 15 Utilisation (( Si on ne secoue pas, la pulpe elle reste dans le fond )) [Orangina] LIFL – IRCICA c 2002-2006, Raphaël Marvie 16 Le point de vue du fournisseur de service √ Plan de développement d’un web service 1. Développer les fonctionnalités du service • Technologie préférée : EJB, CCM, C#, Python, Perl 2. Développer un service encapsulant les fonctionnaliés • Wrapper XML-RPC ou SOAP 3. Fournir une description du service • Pour SOAP, un fichier WSDL 4. Déployer le service • Intégration du service dans un serveur web 5. Diffusion de la spécification du service • Publication de la spécification dans un serveur UDDI LIFL – IRCICA c 2002-2006, Raphaël Marvie 17 Le point de vue de l’utilisateur de services √ Plan de développement d’une application 1. Identifier et découvrir les services requis • Navigation dans le serveur UDDI 2. Localiser la description des services choisis • Récupération du fichier WSDL 3. Créer une application cliente • Client SOAP du service • Partiellement générable à partir du WSDL 4. Exécuter l’application cliente • Invocation des services LIFL – IRCICA c 2002-2006, Raphaël Marvie 18 Conclusion LIFL – IRCICA c 2002-2006, Raphaël Marvie 19 Standards et cohérence √ Les web services ce n’est que le début... I Evolution rapide I Fort attrait des industriels I Besoin de standards √ Etat des lieux I SOAP et WSDL : soumis au W3C I UDDI : consortium industriel √ Activités du W3C autour de tout cela I Sept 2000 : XML Protocol Working Group (finalisation de SOAP 1.2) I Jan 2002 : Intégration dans une activité liée aux services web (Web Services Architecture et Web Services Description) LIFL – IRCICA c 2002-2006, Raphaël Marvie