La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Services Web.

Présentations similaires


Présentation au sujet: "Services Web."— Transcription de la présentation:

1 Services Web

2 Rappel Un service Web est une « unité logique applicative » accessible en utilisant les protocoles standard d’Internet accessible depuis une URL Caractéristiques: Réutilisable Indépendamment de la plate-forme (UNIX, Windows, …) l’implémentation (VB, C#, Java, …) l’architecture (.NET, J2EE, …) Source : Devdays 2003

3 Infrastructure Serveurs Solutions pour l’utilisateur
Rappel Infrastructure Serveurs Outils Services Web XML Clients Solutions pour l’utilisateur Authentification SMS Appel Voix Souscriptions DB MMS Appel Données Personnalisation Facturation etc. Source : DevDays 2003

4 Quelques exemples MapPoint Cartographie, calcul d’itinéraires
Localisation de points

5 Quelques exemples INFOBEL : Service d’annuaire
Permet l’utilisation classique de l’annuaire dans les applications .NET Gestion d’un annuaire inversé Tolérance sur les orthographes des adresses Présent en Europe et aux US

6 Avantages Plus de limitations contrairement aux anciennes technos : DCOM, RMI, CORBA Plus de problème de pare-feu Plus de problème d’interopérabilité Plus de problème de formatage des données Pb de pare-feu : protocoles binaires utilisent une connexion point à point nécessitant l’ouverture de ports Pb d’interopérabilité : chaque modèle utilise son propre protocole propriétaire Pb de format : l’encodage des données diffère selon les protocoles

7 Avantages Repose sur des standards HTTP XML SOAP WSDL

8 Services web et VS.net Création Service WEB

9 Services web et VS.net Code :

10 Services web et VS.net Consommer un service web
Ajouter une référence Web

11 Services web et VS.net Fichier WSDL : classe proxy générée par VS.net
Fichier DISCO : fichier de découverte des SW, définit les liens vers le wsdl, etc.. Fichier map : contient les infos concernant les références DISCO et WSDL Disco => propriétaire Microsoft. Ce n’est pas un standard

12 TP Créer service web soustraire.asmx
Créer application Windows qui consomme le service web

13 Fonctionnement d’un service web

14 Serveur Annuaire UDDI Client
J’ai trouvé! Voici le serveur hébergeant ce service web Annuaire UDDI un service WEB Je recherche Quel est le format d’appel du service que tu proposes? Contrat SOAP Voici mon contrat (WSDL) XML Client XML J’ai compris comment invoquer ton service et je t’envoie un document XML représentant ma requête Source Devdays 2003 XML J’ai exécuté ta requête et je te retourne le résultat

15 Les standards derrière les services web
SOAP WSDL UDDI

16 SOAP Simple Object Access Protocol
Protocole d’échange de données basés sur XML

17 SOAP SOAP Envelope SOAP Header SOAP Body
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi=…> <soap:Header> <WoodgroveAuthInfo xmlns=" <Username>string</Username> <Password>string</Password> </WoodgroveAuthInfo> </soap:Header> <soap:Body> <GetAccount xmlns=" <acctID>int</acctID> </GetAccount> </soap:Body> </soap:Envelope>

18 SOAP : Requête

19 SOAP : Réponse

20 WSDL Document de description du service Web Rédigé en XML
Description des types de données via des schémas XSD Accessible pour les SW.net en ajoutant ?WSDL à l’url du SW

21 WSDL Structure of a WSDL document The types element
The message element The portType element Web Service Consumer Web Service The binding element The service element

22 WSDL Element type : définit les types utilisés dans le message
Définition des types via un XSD

23 WSDL Element message Définition du message (requête / réponse)

24 WSDL Element portType Permet de définir les points logiques d’entrée et de sortie pour le service web (protocole utilisé, méthode correspondante) Renvoie vers un élement Binding

25 WSDL Element binding Après avoir définit le port logique, on doit définir comment envoyer des données sur le port auquel est rattachée la méthode que l’on veut exécuter

26 WSDL Element service : permet de définir les ports pour chaque service

27 Proxies & WSDL Nécessité d’utiliser un proxy afin de manipuler un objet au lieu d’un document XML (WSDL) Création d’une classe correspondant au WSDL Génération de la classe automatique avec VS.net

28 Proxies & WSDL Création de proxies manuellement
Utilisation de l’utilitaire wsdl.exe livré dans le SDK du framework .net

29 Proxies & WSDL Syntaxe Example Example wsdl [options] {URL | Path}
Par défaut => C#, SOAP Example wsdl /l:VB /protocol:HttpGet /out:Bank.vb 

30 TP Générer un proxy manuellement
Utiliser le proxy généré dans une appli console pour récupérer une valeur via un service web

31 UDDI Universal Description Discovery and Integration
Annuaires de services Web XML

32 UDDI Ensemble de spécifications destiné à normaliser l’accès et la publication : UDDI API pour les développeurs (Publisher / Inquiry) UDDI Data Structure Specification définit les structures XML utilisés dans les messages

33 Optimiser appels Service Web
Appels Asynchrones Cache

34 Appels asynchrones Appels synchrones simples à faire (2 lignes de code) mais ont des inconvénients : Figeage de l’interface (si client windows) Plantage si service web est inaccessible

35 Appels asynchrones Les appels asynchrones permettent de lancer l’exécution d’une méthode, de reprendre la main, puis de récupérer le résultat grâce à une fonction CallBack Fonction possible grâce à la classe proxy générée par VS.net

36 Appels asynchrones

37 Appels asynchrones

38 Mise en cache Pour les méthodes nécessitant beaucoup de calcul, mettre en place un cache pour optimiser les temps de réponse [WebMethod(CacheDuration=30)] =>cache pendant 30 sec.

39 TP Appel méthode en asynchrone

40 Sécuriser Services Web
Sécurité IIS SOAP

41 Sécuriser Services Web
IIS Serveur de pages web, de services web Possibilité d’utiliser toutes les fonctionnalités de IIS pour les services web (authentification, compression, etc…)

42 Sécurité IIS Mise en place authentification Windows
Modification Web.config Configuration du répertoire virtuel dans IIS

43 TP Mise en place authentification Windows

44 Auth. Personnalisée : SOAP
Il est possible de mettre en place une authentification personnalisée grâce à SOAP en modifiant les headers

45 Modifier les en-têtes SOAP
Créer classe héritant de SoapHeader

46 Modifier les en-têtes SOAP
Déclarer une instance de notre classe : Public AuthHeader sHeader; Marquer les méthodes utilisant l’en tête personnalisé grâce à l’attribut SoapHeader [SoapHeader(« sHeader »)]

47 Modifier les en-têtes SOAP
Si référence web déjà créé lors modif SW, mettre à jour la référence web pour regénérer le proxy Utiliser l’header SOAP lors de l’instanciation du SW

48 Modifier les en-têtes SOAP
Vérifier les valeurs du header dans le code du service web pour authentifier les utilisateurs

49 TP Mettre en place une authentification via modification des en-têtes SOAP

50 Conclusion Services web permettent de mettre en place des applications distribuées Possibilité d’externaliser des services Repose sur des standards (XML, WSDL, SOAP, UDDI) Possibilité d’utiliser les fonctionnalités de IIS Possibilité de modifier les Headers SOAP


Télécharger ppt "Services Web."

Présentations similaires


Annonces Google