Cours 10 : Les Web Services et WSDL Février Version 1.0 -

Slides:



Advertisements
Présentations similaires
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
Advertisements

1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Enseignant de cours : M. Bouzguenda Lotfi
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
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.
Gestion de la concurrence avec Entity Framework Développement d’application avec base de données Chapitre 23 Hugo St-Louis – Automne 2015.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Créat. : 23/09/2016 Modif. : 23/09/2016 Bogdan Stefanescu > Connectivité CPS et Eclipse Solutions Linux 2006.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
Toulibre : présentation de... xhtml + css par Rémy Sanchez.
Adressage IP Page 1 L’adressage IP.
Fadhel jied Oussama hédhili V - conclusion IV - Les avantages et les inconvénients III - exemples II - aspect informatique I - introduction.
Les Services Web. Principe des Web Services 1 Utilisation d’un Web Service 2.
Windows NT/2000/XP Enjeux et contraintes techniques
Initiation à la conception des systèmes d'informations
INTERNET #1 Qu’est-ce qu’internet ? Qu’est-ce qu’un site internet ?
Le modèle TCP/IP Présentation Couche Interface-Réseau Couche Réseau
Asynchronous Javascript And Xml
Cours 12 : Les Web Services et UDDI Mars Version 1.0 -
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
SNET: Administration et sécurisation des réseaux EPFC Alain Smets
Réseau informatique Sorenza Laplume 1.
OWL-S.
Les protocoles du Web Professeur: Tanja Dinić Étudiant:
Principes de programmation (suite)
Algorithmique Langage C
Ajout d’un partenaire.
Types et Codes de paquet ICMPv6
Installation et Configuration Internet Information Server (IIS 5)
Work: ISA8895 Implementation Section: Interoperability Chapter: B2O
Les bases de données et le modèle relationnel
Hot Standby Router Protocol standby preempt et standby track
Changer les critères de nommage
Comment fonctionne RADIUS?
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Asynchronous Javascript And Xml
5.
Questions 1- Qu'est ce qu'un réseau informatique ?
– La communication : notions de base. – INTRODUCTION : QU’EST-CE QUE LA COMMUNICATION ? I/ LES DIFFÉRENTS TYPES DE COMMUNICATION II/ LES COMPOSANTES DE.
Web Services Reda Bendraou.
1 Exemple d’un document (article). 2 XML: eXtensible Markup Language Wikipédia XML (Extensible Markup Language, « langage de balisage extensible ») est.
Windows Server 2012 Objectifs
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Introduction à la conception de site web
Cours 8 : Les Web Services et XML-RPC Février Version 1.0 -
Questions Qu'est ce qu'un réseau informatique ?
Type Concret – Type Abstrait
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
– La communication notions de base. – INTRODUCTION : QU’EST-CE QUE LA COMMUNICATION ? I/ LES DIFFÉRENTS TYPES DE COMMUNICATION II/ LES COMPOSANTES DE.
Web Services Xavier Blanc Plan Principes XML (Notions) SOAP WSDL UDDI Axis Conclusion.
Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni 1.
Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef.
Les protocoles de la couche application Chapitre 7.
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Catherine Cyrot - bibliothèques numériques - Cours 5
Les cas d’utilisation 420-KE2-LG.
Programmation Web : Introduction à XML
IFAPME X41 Administrateur serveur
Principes de programmation (suite)
CONTRAT DE PHASE DEFINITION Sur ce document technique destiné à l'atelier de fabrication sont portés tous les renseignements utilisés à la réalisation.
Merise le modèle de traitement
Catherine Cyrot - bibliothèques numériques - Cours 5
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Qu’est ce qu’une page web? Comment fonctionne un site web?
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Synchronized Multimedia Integration Language par Yves Bekkers
Transcription de la présentation:

Cours 10 : Les Web Services et WSDL Février 2016 - Version 1.0 - Les technologies XML Cours 10 : Les Web Services et WSDL Février 2016 - Version 1.0 -

Pour remédier à cet état de fait il a été normaliser un langage: WSDL Web Services – WSDL Comme on l’a vu avec XML RPC il est souvent difficile rien qu’à lecture d’un document XML : De déterminer les paramètres à lui fournir De connaître la structure du document en retour De connaître les éventuels code erreur D’anticiper les traitements effectués. Pour remédier à cet état de fait il a été normaliser un langage: WSDL

WSDL 1 est prévu pour fonctionner avec SOAP 1.1 Web Services – WSDL WSDL : Web Service Description Language Langage XML dédié à la description de tous les éléments nécessaires pour interagir avec un service réseau (ou service web). W3C WSDL 1 : http://www.w3.org/TR/wsdl WSDL 2 : http://www.w3.org/TR/2007/REC-wsdl20-20070626/ WSDL 1 est prévu pour fonctionner avec SOAP 1.1 WSDL 2 est prévu pour fonctionner avec SOAP 1.2

Web Services – WSDL un service réseau (service Web), WSDL est un langage XML qui permet de décrire: un service réseau (service Web), et comment l’ invoquer (localisation, paramètre, structure de retour, ..) Objectif : Décrire les services comme un ensemble d’opérations et de messages abstraits reliés à des protocoles et des serveurs réseaux Cet objectif se rapproche d’IDL pour CORBA. WSDL standardise les schémas XML utilisés pour établir une connexion entre émetteurs et récepteurs. Par conséquent, il est possible d’automatiser certaines opérations nécessaires à l’appel

Web Services – WSDL Un document WSDL est donc associé à un Web Service afin d’en décrire l’ensemble des éléments qu’il expose vers le monde extérieur : types de données (XSD) types de messages liaisons avec le protocole de transport et le format des messages (SOAP 1.X, HTTP Get et HTTP Post, ou encore MIME) Les services sont vus comme des ensembles de ports réseaux

Web Services – WSDL <types> <message> <portType> Contient les définition de types utilisant un système de typage (comme XSD). <message> Décrit les noms et types d’un ensemble de champs à transmettre (Paramêtres d’une invocation, valeur du retour, …) <portType> Décrit un ensemble d’opérations. Chaque opération a zero ou un message en entrée, zero ou plusieurs message de sortie ou de fautes <binding> Spécifie une liaison d’un <porttype> à un protocole concret (SOAP1.1, HTTP1.1, MIME, …). Un porttype peut avoir plusieurs liaisons ! <port> Spécifie un point d’entrée (endpoint) comme la combinaison d’un <binding> et d’une adresse réseau. <service> Une collection de points d’entrée (endpoint) relatifs.

Web Services – WSDL L’élément <types> contient les définition de types utilisant un système de typage (comme XSD). Exemple <types> <xsd:schema targetNamespace="http://exemple.com/personne.xsd" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <xsd:complexType name=“Personne”> <xsd:element name=“Nom” type=“xsd:string”> <xsd:element name=“Prenom” type=“xsd:string”> <xsd:element name=“Age” type=“xsd:float”> </complexType> </types>

Web Services – WSDL L’élément <message> décrit les noms et types d’un ensemble de champs à transmettre (Paramètres d’ invocation, valeur du retour, …) Exemple <message name="GetPersonne"> <part name="body" type="per:Personne"/> </message> <message name="AddPersonne"> <part name="Nom" type="xsd:string"/> <part name="Prenom" type="xsd:string"/> <part name="Age" type="xsd:float"/>

Web Services – WSDL L’élément <portType> décrit un ensemble d’opérations. Plusieurs types d’opérations One-way : Le point d’entrée reçoit un message (<input>). Request-response : Le point d’entrée reçoit un message (<input>) et retourne un message corrélé (<output>) ou un ou plusieurs messages d’erreur (<fault>). Solicit-response : Le point d’entrée envoie un message (<ouput>) et recoit un message corrélé (<input>) ou un ou plusieurs messages d’erreur (<fault>). Notification : Le point d’entrée envoie un message de notification (<ouput>) Paramètres Les champs des messages constituent les paramètres (in,out, inout) des opérations

Web Services – WSDL Element <portType> exemple : <portType name="CarnetAdresse"> <operation name="AddPersonne"> <input message="AddPersonneRequest"/> </operation> <operation name="GetPersonneParNom"> <input message="GetPersonneParNom Request"/> <output message=" GetPersonneParNom Response"/> </portType>

Web Services – WSDL L’élément <binding> spécifie La liaison d’un <portType> à un protocole concret (SOAP1.1, HTTP GET/POST, MIME, …). Un <portType> peut avoir plusieurs <binding> pour répondre à plusieurs protocoles. La balise suivante : <soap:binding transport="uri" style="soap_style" /> précise que le binding est de type SOAP. La balise <transport> définit le type de transport http://schemas.xmlsoap.org/soap/http pour utiliser SOAP/HTTP

Web Services – WSDL La balise <style> définit la façon dont sont créer les messages SOAP de toutes les opérations rpc : Encodage RPC défini par SOAP RPC document : Encodage sous forme d’élément XML c’est ce mode qui est utilisé par défaut. Pour chaque <operation> de <portType> : il faut préciser l’URI de l’opération : <soapAction> Il est aussi possible de repréciser la façon dont sont créés les messages SOAP : <style> Pour chaque message de chaque opération, il faut définir comment sera créé le message SOAP

Web Services – WSDL Exemple de binding sur SOAP et HTTP <binding type="CarnetAdresseBinding"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" /> <operation name="GetPersonneParNomOpe"> <soap:operation soapAction="http://exemple.com/ GetPersonneParNom " /> <input> <soap:body use="encoded" encodingStyle="schemas.xmlsoap.org/soap/encoding"/> </input> <output> </output> </operation> </binding>

L’élément <port> est associé à un <portType> Web Services – WSDL L’élément <port> est associé à un <portType> Dans le cadre de SOAP, un élément <port> à une adresse (qui correspond à l’adresse http) Exemple : <port name="CarnetAdressePort" binding="per:CarnetAdresseBinding "> <soap:address location="http://example.com/GetPersonneParNom"/> </port>

L’élément <service> définit l’ensemble des points d’entrées Web Services – WSDL L’élément <service> définit l’ensemble des points d’entrées Exemple : <service name=“CarnetAdresseService"> <port name=" CarnetAdressePort " binding="per:PersonnesBinding"> <soap:address location="http://example.com/GetPersonneParNom"/> </port> </service>

Web Services – WSDL <?xml version="1.0" ?> <definitions name="CarnetAdresse" targetNamespace="http://exemple.com/carnetAdresse.wsdl" xmlns:per="http://example.com/carnetAdresse.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <xsd:schema targetNamespace="http://exemple.com/personne.xsd" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <xsd:complexType name=“Personne”> <xsd:element name=“Nom” type=“xsd:string”> <xsd:element name=“Prenom” type=“xsd:string”> <xsd:element name=“Age” type=“xsd:float”> </complexType> </types> <message name="GetPersonne"> <part name="body" type="Personne"/> </message> <message name="AddPersonne"> <part name="Nom" type="xsd:string"/> <part name="Prenom" type="xsd:string"/> <part name="Age" type="xsd:float"/> <portType name="CarnetAdresse"> <operation name="AddPersonne"> <input message="AddPersonneRequest"/> </operation> <operation name="GetPersonneParNom"> <input message="GetPersonneParNom Request"/> <output message=" GetPersonneParNom Response"/> </portType>

Web Services – WSDL <binding type="CarnetAdresseBinding"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" /> <operation name="GetPersonneParNomOpe"> <soap:operation soapAction="http://exemple.com/ GetPersonneParNom " /> <input> <soap:body use="encoded" encodingStyle="schemas.xmlsoap.org/soap/encoding"/> </input> <output> </output> </operation> </binding> <service name=“CarnetAdresseService"> <port name=" CarnetAdressePort " binding="per:PersonnesBinding"> <soap:address location="http://example.com/GetPersonneParNom"/> </port> </service> </definitions>