990 likes | 1.65k Views
Web Services. Génie Documentiel Delacrétaz Jean-Marc. Sommaire. Généralités Exemples et architecture Les standards SOAP WSDL UDDI Conclusion Références. Web services. Généralités. Qu’est ce que c’est?.
E N D
Web Services Génie Documentiel Delacrétaz Jean-Marc
Sommaire • Généralités • Exemples et architecture • Les standards • SOAP • WSDL • UDDI • Conclusion • Références
Web services Généralités
Qu’est ce que c’est? • Un service Web est une « unité logique applicative » accessible en utilisant les protocoles standard d’Internet • Une «librairie» fournissant des données et des services à d’autres applications. • Ils combinent les meilleurs aspects du développement à base de composants et du Web. • Ils s’appuient sur un ensemble de standards (WSDL, SOAP et UDDI)
Caractéristiques • Les Web services sont réutilisable • Indépendamment de : • la plate-forme (UNIX, Windows,…) • leur implémentation (Java, C++, Visual Basic,…) • l’architecture sous-jacente (.NET, J2EE,…)
3 générations d’application Web • 1 ° Génération • Pages Web statiques (HTML) • 2 ° Génération • Des applications réelles (Pages Web dynamiques, ASP, JSP, PHP, ...) • 3 ° Génération • Les Web services (basé sur XML)
Web Services : une révolution? Non, pas vraiment ils poursuivent un vieux rêve de l’informatique : • Un monde où les ressources informatiques pourraient inter opérer à travers un réseau, indépendamment de leurs plates-formes d'origine
Pourquoi faire? (1) • Faire interagir des composants hétérogènes, distants, et indépendants avec un protocole standard (SOAP) • Plus concrètement: • Permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui
Pourquoi faire ? (2) • Les Web Services ont été conçus pour intégrer la dimension d'Internet, et la standardisation des échanges. • Les services Web permettent d’interconnecter : • Différentes entreprises • Différents matériels • Différentes applications • Différents clients • Dédiés aux applications B2B (Business to Business), EAI (Enterprise Application Integration), P2P (Peer to Peer).
Web services Exemples et architecture
Exemple d’utilité Imaginons : • Un serveur de news qui permette à n'importe quel client de connaître la dernière news. Dans ce cas : • Un service Web ferait office de serveur et un programme prévu pour fonctionner avec celui-ci permettrait de récupérer les informations.
Exemple plus complet (1) • Organisation d’un voyage • Billet d’avion, hôtel, location de voiture, … • Déclarations administratives • Solution 1 : • Recherche personnelle (Internet, téléphone,…) • Déclaration administrative manuelle • Solution 2 : • Agent de voyage • Réponse généralement unique • Déclaration administrative manuelle • Solution 3 : • Web Services • Découverte dynamique de partenaire
Exemple plus complet (2) • Les services Web lui permettront de lancer une programme qui lui réservera à la fois un billet d’avion, une location de voiture et une chambre d’hôtel • Pour chaque opération la demande aura été dirigée vers un site spécialisé • L’interlocuteur du client reste l’agence de voyage
WS: une architecture orientée service • Le fournisseur de service créé le service Web, puis publie son interface ainsi que les informations d'accès au service, dans un annuaire de services Web. • L'annuaire de service rend disponible l'interface du service ainsi que ses informations d'accès, pour n'importe quel demandeur potentiel de service. • Le consommateur de service accède à l'annuaire de service pour effectuer une recherche afin de trouver les services désirés. Ensuite, il se lie au fournisseur pour invoquer le service.
Les quatre principales technologies desServices Web • Langage XML : Décrit les informations • Protocole SOAP : Exécute les services à distance • Langage WSDL : Décrit l’ interface des services • Norme UDDI : Trouve les services dont on a besoin
Web services SOAP : Simple Object Access Protocol
Protocole SOAP (Simple Object Access Protocol) • Protocole de transport réseaux • Utilisation conjointe de XML et HTTP • But : définir la structure des messages échangés par les applications via le net • Il est particulièrement utile pour exécuter des dialogues requête-réponse RPC (Remote Procedure Call) • Permet à un client d'invoquer un service distant • SOAP a été construit pour pouvoir être aisément porté sur toutes les plates-formes et les technologies
Précisions sur SOAP Structure d'un message SOAP : • une enveloppe qui définit la structure du message • Élément racine • Namespace • un en-tête (optionnel) qui contient les informations d'en-tête (autorisations et transactions par exemple), • un corps contenant les informations sur l'appel et la réponse • une gestion d'erreur qui identifie la condition d'erreur • des attachements (optionnel)
Types de message SOAP • SOAP définit trois types de message • Appel (Call) – obligatoire • Réponse (Response) – optionnel • Erreur (Fault) - optionnel
Le message SOAP Complet SOAP Message Entête standard HTTP et entête SOAP HTTP Enveloppe SOAP Envelope SOAP Header Entête Entête individuelle SOAP Body Corps qui contient lesappels de méthodes SOAP Appel de méthode et descriptionen XML de données Structure d’un message SOAP HTTP Headers Headers Method Call & Data
En résumé • SOAP : • Permet une communication en univers hétérogène • Est assez léger simpleet facile à déployer • Est extensible • Est ouvert
Web services WSDL : Web Services Description Language
Rôle du langage WSDL • WSDL est un langage qui permet de décrire: • un service Web, • et comment l’ invoquer • Objectif : • Décrire les services comme un ensemble d’opérations et de messages abstraits relié à des protocoles et des serveurs réseaux • Permet de décharger les utilisateurs des détails techniques de réalisation d’un appel • WSDL est un langage qui standardise les schémas XML utilisés pour établir une connexion entre émetteurs et récepteurs.
Structure de WSDL: <?xml version="1.0" encoding="utf-8"?> <definitions> <types>!--abstract data types</types> <message>!--message structure</message> <portType>!--Web Service Interface</portType> <binding>!--how the service is accessed</binding> <service>!--who provides the service</service> </definitions>
Concepts de WSDL (1) WSDL définit : • Les types • Contient les définitions de types utilisant un système de typage. Utilisation de XML Schema pour définir les types de données. • Le message • Décrit les noms et types d’un ensemble de champs à transmettre. Peut-être comparé aux paramètres d'un appel de procédure. • Les types de port (port Type) • Décrit un ensemble d’opérations. Peut être comparé à une interface Java.
Eléments de WSDL (2) • La Liaison (binding) • Définit le format des messages et le protocole utilisé par chaque type de port • Le port • un point de terminaison identifié de manière unique par la combinaison d'une adresse Internet et d'une liaison • Un Service • Une collection de points d’entrée (endpoint) relatifs.
Conclusion WSDL • Avantages • Description de services assez simple • Facile à interroger sur l’Internet • Extensible • Inconvénient • Peu de fonctionnalitésoffertes
Web services UDDI : Universal Description, Discovery and Integration
3ème standard : UDDI (Universal Description, Discovery and Integration) • Annuaire mondial d'entreprises basé sur le Web • Il permet d'automatiser les communications entre prestataires, clients, etc.. • Très orienté « affaires » (vente, prestation) • Accessible grâce à SOAP • Intégrant toutes sortes d'entrées (nom, carte d'identité des sociétés, description des produits et des services, etc.),
Structure des données UDDI • Qui : Le nom de l’entreprise, les contacts ... • Quoi : Les classes, les noms des services • Où : Les adresses d’accès aux services • Comment : Les informations concernant les interfaces, les propriétés
Annuaires UDDI en ligne • uddi.microsoft.com • www.ibm.com/services/uddi • uddi.hp.com • uddittest.sap.com • ...
Web Services Conclusion
Avantages des Web services • Ensemble assez simple de propositions • Le Web comme environnent de développement • Il utilise les standards de W3C • Très adaptées aux problèmes des communications entre applications WEB
Limites des Web services • Les 3 outils (SOAP, WSDL et UDDI) ne règlent pas tout. Il reste des problèmes de: • vocabulaire, • de sémantique pour faire dialoguer des applications • Problèmes de performances
Références officielles • Services Web : • Spécifications officielles : http://www.w3c.org • Documentations et exemples en ligne : http://www.xmlbus.com • SOAP : • Spécification SOAP 1.1 : http://www.w3c.org/TR/SOAP • Spécification SOAP 1.2 : http://www.w3c.org/TR/soap12 • Implémentations : http://www.soapware.org • Exemples en ligne : http://soapclient.com/soaptest.html • WSDL : • Web Services Description Language (WSDL) 1.1 : http://www.w3.org/TR/wsdl • UDDI : • Spécification : http://www.uddi.org • Serveur UDDI : http://uddi.microsoft.com et http://uddi.ibm.com
Références personnelles • Web Services • http://www.w3.org/2002/ws • http://encyclopedie.journaldunet.com • http://www.planetexml.com • http://www.esup-portail.org/consortium/espace • http://xmlfr.org • http://lfe.developpez.com/WebService • http://www.softeam.fr/technologies_web_services.php • http://www.djefer.com/articles/soap/index.htm
MERCI de votre Attention!