Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Module Réseau et services Master IPM Cours 5: Web Services Pierre-André Caron
SOA: Agilité et indépendance <ul><li>Composition « dynamique » des services </li></ul><ul><ul><li>Construction et reconstr...
Définition des services web <ul><li>Un service Web est une «  unité logique applicative  » accessible en utilisant les  pr...
Définition <ul><li>Idée de base : Le Web pour des machines </li></ul><ul><li>Accès automatique à du contenu généré et tran...
Positionnement <ul><li>Appels de procédures distantes en Client/Serveur </li></ul><ul><li>CORBA </li></ul><ul><ul><li>Mult...
Caractéristiques d’un WS <ul><li>■  accessible via le Web, </li></ul><ul><li>■  exporte une interface XML </li></ul><ul><l...
Caractéristiques d’un service web <ul><li>Réutilisable </li></ul><ul><li>Indépendamment de </li></ul><ul><ul><li>la plate-...
Cycle de vie d’un service web 1 - Recherche du service WEB 2 - Le serveur hébergeant le service WEB est trouvé 3 - Voici l...
SOAP: Simple Object Access Protocol <ul><li>SOAP est un protocole minimal pour appeler des méthodes à distance </li></ul><...
WSDL <ul><li>Objectif </li></ul><ul><ul><li>Décrire les services comme un ensemble d’opérations et de messages abstraits r...
UDDI <ul><li>Objectifs </li></ul><ul><ul><li>annuaire mondial d'entreprises pour permettre d'automatiser les communication...
Services web: Cinématique générale Interface.wsdl Appel au service + paramètres résultat Service Requête Yellow Pages : se...
Exemples d’utilisations <ul><li>Voir le site xmethods: </li></ul><ul><ul><li>http:// xmethods.net </li></ul></ul><ul><li>C...
Le tp <ul><li>insérer une carte centrée sur la fac </li></ul><ul><li>un clic sur la carte affiche les coordonnées gps de l...
Quelques liens <ul><li>Des wizards: </li></ul><ul><ul><li>http://www.google.com/uds/solutions/wizards/mapsearch.html </li>...
Upcoming SlideShare
Loading in …5
×

education

644 views

Published on

Site de présentation

Published in: Education
  • Be the first to comment

  • Be the first to like this

education

  1. 1. Module Réseau et services Master IPM Cours 5: Web Services Pierre-André Caron
  2. 2. SOA: Agilité et indépendance <ul><li>Composition « dynamique » des services </li></ul><ul><ul><li>Construction et reconstruction facile des applications offertes aux utilisateurs </li></ul></ul><ul><li>Méthodologie donc indépendance technologique </li></ul><ul><li>Cependant : </li></ul><ul><ul><li>Besoin de distribution (informatique répartie)‏ </li></ul></ul><ul><ul><li>Besoin de référentiel </li></ul></ul><ul><ul><li>Hétérogénéité technologiques des services </li></ul></ul><ul><ul><li>Couplage lâche </li></ul></ul><ul><li>=> Services Web comme une solution possible </li></ul>
  3. 3. Définition des services web <ul><li>Un service Web est une «  unité logique applicative  » accessible en utilisant les protocoles standard d’Internet </li></ul><ul><li>Une « librairie » fournissant des données et des services à d’autres applications. </li></ul><ul><li>Un objet métier qui peut être déployé et combiné sur Internet avec une faible dépendance vis-à-vis des technologies et des protocoles . </li></ul><ul><li>Combine les meilleurs aspects du développement à base de composants et du Web . </li></ul>
  4. 4. Définition <ul><li>Idée de base : Le Web pour des machines </li></ul><ul><li>Accès automatique à du contenu généré et transmis via un serveur Web </li></ul><ul><li>Un WS est un composant logiciel accessible via les technologies internet </li></ul><ul><li>Fonction ou service “métier” accessible par d’autres applications (client,serveur, autre WS)‏ </li></ul><ul><li>Utilisation des protocoles disponibles (ex. SOAP sur HTTP)‏ </li></ul><ul><li>Un WS est une entité qui fournit des services à la demande, via une interface XML bien définie, sous forme de messages </li></ul><ul><li>XML fait référence pour l’automatisation des flux métier </li></ul>
  5. 5. Positionnement <ul><li>Appels de procédures distantes en Client/Serveur </li></ul><ul><li>CORBA </li></ul><ul><ul><li>Multilangage, multi-plateforme, MultiVendeurs, OMG </li></ul></ul><ul><li>Java RMI </li></ul><ul><ul><li>mono-langage : Java, multi-plateforme (JVM), SUN </li></ul></ul><ul><li>DCOM </li></ul><ul><ul><li>multi-langages, plateforme Win32, Propriétaire MicroSoft </li></ul></ul><ul><li>Web Services (Protocole SOAP)‏ </li></ul><ul><ul><li>multi-langages, multi-plateforme </li></ul></ul><ul><ul><li>Réponses et requêtes en XML </li></ul></ul><ul><ul><li>Transport sur HTTP, MOM (JMS), SMTP ... </li></ul></ul><ul><ul><li>Spécification indépendante W3C </li></ul></ul>
  6. 6. Caractéristiques d’un WS <ul><li>■ accessible via le Web, </li></ul><ul><li>■ exporte une interface XML </li></ul><ul><li>■ localisable via un annuaire, </li></ul><ul><li>■ échange des messages XML via les protocoles du Web </li></ul><ul><li>■ adapté aux systèmes interconnectés de manière flexible (liens transitoires, adaptationdynamique…)‏ </li></ul>
  7. 7. Caractéristiques d’un service web <ul><li>Réutilisable </li></ul><ul><li>Indépendamment de </li></ul><ul><ul><li>la plate-forme (UNIX, Windows, …) </li></ul></ul><ul><ul><li>l’implémentation (VB, C#, Java, …) </li></ul></ul><ul><ul><li>l’architecture sous-jacente (.NET, J2EE, Axis…)‏ </li></ul></ul>
  8. 8. Cycle de vie d’un service web 1 - Recherche du service WEB 2 - Le serveur hébergeant le service WEB est trouvé 3 - Voici le contrat WSDL du service 4 - Document XML représentant la requête au bon format (SOAP)‏ 5 - Retour du résultat Annuaire UDDI Client Serveur XML XML XML
  9. 9. SOAP: Simple Object Access Protocol <ul><li>SOAP est un protocole minimal pour appeler des méthodes à distance </li></ul><ul><ul><li>Ne pas imposer un modèle de programmation </li></ul></ul><ul><ul><ul><li>Plusieurs modèles peuvent être utilisés conjointement </li></ul></ul></ul><ul><ul><li>Ne pas réinventer une nouvelle technologie </li></ul></ul><ul><li>SOAP se base sur des technologies éprouvées </li></ul><ul><ul><li>Utilisation conjointe de XML et HTTP </li></ul></ul><ul><li>SOAP a été construit pour pouvoir être aisément porté sur toutes les plates-formes et les technologies </li></ul>
  10. 10. WSDL <ul><li>Objectif </li></ul><ul><ul><li>Décrire les services comme un ensemble d’opérations et de messages abstraits relié ( bind ) à des protocoles et des serveurs réseaux </li></ul></ul><ul><li>Séparation entre la partie abstraite et concrète </li></ul><ul><li>Grammaire XML (schema XML)‏ </li></ul><ul><ul><li>Modulaire ( import d’autres documents WSDL et XSD)‏ </li></ul></ul><ul><li>Spécification (09/2000)‏ </li></ul><ul><ul><li>Ariba, IBM, Microsoft </li></ul></ul><ul><ul><li>TR W3C v1.1 (25/03/2001)‏ </li></ul></ul><ul><ul><li>WD W3C v2.0 (21/12/2004)‏ </li></ul></ul>
  11. 11. UDDI <ul><li>Objectifs </li></ul><ul><ul><li>annuaire mondial d'entreprises pour permettre d'automatiser les communications entre prestataires, clients, etc. </li></ul></ul><ul><ul><li>plusieurs entrées indexées : nom, carte d'identité des sociétés, description des produits, services applicatifs invocables à distance (références des connexions)‏ </li></ul></ul><ul><ul><ul><li>Indexation des catalogues propriétaires (ebXML, RosettaNet, Ariba, Commerce One, etc.)‏ </li></ul></ul></ul><ul><ul><ul><li>Accélération du B2B </li></ul></ul></ul><ul><li>Grammaire XML (schéma XML)‏ </li></ul><ul><ul><li>Soumission/interrogation basées sur SOAP et WSDL </li></ul></ul><ul><ul><li>http://www.uddi.org/specifications.html </li></ul></ul><ul><li>Spécification (09/2000)‏ </li></ul><ul><ul><li>Ariba, IBM, Microsoft +260 autres sociétés </li></ul></ul>
  12. 12. Services web: Cinématique générale Interface.wsdl Appel au service + paramètres résultat Service Requête Yellow Pages : service MyWebService ? Location de l’interface du web service Demande de l’interface du Web Service Création d’un proxy UDDI WSDL Proxy public class MyWebService { public String sendMessage(String name) { return &quot;  Hello &quot; + name } } (Java, C++, …)‏ Proxy
  13. 13. Exemples d’utilisations <ul><li>Voir le site xmethods: </li></ul><ul><ul><li>http:// xmethods.net </li></ul></ul><ul><li>Codes postaux </li></ul><ul><ul><li>http://bluturtles.fr/ws/wsbtclient/communes.aspx </li></ul></ul><ul><li>Plateforme Moodle </li></ul><ul><ul><li>http://127.0.0.1/moodle_1.6/ws/ </li></ul></ul><ul><li>Google: </li></ul><ul><ul><li>http://pa.caron.free.fr/chemin/map2.html </li></ul></ul><ul><ul><li>http://pa.caron.free.fr/recherche/recherche.html </li></ul></ul><ul><ul><li>http://pa.caron.free.fr/f9/bat_these.html </li></ul></ul>
  14. 14. Le tp <ul><li>insérer une carte centrée sur la fac </li></ul><ul><li>un clic sur la carte affiche les coordonnées gps de l'endroit en dessous de la carte </li></ul><ul><li>récolter ainsi les coordonnée gps de chaque étudiant </li></ul><ul><li>faire apparaitre la carte grossissement Europe en plaçant un indicateur pour chaque étudiant </li></ul><ul><li>changer la forme de cet indicateur </li></ul><ul><li>un clic sur un indicateur fait apparaître le nom et l'adresse de l‘étudiant </li></ul><ul><li>un clic sur cette adresse recentre la carte et re-zoome sur la localité de l‘étudiant </li></ul><ul><li>une liste déroulant permet de faire la même chose </li></ul><ul><li>prévoir une vue générale </li></ul><ul><li>prévoir que le fichier de coordonnées soit externe. </li></ul>
  15. 15. Quelques liens <ul><li>Des wizards: </li></ul><ul><ul><li>http://www.google.com/uds/solutions/wizards/mapsearch.html </li></ul></ul><ul><li>Maps API: </li></ul><ul><ul><li>http://code.google.com/apis/maps/ </li></ul></ul><ul><li>Un excellent tutoriel </li></ul><ul><ul><li>http://code.google.com/support/bin/answer.py?answer=74725&topic=11364&ctx=sibling </li></ul></ul><ul><li>Poursuite : explorer Calendar API ? </li></ul>

×