Service Web (SOAP).Ppt

  • Upload
    arsene

  • View
    37

  • Download
    1

Embed Size (px)

DESCRIPTION

service web

Citation preview

  • Service Web (SOAP)

    Urbanisation des SI NFE107

    Fiche de lecture

    Y. BELAID

  • Plan

    Dfinitions Web Service Terminologie

    Communication avec les Web Service REST XML-RPC SOAP

  • Quest ce quun Web Service

    Un Web Service est un composant logiciel identifi par une URI, dont les interfacespubliques sont dfinies et appeles en XML.Sa dfinition peut tre dcouverte par d'autres systmes logiciels.Les services Web peuvent interagir entre eux d'une manire prescrite par leursdfinitions, en utilisant des messages XML ports par les protocoles Internet.(W3C)

    Une technologie permettant des applications de dialoguer distance via Internetindpendamment des plates-formes et des langages sur lesquelles elles reposent.(dfinition : http://www.dicodunet.com/)

    Un service web est un programme informatique permettant la communication etl'change de donnes entre applications et systmes htrognes dans desenvironnements distribus. Il s'agit donc d'un ensemble de fonctionnalits exposessur internet ou sur un intranet, par et pour des applications ou machines, sansintervention humaine, et en temps rel.(dfinition : Wikipdia)

  • Architecture des Web Service

    ServiceRequester

    ProgrammeClient

    Service

    Provider Service

    Interaction

    consommer

    AnnuaireDescription du

    service

    dcouvrir

    UDDI WSDL

    Description

    Description du service

    Rponse

    SOAP XML

    XML

    XML

  • Architecture des Web Service (2)

    Les acteurs Annuaire Service Registry

    Annuaire des services publis par les providers (UDDI) Gr sur un serveur niveau application, entreprise ou

    mondial

    Service Provider Application s'excutant 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 auformat XML des Web Services en prcisant les mthodes pouvant treinvoques, leur signature et le point d'accs (URL, port, etc..).

    - Dialecte XML permettant de dcrire un web service

    - UDDI (Universal Description, Discovery and Integration) normalise unesolution d'annuaire distribu de Web Services, permettant la fois lapublication et l'exploration. UDDI se comporte lui-mme comme un Webservice dont les mthodes sont appeles via le protocole SOAP.

    - Annuaire permettant denregistrer de rechercher des serviceweb

    - SOAP (Simple Object Access Protocol) : Protocole de communicationen service Web par change de message XML.

  • Communication Web Service

    Les diffrentes technologie pour accder un service web

    REST (Reprsentational State Transfer)

    Consommer un WebService REST revient appeler une simpleURL en http (Post ou Get) , le serveur renvoie sa rponse, laplupart du temps en XML

    Communication par change de fichier XML

    XML-RPC SOAP (Simple Object Access Protocol)

  • REST (Representation State Transfer)

    Exemple : Rcupration des Informations dune commune par une requte http en mode GET

    http://ws.ct-goat.com/getCityInfos.asp ?uID=xxxxxxxxxxxxx&comID=562

    Requte

    Rponse ServeurWeb

    CalculateurItinraire

    (ws.ct-goat)

    Rest en http

    XML

  • REST (Representation State Transfer)

    Nest pas un protocole ou un format, mais unearchitecture (celle de HTTP).

    Chaque mthode ou service est attach une URL

    Consommer un WebService REST revient appeler unesimple URL en http (Post ou Get) , le serveur renvoie sarponse, la plupart du temps en XML

    Trs utilis pour la communication entre machines.

  • XML-RPC

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

  • XML-RPC

    Le message dune requte est inclus dans un lment Le message dune rponse est inclus dans une lment Llment est transmis dans un lment Le type des valeurs peut tre dfini avec des lments de type .

    Requte

  • XML-RPC

    Rponse :Rponse Correct Rponse en erreur

  • XML-RPC

    XML-RPC est un protocole RPC (Remote procedure call), une spcification simple et unensemble de codes qui permettent des processus s'excutant dans des environnementsdiffrents de faire des appels de mthodes travers un rseau.

    XML-RPC permet d'appeler une fonction sur un serveur distant partir de n'importe quel systme(Windows, MacOSX, Linux) et avec n'importe quel langage de programmation. Le serveur est luimme sur n'importe quel systme et est programm dans n'importe quel langage.

    Cela permet de fournir un Service Web utilisable par tout le monde sans restriction de systme oude langage.

    Les processus d'invocation distance utilisent le protocole HTTP pour le transport des donneset la norme XML pour le codage des donnes.

    XML-RPC est conu pour permettre des structures de donnes complexes d'tre transmises,excutes et renvoyes trs facilement.

    XML-RPC est l'anctre de SOAP.

    (dfinition : Wikipdia)

  • XML-RPC

    Exemple de requte en Java :

    XmlRpcClientxmlrpc=newXmlRpcClient("http://www.localhost.com/xmlrpc/server.asp");

    Vectorparams=newVector();

    params.addElement(123456);

    IntegerretVal=(Integer)xmlrpc.execute("GetCurrentBalance",params);

  • SOAP

    SOAP dfinit le cadre gnral pour lchange de donnes structures en XML SOAP permet dchanger des structures de donnes complexes en XML avec les

    Namespaces, et la spcification XML Schma 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 )

    Spcification du W3C (WS-*) SOAP 1.2 Messaging Framework :la structure pour les changes de messages SOAP 1.2 Adjuncts : Ajouts Primer : Prliminaires (sous forme de tutoriel..)

  • SOAP

    ApplicationCliente

    ParserXML

    Procuration

    d'interface

    Translateur

    SOAP

    ParserXML Serveurd'application

    Messages

    SOAPAppel

    Rponse

    HTTP

    RPC

    local

    CLIENT SERVEUR

  • SOAP

    Structure dun message SOAP

    Protocol Headers

    SOAP Envelope

    SOAP Header

    Dfinit le document XMLcomme un messageSOAPOptionnelle : Stockage des informations spcifiques la transaction (lments optionnels : actor,MustUnderstand, encoding..)

    Contenant des donnes transporter.

    SOAP FaultGestion derreurs

    Protocole de transport

    Ex HTTP

    SOAP Body

  • SOAP

    Envelope: c'est lui qui contient le message et ses diffrentes sous-blocs. Il s'agit dubloc racine XML. Il peut contenir un attribut encodingStyle dont la valeur est uneURL vers un fichier de typage XML qui dcrira les types applicables au messageSOAP.

    Header: c'est un bloc optionnel qui contient des informations d'en-ttes sur lemessage. Si il est prsent, ce bloc doit toujours se trouver avant le bloc Body l'intrieur du bloc Envelope.

    Body: c'est le bloc qui contient le corps du message. Il doit absolument tre prsentde manire unique dans chaque message et tre contenu dans le bloc Envelope.SOAP ne dfinit pas comment est structur le contenu de ce bloc. Cependant, ildfinit le bloc Fault qui peut s'y trouver.

    Fault: ce bloc est la seule structure dfinie par SOAP dans le bloc Body. Il sert reporter des erreurs lors du traitement du message, ou lors de son transport. Il nepeut apparatre qu'une seule fois par message. Sa prsence n'est pas obligatoire.

    Structure dun message SOAP

  • SOAP-Header

    Charles

    12AE3C

    FR

    Exemple : Bloc Header Message destination de Plusieurs Nud SOAP

    Elment USER :

    A destination du NudRightManager

    Elment Session

    A destination du Nud Final

    Elment USER :

    A destination du prochainNoeud

  • SOAP Header

  • SOAP Fault

    Exemple : Bloc Fault

    soap:ServerImpossiblederouterlemessage.http://www.exemple.com/messageDispatcherE_NO_ROUTE

    Description bref du message

    Identifiant de lerreur dfinit parSOAP

    Composant qui gnrlerreur (URL)

    Message spcifique lapplication

  • SOAP Exemple

    http://www.webservicex.net/

    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"

    string

    Protocole de transport

    Ex HTTP

    Dfinit le document XMLcomme un messageSOAP

    Contenant des donnes transporter.

    REQUETE

  • SOAP Exemple

    HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length

    string

    FORD 2.28 11/24/2008 4:00pm +0.20 2.20 2.30 2.07 124718 18.0M 2.08 +9.62% 1.51 - 3.27 -0.174 N/A Forward Industrie

    Rponse SOAP

  • SOAP(Exemple)

    Appel du WebService stockquote en PHP

    CREATION dun OBJET SOAPCLIENT//L'ouverture du fichier WSDL va permettre d'automatiserl'utilisation du Web Service// Les mthodes dfinit dans le WSDL seront vu comme desmthodes interne

    APPEL de la mthode GETQUOTE du WS STOCKQUOTE

    // vu comme une mthode locale

  • SOAP

    Exemple dapplication

  • SOAP

    Implmentations JAVA (API et outils associs

    JAX-RPC (Java XML based RPC) : utilisation de SOAP enmode RPC

    JAXR (JA XML registries) : utilisation de UDDI JAXM (JA XML Messaging) : utilisation de SOAP en mode

    message Microsoft (technologie .NET)

    Api dans la bibliothque 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

    ?