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

Documents pareils