Service Web (SOAP) Urbanisation des SI NFE107. Fiche de lecture Y. BELAID



Documents pareils
Programmation Web Avancée Introduction aux services Web

Introduction aux «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Architectures Web Services RESTful

Les Services Web. Jean-Pierre BORG EFORT

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

4. SERVICES WEB REST 46

Application Web et J2EE

Urbanisme du Système d Information et EAI

Méthodes et Langages du Commerce Electronique

Systèmes d'informations historique et mutations

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Les Architectures Orientées Services (SOA)

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Le cadre des Web Services Partie 1 : Introduction

L3 informatique TP n o 2 : Les applications réseau

Bien architecturer une application REST

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

SOAP Concepts Application à Glassfish

Petite définition : Présentation :

Groupe Eyrolles, 2004 ISBN :

Appui SIE :Développement de services web ADES/SIE

Adolphe Francois Julien Marmel Dominique Perlat Olivier Printemps SOAP. Simple Object Access Protocol. Encadrant : Chantal Taconet

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Applications et Services WEB: Architecture REST

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Plateforme PAYZEN. Définition de Web-services


Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Urbanisation des Systèmes d'information

La démarche SOA et l interopérabilité applicative

Microsoft Technopoche

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Architecture Orientée Service, JSON et API REST

WebSSO, synchronisation et contrôle des accès via LDAP

Sécurité des Web Services (SOAP vs REST)

Classification : public 1/59

Business Process Execution Language

Manuel d intégration API SOAP SMS ALLMYSMS.COM

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

SÉCURITÉ POUR LES ENTREPRISES UN MONDE NUAGEUX ET MOBILE. Sophia-Antipolis 01/07/2013 Cyril Grosjean

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Module BD et sites WEB

Mise en œuvre des serveurs d application

Développement d'un logiciel VoIP BlackBerry

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Développement des Systèmes d Information

Approche Contract First

Messagerie asynchrone et Services Web

Hébergement de site web Damien Nouvel

Compte Rendu d intégration d application

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Volet Synchrone pour Client Lourd

CAHIER DES CHARGES D IMPLANTATION

Environnements de Développement

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Mysql. Les requêtes préparées Prepared statements

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Java et les WebServices :

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

SOA & BPM. Urbanisation d un Système d information universitaire RAPPORT DE PROJET DE FIN D ETUDES

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Les nouvelles architectures des SI : Etat de l Art

Hébergement de sites Web

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Responsable du cours : Héla Hachicha. Année Universitaire :

Editeurs de logiciels. Votre guide SMS

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Projet de Conception N 1 Automatisation d'un processus de paiement. Livrable: Spécification du système de compensation

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Protocoles Applicatifs

Mr. B. Benaissa. Centre universitaire Nâama LOGO

(structure des entêtes)

Guide des services Web 7.0

Sécurisation des architectures traditionnelles et des SOA

Module http MMS AllMySMS.com Manuel d intégration

Présentation de Active Directory

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Annexe : La Programmation Informatique

Web Tier : déploiement de servlets

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Définition des Webservices Ordre de paiement par . Version 1.0

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Refonte front-office / back-office - Architecture & Conception -

GLOSSAIRE. On premise (sur site)

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Programmation Internet Cours 4

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Transcription:

Service Web (SOAP) Urbanisation des SI NFE107 Fiche de lecture Y. BELAID

Plan Définitions Web Service Terminologie Communication avec les Web Service REST XML-RPC SOAP

Qu est ce qu un Web Service Un Web Service est un composant logiciel identifié par une URI, dont les interfaces publiques sont définies et appelées en XML. Sa définition peut être découverte par d'autres systèmes logiciels. Les services Web peuvent interagir entre eux d'une manière prescrite par leurs définitions, en utilisant des messages XML portés par les protocoles Internet. (W3C) Une technologie permettant à des applications de dialoguer à distance via Internet indépendamment des plates-formes et des langages sur lesquelles elles reposent. (définition : http://www.dicodunet.com/) Un service web est un programme informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel. (définition : Wikipédia)

Architecture des Web Service UDDI XML découvrir Annuaire Description du service SOAP Description WSDL XML Description du service Service Requester Programme Client Interaction consommer XML Service Provider Service Réponse

Architecture des Web Service (2) Les acteurs Annuaire Service Registry Annuaire des services publiés par les providers (UDDI) Géré sur un serveur niveau application, entreprise ou mondial Service Provider Application s'exécutant sur un serveur et comportant un module logiciel accessible par en XML Service Requester Application cliente se liant à un service et invoquant ses fonctions par des messages XML (REST, XML-RPC,SOAP)

Architecture des Web Services Terminologie - WSDL (Web Services Description Language) donne la description au format XML des Web Services en précisant les méthodes pouvant être invoquées, leur signature et le point d'accès (URL, port, etc..). - Dialecte XML permettant de décrire un web service - UDDI (Universal Description, Discovery and Integration) normalise une solution d'annuaire distribué de Web Services, permettant à la fois la publication et l'exploration. UDDI se comporte lui-même comme un Web service dont les méthodes sont appelées via le protocole SOAP. - Annuaire permettant d enregistrer de rechercher des service web - SOAP (Simple Object Access Protocol) : Protocole de communication en service Web par échange de message XML.

Communication Web Service Les différentes technologie pour accéder à un service web REST (Représentational State Transfer) Consommer un WebService REST revient à appeler une simple URL en http (Post ou Get), le serveur renvoie sa réponse, la plupart du temps en XML Communication par échange de fichier XML XML-RPC SOAP (Simple Object Access Protocol)

REST (Representation State Transfer) Exemple : Récupération des Informations d une commune par une requête http en mode GET Requête http://ws.ct-goat.com/getcityinfos.asp?uid=xxxxxxxxxxxxx&comid=562 Rest en http Réponse Serveur Web XML Calculateur Itinéraire (ws.ct-goat)

REST (Representation State Transfer) N est pas un protocole ou un format, mais une architecture (celle de HTTP). Chaque méthode ou service est attaché à une URL Consommer un WebService REST revient à appeler une simple URL en http (Post ou Get), le serveur renvoie sa réponse, la plupart du temps en XML Très utilisé pour la communication entre machines.

Source : http://opengescom.org/docs/spec-xmlrpc.pdf XML-RPC

XML-RPC Requête Le message d une requête est inclus dans un élément <methodcall > Le message d une réponse est inclus dans une élément <methodresponse> L élément <value> est transmis dans un élément <param> Le type des valeurs peut être défini avec des éléments de type <string> <double>.

XML-RPC Réponse : Réponse Correct Réponse en erreur

XML-RPC XML-RPC est un protocole RPC (Remote procedure call), une spécification simple et un ensemble de codes qui permettent à des processus s'exécutant dans des environnements différents de faire des appels de méthodes à travers un réseau. XML-RPC permet d'appeler une fonction sur un serveur distant à partir de n'importe quel système (Windows, MacOSX, Linux) et avec n'importe quel langage de programmation. Le serveur est lui même sur n'importe quel système et est programmé dans n'importe quel langage. Cela permet de fournir un Service Web utilisable par tout le monde sans restriction de système ou de langage. Les processus d'invocation à distance utilisent le protocole HTTP pour le transport des données et la norme XML pour le codage des données. XML-RPC est conçu pour permettre à des structures de données complexes d'être transmises, exécutées et renvoyées très facilement. XML-RPC est l'ancêtre de SOAP. (définition : Wikipédia)

XML-RPC Exemple de requête en Java : XmlRpcClient xmlrpc = new XmlRpcClient("http://www.localhost.com/xmlrpc/server.asp" ); Vector params = new Vector(); params.addelement( 123456 ); Integer retval = (Integer)xmlrpc.execute( "GetCurrentBalance", params );

SOAP SOAP définit le cadre général pour l échange de données structurées en XML SOAP permet d échanger des structures de données complexes en XML avec les Namespaces, et la spécification XML Schéma Historique de SOAP SOAP 0.9 (septembre 1999) Editeur (Microsoft, DeveloppMentor, UserLand) SOAP 1.0 (Nov 1999) IETF SOAP 1.1 (Avril 2000) IBM & Soumission W3C W3C SOAP 1.2 (Sept 2000 à Mai 2002) Refonte SOAP 1.1 Groupe de travail : 40 entreprises (IBM, Microsoft, Sun, Intel, Xerox, Canon ) Spécification du W3C (WS-*) SOAP 1.2 Messaging Framework :la structure pour les échanges de messages SOAP 1.2 Adjuncts : Ajouts Primer : Préliminaires (sous forme de tutoriel..)

SOAP Procuration d'interface Messages SOAP HTTP Appel Translateur SOAP Application Cliente RPC Réponse local Parser XML Parser XML Serveur d'application CLIENT SERVEUR

SOAP Structure d un message SOAP Protocol Headers Protocole de transport Ex HTTP SOAP Envelope SOAP Header SOAP Body SOAP Fault Définit le document XML comme un message SOAP Optionnelle : Stockage des informations spécifiques à la transaction (éléments optionnels : actor, MustUnderstand, encoding..) Contenant des données à transporter. Gestion d erreurs

SOAP Structure d un message SOAP Envelope: c'est lui qui contient le message et ses différentes sous-blocs. Il s'agit du bloc racine XML. Il peut contenir un attribut encodingstyle dont la valeur est une URL vers un fichier de typage XML qui décrira les types applicables au message SOAP. Header: c'est un bloc optionnel qui contient des informations d'en-têtes sur le message. Si il est présent, ce bloc doit toujours se trouver avant le bloc Body à l'intérieur du bloc Envelope. Body: c'est le bloc qui contient le corps du message. Il doit absolument être présent de manière unique dans chaque message et être contenu dans le bloc Envelope. SOAP ne définit pas comment est structuré le contenu de ce bloc. Cependant, il définit le bloc Fault qui peut s'y trouver. Fault: ce bloc est la seule structure définie par SOAP dans le bloc Body. Il sert à reporter des erreurs lors du traitement du message, ou lors de son transport. Il ne peut apparaître qu'une seule fois par message. Sa présence n'est pas obligatoire.

SOAP-Header Exemple : Bloc Header Message à destination de Plusieurs Nœud SOAP <soap:header> <m:user xmlns:m="http://www.exemple.com/rights/" soap:actor="http://www.exemple.com/rights/rightsmanager"> </m:user> Charles <m:session xmlns:m="http://www.exemple.com/session/" soap:mustunderstand="1">12ae3c </m:session> <m:lang xmlns:m="http://www.exemple.com/lang/" soap:actor="http://schemas.xmlsoap.org/soap/next" soap:mustunderstand="0"> FR Elément USER : </m:lang> </soap:header> Elément USER : A destination du Nœud RightManager Elément Session A destination du Nœud Final A destination du prochain Noeud

SOAP Header

SOAP Fault Exemple : Bloc Fault Identifiant de l erreur définit par SOAP <soap:body> Description bref du message <soap:fault> <faultcode>soap:server</faultcode> <faultstring>impossible de router le message.</faultstring> Composant qui généré l erreur (URL) <faultactor>http://www.exemple.com/messagedispatcher</faultactor> <detail> <m:error xmlns:m="http://www.exemple.com/errors"> E_NO_ROUTE </m:error> </detail> </soap:fault> </soap:body> Message spécifique à l application

SOAP Exemple http://www.webservicex.net/ REQUETE POST /stockquote.asmx HTTP/1.1 Host: www.webservicex.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.webservicex.net/getquote" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GetQuote xmlns="http://www.webservicex.net/"> <symbol>string</symbol> </GetQuote> </soap:body> </soap:envelope> Protocole de transport Ex HTTP Définit le document XML comme un message SOAP Contenant des données à transporter.

SOAP Exemple HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xmlns:xsd=http://www.w3.org/2001/xmlschema xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GetQuoteResponse xmlns="http://www.webservicex.net/"> <GetQuoteResult>string</GetQuoteResult> </GetQuoteResponse> </soap:body> </soap:envelope> Réponse SOAP <StockQuotes> <Stock><Symbol>FORD</Symbol> <Last>2.28</Last> <Date>11/24/2008</Date> <Time>4:00pm</Time> <Change>+0.20</Change> <Open>2.20</Open> <High>2.30</High> <Low>2.07</Low> <Volume>124718</Volume> <MktCap>18.0M</MktCap> <PreviousClose>2.08</PreviousClose> <PercentageChange>+9.62%</PercentageChange> <AnnRange>1.51-3.27</AnnRange> <Earns>-0.174</Earns> <P-E>N/A</P-E> <Name>Forward Industrie</Name></Stock> </StockQuotes>

SOAP(Exemple) Appel du WebService stockquote en PHP <?php $params['symbol']="ford"; CREATION d un OBJET SOAPCLIENT //L'ouverture du fichier WSDL va permettre d'automatiser l'utilisation du Web Service // Les méthodes définit dans le WSDL seront vu comme des méthodes interne $client = new SoapClient("http://www.webservicex.net/stockquote.asmx?wsdl"); $result = $client->getquote($params); $ResultQuote = $result->getquoteresult; echo $ResultQuote;?> APPEL de la méthode GETQUOTE du WS STOCKQUOTE // vu comme une méthode locale

Exemple d application SOAP

SOAP Implémentations JAVA (API et outils associés JAX-RPC (Java XML based RPC) : utilisation de SOAP en mode RPC JAXR (JA XML registries) : utilisation de UDDI JAXM (JA XML Messaging) : utilisation de SOAP en mode message Microsoft (technologie.net) Api dans la bibliothèque de classes de.net Classes PHP SOAP : Divers projets Open Source Perl : SOAP::Lite, UDDI::Lite, XMLRPC::Lite

Bibliographie «Services Web avec SOAP, WSDL, UDDI, ebxml» de Jean Marie CHAUVET. http://www.irisa.fr/coo/2001/w3csoap1.pdf http://www.w3.org/2003/06/soap12-pressrelease.html.fr http://igm.univ-mlv.fr/~dr/xpose2005/rouvio_webservices/soap.html http://www.commentcamarche.net http://www-adele.imag.fr/users/didier.donsez/cours http://www.w3schools.com/soap/

? Questions