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>...
Prochain SlideShare
Chargement dans…5
×

education

619 vues

Publié le

Site de présentation

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
619
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
14
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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>

×