Services Web.

Slides:



Advertisements
Présentations similaires
Les Web Services Schéma Directeur des Espaces numériques de Travail
Advertisements

Le struts validator – framework de validation
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Open Days 2006 Le Web 2.0 demain: produits, technologies, outils.
Xavier Blanc Web Services Xavier Blanc
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Architectures Orientées Services
Stéphanie CLAPIÉ Antoine RENARD
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
Les Web Services.
TP 3-4 BD21.
Génie Documentiel Delacrétaz Jean-Marc
Sécurité Informatique
Active Directory Windows 2003 Server
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Présentation Struts1-JaxB
Le langage ASP Les variables d'environnement HTTP avec Request.
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Programmation Approche composants Ing5 SI
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
.Net Remoting.
WINDOWS Les Versions Serveurs
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
GESTION DE COMPOSANTS ELECTRONIQUES
Universal Plug and Play. Idée Connecter tout: PCs, appareils intelligents, et appareils domestiques Computer partout: Universal Plug and Play connectivité.
Les sockets.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Module 3 : Création d'un domaine Windows 2000
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Présentation TELW M2 Contexte : passage de la matière de M1 en M2 Transformation cours->TDs Sujet plus haut niveau basé : Web Services echanges au format.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
9 février 2010 Enrique Ruiz Mateos Architecte avant-vente Microsoft
Universel Description Discovery and Integration « UDDI «
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
TWP Toolkit Formation 21/10/2009.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

Services Web

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

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

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

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

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

Avantages Repose sur des standards HTTP XML SOAP WSDL

Services web et VS.net Création Service WEB

Services web et VS.net Code :

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

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

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

Fonctionnement d’un service web

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

Les standards derrière les services web SOAP WSDL UDDI

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

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

SOAP : Requête

SOAP : Réponse

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

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

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

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

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

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

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

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

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

Proxies & WSDL Syntaxe Example Example wsdl [options] {URL | Path} Par défaut => C#, SOAP Example wsdl /l:VB /protocol:HttpGet /out:Bank.vb  http://www.woodgrovebank.com/services/bank.asmx?wsdl

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

UDDI Universal Description Discovery and Integration Annuaires de services Web XML

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

Optimiser appels Service Web Appels Asynchrones Cache

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

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

Appels asynchrones

Appels asynchrones

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.

TP Appel méthode en asynchrone

Sécuriser Services Web Sécurité IIS SOAP

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…)

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

TP Mise en place authentification Windows

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

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

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 »)]

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

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

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

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