Your SlideShare is downloading. ×
0
education
education
education
education
education
education
education
education
education
education
education
education
education
education
education
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

education

404

Published on

Site de présentation

Site de présentation

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
404
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Module Réseau et services Master IPM Cours 5: Web Services Pierre-André Caron
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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>

×