Cours 8 : Les Web Services et XML-RPC Février Version 1.0 -

Slides:



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

Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Cours de C – Séance dexercices 02 Octobre Protocole: client Protocole : – Requête client : GET /test.html HTTP/1.1\r\n Host: nom_de_l_hote\r\n Parameter:
Cours 6 : Les Web Services et SOAP Mars Version 1.0 -
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
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.
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Initiation au web dynamique
Abderrahmane Bouarissa Damien Burglin Arnaud Sansig
Les RPC remote procedure call
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.
Comprendre Internet Bases théoriques et exercices pratiques, pour débutants complets... Et curieux !
Sphinx Logiciel d'enquêtes ● Version 4,0 ● Aide à la rédaction ● Aide à l'analyse (croisement des données...)
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Twisted Le framework de votre internet Où pourquoi vous avez mieux à faire que de recoder un bot irc et un serveur web, par Michael Scherer.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
Introduction aux technologies du Web Mercredi 12 décembre 2007 Patrice Pillot
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Les besoins des entreprises en matière de maîtrise de leur S.I Les performances Métiers Le bon fonctionnement des Infrastructures Le dimensionnement des.
Cours de HTML suite 3. Sommaire...  Les formulaires. Les formulaires.  Structure basique du formulaire, balise. Structure basique du formulaire, balise.
Fadhel jied Oussama hédhili V - conclusion IV - Les avantages et les inconvénients III - exemples II - aspect informatique I - introduction.
Pour plus de modèles : Modèles Powerpoint PPT gratuitsModèles Powerpoint PPT gratuits Page 1 Free Powerpoint Templates Client service architecteur réseaux.
Windows NT/2000/XP Enjeux et contraintes techniques
Comment corriger son code sans forcément appeler l’enseignant M2202
Communication client-serveur
Qu’est-ce un serveur de messagerie?
Asynchronous Javascript And Xml
Notions de base de programmation et Objets
Les Réseaux Informatiques
JavaScript.
Techniques de décomposition
Javadoc et débogueur Semaine 03 Version A17.
Principes de programmation (suite)
Accès aux fichiers en C.
DARCY Lionel BTS SIO Option SLAM
Asynchronous Javascript And Xml
fonctionnalités iiS iis
Comment fonctionne RADIUS?
Asynchronous Javascript And Xml
WS Soap pour l’identification LDAP
AJAX et JQuery
Programmation Android Communication entre composants
Bureau distant sur Windows Vista /2008 Server
Introduction à Internet
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
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.
Les protocoles de la couche application Chapitre 7.
Auditeur: Léonardo AMODIO Cours: NFE107
Cours 10 : Les Web Services et WSDL Février Version 1.0 -
Catherine Cyrot - bibliothèques numériques - Cours 5
SyncoTM 200 Fonctionnement et mise en service
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
I-D-L Interface Definition Language Elaboré par Elaboré par : Mohamed Moncef SAAFI Sofien SAGHROUNI Mondher MOULAHI Marwen BALLOUMI LFSi-3.
I-D-L Interface Definition Language Elaboré par Elaboré par : Mohamed Moncef SAAFI Sofien SAGHROUNI Mondher MOULAHI Marwen BALLOUMI LFSi-3.
Remote Authentication Dial In User Service RADIUS GAUTHIER Julien.
Applications Réparties : REST
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
IFAPME X41 Administrateur serveur
Tableau de bord d’un système de recommandation
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
YII Yes It Is !.
Catherine Cyrot - bibliothèques numériques - Cours 5
Implémentation de FTP Rappel sur FTP Relation entre un site Web et FTP
Qu’est ce qu’une page web? Comment fonctionne un site web?
Programme des enseignements IPA
Transcription de la présentation:

Cours 8 : Les Web Services et XML-RPC Février 2016 - Version 1.0 - Les technologies XML Cours 8 : Les Web Services et XML-RPC Février 2016 - Version 1.0 -

La première approche Web Service a été XML-RPC. L’idée : Web Services – XML RPC Avec l’avènement du Web, l’idée d’invoquer des services sur http s’est développée. La première approche Web Service a été XML-RPC. L’idée : Envoyer un document XML Le traiter sur le serveur (éventuellement effectuer des actions) Renvoyer en réponse un autre document XML que le client peut traiter.

Remote Procedure Call (RPC) XML RPC : http://www.xmlrpc.com/spec Web Services – XML RPC Remote Procedure Call (RPC) Sun RPC, CORBA IIOP, Java RMI, MS DCOM ORPC XML RPC : http://www.xmlrpc.com/spec Requête-réponse Méthode POST de HTTP pour le transport XML pour l’encodage HTTP/SSL pour la sécurité

Web Services – XML RPC Types de données <!ELEMENT i4 (#PCDATA)> Type de base <!ELEMENT i4 (#PCDATA)> <!ELEMENT int (#PCDATA)> <!ELEMENT boolean (#PCDATA)> <!ELEMENT string (#PCDATA)> <!ELEMENT double (#PCDATA)> <!ELEMENT dateTime.iso8601 (#PCDATA)> <!ELEMENT base64 (#PCDATA)> <!ELEMENT nil (EMPTY)> Tableau <!ELEMENT array (data)> <!ELEMENT data (value*)> Structure <!ELEMENT struct (member*)> <!ELEMENT member (name, value)> <!ELEMENT name (#PCDATA)> Récursion <!ELEMENT value ( i4 | int | boolean | string | dateTime.iso8601| double | base64 | struct | array )> I4 et int sont équivalent. Lorsque le type n’est pas indiqué on prend le type string par défaut.

<!ELEMENT methodCall (methodName, params)> Web Services – XML RPC Requête <!ELEMENT methodCall (methodName, params)> <!ELEMENT methodName(#PCDATA)> <!ELEMENT params (param*)> <!ELEMENT param(value)> Réponse <!ELEMENT methodResponse(params|fault)> <!ELEMENT fault (value)> Fault <!ELEMENT fault (faultCode,faultString)> <!ELEMENT faultCode(#PCDATA)> <!ELEMENT faultString(#PCDATA)> l’élément fault contient un code qui est un int et une représentation textuelle (format string)

Web Services – XML RPC Exemple de requête POST /RPC2 HTTP/1.0 User-Agent: Frontier/5.1.2 (WinNT) Host: betty.userland.com Content-Type: text/xml Content-length: 181 <?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>41</i4></value> </param> </params> </methodCall>

Il n’y a pas de limite au nombre de paramètre Web Services – XML RPC methodName peut être interprété à la convenance du serveur .Cela peut être un script à lancer sur le document XML, une méthode Java … Il n’y a pas de limite au nombre de paramètre Il n’est pas possible à la lecture du document de savoir ce qui va réellement être fait par le serveur.

Web Services – XML RPC Exemple de réponse HTTP/1.1 200 OK Connection: close Content-Length: 158 Content-Type: text/xml Date: Fri, 17 Jul 1998 19:55:08 GMT Server: UserLand Frontier/5.1.2-WinNT <?xml version="1.0"?> <methodResponse> <params> <param> <value><string>South Dakota</string></value></param> </params> </methodResponse>

Le code retour http doit être 200 sauf en cas d’erreur http. Web Services – XML RPC Le code retour http doit être 200 sauf en cas d’erreur http. Le reste des headers http doit être correctement valorisé. methodResponse peut contenir soit un élément <params> soit un élément <fault> <params> ne peut contenir qu’un unique <param>

Web Services – XML RPC Exemple de réponse en erreur HTTP/1.1 200 OK Connection: close Content-Length: 426 Content-Type: text/xml Date: Fri, 17 Jul 1998 19:55:02 GMT Server: UserLand Frontier/5.1.2-WinNT <?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member><name>faultCode</name> <value><int>4</int></value> </member> <member> <name>faultString</name> <value><string>Too many parameters.</string></value> </member> </struct> </value> </fault> </methodResponse>

Web Services – XML RPC Les « faultCode » ne sont pas normalisés et leur signification doit être diffusée au client pour qu’il puisse les interpréter Dans le cas ou le retour est un élément <fault> le retour http peut être 200 !!

Web Services – XML RPC Conclusion 1/2 XML RPC est simple à implémenter et permet d’exposer rapidement des services sur le net. Il est difficile de savoir ce que fait réellement un service. Il n’y a pas dans la spécification de notion de sécurité : tout est envoyé en clair. Les différentes implémentations d’XML RPC ont « étendues » les spécifications et donc ne sont pas toujours interopérables.

Web Services – XML RPC Conclusion 2/2 L’approche XML-RPC n’est quasiment plus utilisée en entreprise du fait du manque de sécurité du protocole Elle n’a pas été retenue dans l’implémentation de la nouvelle pile JEE 5.

Web Services – XML RPC Quelques Implémentations (http://www.xmlrpc.com/directory/1568/implementations) Apache : http://ws.apache.org/xmlrpc/