Les services web. Plan. Définitions et généralités Architecture et technologies au cœur des services web
|
|
|
- Paulette Lefrançois
- il y a 10 ans
- Total affichages :
Transcription
1 Plan Les services web Clémentine Nebut LIRMM / Université de Montpellier 2 Définitions et généralités Architecture et technologies au cœur des services web SOAP WSDL UDDI Services web et sécurité Les services web avec.net et Java 1 2 Définition du W3C «A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols.» gloss/ Traduction «Un service web est un système logiciel identifié par une URI, dont les interfaces publiques et les associations sont définies et décrites en XML. Sa définition peut être découverte par d autres systèmes logiciels. Ces systèmes peuvent alors interagir avec le service web selon les modalités indiquées dans sa définition, en utilisant des messages XML transmis par des protocoles internet.» 3 4 Vocabulaire 1 Vocabulaire 2 URI : Uniform Resource Identifier Une URI décrit : Le mécanisme pour accéder à la ressource La machine où se trouve la ressource Le nom de la ressource sur la machine EX: URL : mail : mailto:[email protected] FTP : ftp://ftp.computer.org. Association (binding) Association entre une interface, un protocole concret, et un format de données Spécification du protocole et du format des données utilisés pour échanger des messages en vue d une utilisation d une interface 5 6
2 Définition opérationnelle W3C WS Description WG (mai 2003) A resource [on the Web] offers one or more interfaces. An interface is a collection of operations. An operation is an exchange of messages between the service provider and the requestor. An endpoint is a binding of an interface to a particular protocol. It is identified by a URI. A service is a collection of endpoints bound to the same interface, and therefore to the same resource. En plus simple Un service web est un programme décrit en XML et identifié par une URI Proposant des fonctionnalités que d autres programmes peuvent découvrir et utiliser grâce à des protocoles décrits en XML, et basés sur l échange de messages décrits en XML et transmis via des protocoles internet. 7 8 But des services web Comment atteindre ce but? Remplacer les protocoles actuels (RPC, DCOM, RMI,...) Faire interagir des composants hétérogènes, distants, et indépendants avec un protocole standard (SOAP). Dédiés aux applications B2B, EAI (Enterprise Application Integration), P2P. Ce sont des briques de base permettant la construction d'applications Web plus complexes Moyens : Échange de données XML Faible couplage entre machines Indépendance vis à vis des langages et des OS 9 10 Des architectures réparties aux WS L exemple de l agence de voyage Constat : l informatique d entreprise est répartie Exemple : une banque Une application de traitement et de données Plusieurs utilisations clientes Pages web, minitel, GAB, On a donc des architectures adaptatives et ouvertes Publication de services à l intention d autres entreprises (B2B) (ex : agence de voyage) Une agence de voyage web combine plusieurs services : Réservation de billets d avion, de train Réservation de logement Réservation de véhicules de location Et donc utilise les services proposés par la SNCF, Air France, RentACar, 11 12
3 Services web et applis distribuées Les applications distribuées ont évolué Protocoles d échange (RMI, CORBA, DCOM, ) Langages Interfaces Applications très dépendantes des technologies Couplage assez fort Services web et applis distribuées Le web impose : des protocoles de communication légers avec services plus faibles (http, ftp, ) Un client léger (le navigateur) Présentation html Couplage faible Services web et applis distribuées Que fait on avec des services web? Services web = combiner les caractéristiques des applis distribuées (à la corba) avec les contraintes du web Transport assuré par http sur TCP/IP Modèle client serveur Messages échangés en XML (http transporte du texte) Passage du web client au web machines Interrogation d annuaire pour trouver un service web Négociation avec les fournisseurs potentiels pour connaître la nature exacte du service, le coût, Interaction avec le service pour connaître les modalités d interaction Composition de services Publication de services Quand utiliser des services web? Utilisations classiques Besoin d interopérabilité dans des environnements applicatifs distribués Accès à des applications à travers de pare feux Possibilité d utiliser différentes plateformes et différents langages Applications bien délimitées et sans forte interactivité Service météo, cotations boursières, google, Assemblage de composants faiblement couplés Agence de voyage Applications orientées message 17 18
4 Acteurs impliqués Le client Utilise, invoque des servives web Le fournisseur Fournit le service web Est représenté par un serveur d applications L annuaire Pour publier le service, pour le rendre accessible aux clients 19 Découverte Client Architecture de base Programme client Annuaire Description du service Interaction Service Publication Fournisseur Description du service 20 UDDI Découverte Client Programme client Technologies Annuaire Description du service SOAP Interaction Service Publication Fournisseur Description du service WSDL 21 Technologies WSDL Web Service Description Language Description des services SOAP Simple Object Access Protocol Protocole de communication des services web UDDI Universal Data Description Language Annuaire de WS 22 Dynamique Trouver un fournisseur de service (UDDI) Lien vers un document WSDL Annuaire UDDI Où l on retrouve les proxies Annuaire Client du Service Web Modalités d interaction (WSDL) Description du service Echanges réels (SOAP) XML/SOAP body SOURCE: SIMON HUTSON, KPMG Fournisseur du Service Web 23 Découverte Client Description du service Programme client Programme Proxy client Description du service Interaction Service Publication Fournisseur Description du service 24
5 L intérêt des outils WSDL et SOAP sont des dialectes XML Il serait très long de transcrire à la main le WSDL en un proxy de générer à la main les requêtes SOAP nécessaires de décortiquer à la main les messages SOAP Les outils s en chargent... D où vient l interopérabilité? De la standardisation ce qui est échangé : du WSDL, standard W3C comment c est échangé : SOAP, standard W3C Donc un WS C# peut très bien interopérer avec un WS java et réciproquement Motivations de SOAP Simple Object Access Protocol SOAP Clémentine Nebut [email protected] LIRMM / Université de Montpellier 2 CORBA, RMI, COM/DCOM, ne sont pas des solutions satisfaisantes Coût d installation, portage difficile, solutions propriétaires ou mono langages Le Web a besoin d un nouveau protocole Multi langages, multi plateformes Respectant les formats d échanges du Web (Réponses et requêtes en XML) Facile à implémenter sur différents protocoles de transport (RPC, HTTP, ) Permettant de franchir les «firewalls» Avec une spécification non propriétaire garantie par un organisme indépendant (le W3C) La réponse : SOAP (Simple Object Access Protocol) SOAP, c est quoi? SOAP codifie simplement une pratique existante Utilisation conjointe de XML et HTTP SOAP est un protocole minimal pour appeler des méthodes sur des serveurs, services, composants, objets sans imposer un langage dédié sans l utilisation d un ORB (CORBA, DCOM, ) ou d un serveur web particulier (Apache, IIS, ) sans imposer un modèle de programmation sans réinventer la poudre SOAP a été construit pour pouvoir être aisément porté sur toutes les plates formes et les technologies Les 3 facettes d une requête SOAP un autre RPC Objets Les requêtes contiennent les paramètres IN et INOUT Les réponses contiennent les paramètres INOUT et OUT un protocole d échange de messages La requête contient un seul message (appel sérialisé d une méthode sur un objet) La réponse contient un seul message (retour sérialisé d un appel de méthode sur un objet) un format d échange de documents La requête contient un document XML Le serveur retourne une version transformée 29 30
6 Comment ça marche? (en gros) En résumé L approache SOAP consiste : À encapsuler un service dans une méthode (java par exemple) Puis à démarrer un thread qui écoute les requêtes adressées à ce service (les requêtes sont adressées dans le format SOAP et contiennent le nom du service et les paramètres requis). ex : servlet java tournant dans Tomcat Le thread qui écoute décode la requête SOAP et la transforme en appel de méthode, récupère le résultat de l appel et le transmet au demandeur SOAP = HTTP + XML Navigateur Client Application partie cliente Client HTTP requêtes SOAP (XML) Réponses SOAP (XML) Serveur HTTP Serveur Asp, servlets, cgi, Application partie serveur Pourquoi utiliser HTTP? Pourquoi utiliser XML? HTTP (HyperText Transfer Protocol) est devenu de facto le protocole de communication de l Internet HTTP est disponible partout HTTP est un protocole simple HTTP est un protocole sans connexion Peu de paquets sont nécessaires pour échanger des informations HTTP offre un niveau de sécurité simple et effectif HTTP est le seul protocole utilisable à travers des pare feux Utilise du texte (peut être lu et écrit directement) Construire correctement du texte XML est simple XML est aujourd hui adopté par tous les acteurs de l Internet : plates formes, éditeurs, XML permet une extensibilité aisée par l utilisation d espaces de nommage (namespaces et URIs) XML permet d ajouter du typage et de la structure à des informations L information peut être sauvegardée n importe où sur le Net Les données fournies par de multiples sources peuvent être agrégées en une seule unité Chaque partie à sa propre structure XML Chaque partie peut définir des types spécifiques Les messages SOAP Exemple Un message SOAP est un document XML qui contient : Une déclaration XML facultative Une enveloppe SOAP composée d : Une en tête SOAP = HEADER Un corps SOAP = BODY Message SOAP Enveloppe SOAP HEADER StockQuote est un ensemble de services qui permet d obtenir des informations sur des actions boursières. GetLastTradePrice est le service qui permet de connaître la dernière valeur d une action. Cet exemple présente un échange de messages entre un client qui veut savoir la valeur de l action «DIS». BODY 35 36
7 Exemple de requête POST /StockQuote HTTP/1.1 Propre au Host: Content Type: text/xml; charset="utf 8" portage sur Content Length: nnnn HTTP SOAPAction: "Some URI" <SOAP ENV:Envelope xmlns:soap ENV= Entête HTTP spécifique pour qu un serveur HTTP puisse reconnaître la requête SOAP " SOAP ENV:encodingStyle= " <SOAP ENV:Body> <m:getlasttradeprice xmlns:m="some URI"> namespace utilisateur <symbol>dis</symbol> </m:getlasttradeprice> </SOAP ENV:Body> </SOAP ENV:Envelope> 37 Exemple de réponse HTTP/ OK Content Type: text/xml; charset="utf 8" Content Length: nnnn <SOAP ENV:Envelope xmlns:soap ENV= " SOAP ENV:encodingStyle= " <SOAP ENV:Body> <m:getlasttradepriceresponse xmlns:m="some URI"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP ENV:Body> </SOAP ENV:Envelope> 38 Eléments de SOAP SOAP Message Structure L enveloppe (enveloppe) Définit la structure du message Les règles d encodage (encoding rules) Définit le mécanisme de sérialisation permettant de construire le message pour chacun des types de données pouvant être échangés Fonctionnement en modèle client / serveur (RPC representation) Définit comment sont représentés les appels de procédure et les réponses SOAP Message HTTP Headers SOAP Envelope SOAP Header Headers SOAP Body Method Call & Data Le message SOAP Complet Entête standard HTTP et entête SOAP HTTP Enveloppe Entête Entête individuelle Corps qui contient les appels de méthodes SOAP Appel de méthode et description en XML de données Structure d un message Exemple avec header Enveloppe / Envelope Élément racine Namespace : SOAP ENV Entête / Header Élément optionnel Contient des entrées non applicatives (Transactions, sessions, ) Corps / Body Contient les entrées du message Nom d une procédure, valeurs des paramètres, valeur de retour Peut contenir les éléments «fault» (erreurs) 41 <env:envelope xmlns:env=" envelope"> <env:header> <n:alertcontrol xmlns:n=" <n:priority>1</n:priority> <n:expires> T14:00:00 05:00</n:expires> </n:alertcontrol> </env:header> <env:body> <m:alert xmlns:m=" <m:msg>pick up Mary at school at 2pm</m:msg> </m:alert> </env:body> </env:envelope> 42
8 Types de message SOAP SOAP définit trois types de message Appel (Call) obligatoire Réponse (Response) optionnel Erreur (Fault) optionnel Appel simple POST /StockQuote HTTP/1.1 Host: Content Type: text/xml Content Length: nnnn SOAPMethodName: Some Namespace URI#GetLastTradePrice <SOAP:Envelope xmlns:soap="urn:schemas xmlsoaporg:soap.v1 > <SOAP:Body> <m:getlasttradeprice xmlns:m="some Namespace URI > <symbol>dis</symbol> </m:getlasttradeprice> </SOAP:Body> </SOAP:Envelope> Réponse Erreur HTTP/ OK Content Type: text/xml Content Length: nnnn <SOAP:Envelope xmlns:soap="urn:schemas xmlsoaporg:soap.v1 > <SOAP:Body> <m:getlasttradepriceresponse xmlns:m="some Namespace URI > <return>34.5</return> </m:getlasttradepriceresponse> </SOAP:Body> </SOAP:Envelope> <SOAP:Envelope xmlns:soap="urn:schemas xmlsoaporg:soap.v1> <SOAP:Body> <SOAP:Fault> <faultcode>200</faultcode> <faultstring> SOAP Must Understand Error </faultstring> <runcode>1</runcode> </SOAP:Fault> <SOAP:Body> </SOAP:Envelope> Erreur balise Fault Encodage Balise permettant de signaler des cas d erreur. La balise Fault contient les balises suivantes faultcode : un code permettant d identifier le type d erreur Client, Server, VersionMismatch, MustUnderstand faultstring : une explication en langage naturel faultactor : une information identifiant l initiateur de l erreur detail : Définition précise de l erreur. Un message SOAP contient des données typées => nécessité de définir un moyen d encoder ces données Vocabulaire SOAP : Value (valeur d une donnée) Simple value (string, integer,etc) Compound value (array, struct, ) Type (d une value) Simple Type Compound Type 47 48
9 Encodage L encodage c est la représentation de valeurs sous forme XML. Le décodage c est la construction de valeurs à partir d XML L XML qui représente les valeurs a une structure qui dépend du type des valeurs Il faut donc définir le type Soit mécanisme définit par l utilisateur Soit utilisation de schémas XML (préconisé) Simple Types Type (XML Schema) <element name="age" type="int"/> <element name="color"> <simpletype base="xsd:string"> <enumeration value="green"/> <enumeration value="blue"/> </simpletype> </element> Valeurs <age>45</age> <color>blue</color> Type XML Schema Construction de Type XML Schema Simple Types Compound Types La définition d un schéma XML pour tout type peut être fastidieuse SOAP a défini deux façons de préciser le type d une valeur sans définir le Schéma XML: <SOAP ENC:int>45</SOAP ENC:int> <cost xsi:type="xsd:float">29.5</cost> Une structure est un type composé dans lequel les membres sont accessibles uniquement grâce à des noms différents. Un tableau est un type composé dans lequel les membres sont accessibles uniquement grâce à leur position Struct Array Type (XML Schéma) <element name="person"> <complextype> <element name="name" type="xsd:string"/> <element name="age" type="xsd:int"/> </complextype> <element> Valeur <Person> <name>jean</name> <age>48</age> </Person> Le type est directement précisé grâce aux balises SOAP: <myfavoritenumbers SOAP ENC:arrayType="xsd:int[2] "> <SOAP ENC:int>3</SOAP ENC:int> <SOAP ENC:int>4</SOAP ENC:int> </myfavoritenumbers> 53 54
10 Sécurité Basée sur la sécurité dans http HTTPS Certificats X.509 Les Firewalls peuvent filtrer les messages facilement Pas de transfert de code applicatif Uniquement des données Chaque développeur choisit de rendre visible telle ou telle méthode Les paramètres sont typés lors du transport Portée de SOAP SOAP est simple et extensible Il permet de réaliser des appels de méthode sur le Web Indépendant des OS, des modèles objets, des langages Transport des messages par HTTP + XML Fonctionne avec l infrastructure Internet existante Permet l interopérabilité entre OS, langages et modèles objets Ce n est pas un système réparti à objets : Pas de ramasse miettes Pas de contrôle de types Pas de passage d objets par référence Implémentations de SOAP SOAP et les autres See JAXM, JAX RPC RI Apache SOAP 2.2 Apache AXIS SoapRMI SOAPDirect InstantXML.Net QUI Plateformes Langages de prog Lang. de def de service réseau Firewall Nommage RMI SUN Multi Java Java TCP, HTTP, IIOP customisable Tunneling HTTP RMI, JDNI, JINI RPC SUN/OSF Multi C, C++, RPCGEN TCP, UDP IP+port DCOM Microsoft win32 C++, VB, VJ, Opascal, ODL IP/IPX IP+nom CORBA OMG Multi Multi IDL GIOP/IIOP, Pluggable Transport Layer HTTP tunneling CORBA firewall Cos naming Cos Trader SOAP W3C Multi Multi XML RPC, HTTP, SNTP HTTP IP+port, URL 58 Conclusion (SOAP) Technologies Ni simple ni vraiment objet Annuaire mais un protocole assez léger basé XML s appuyant principalement sur http pour l échange d informations dans un environnement distribué SOAP n'est plus un acronyme depuis la version UDDI Découverte Client Programme client Description du service SOAP Interaction Service Fournisseur Description du service WSDL Publication 60
11 Introduction Web Services Description Language Clémentine Nebut LIRMM / Université de Montpellier 2 But : Décrire les services Web comme un ensemble d opérations et de messages abstraits associé à des protocoles et des serveurs réseaux WSDL est un langage basé sur XML utilisé pour décrire les services offerts par une entreprise, fournir un moyen aux particuliers ou à d autres entreprises d y accéder électroniquement modulaire (import d autres documents WSDL) WSDL Partie Abstraite et Concrète Partie abstraite : Messages et données échangées de manière abstraite Types de données Messages élémentaires Opérations (services élémentaires) Les opérations sont regroupées au sein d'un porttype Partie concrète : Manière dont les données sont encodées et quel protocole est utilisé Encodage et protocole utilisé Adresse du service Éléments d une définition WSDL <types> Contient les définitions de types <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 0 ou 1 message en entrée, 0 ou plusieurs messages 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 Définitions abstraites et concrètes Premier Exemple Types Messages PortTypes Bindings Opérations Opérations Référence Contient Modification D éfinitions abstraites D éfinitions concr è tes <?xml version="1.0" encoding="utf 8"?> <definitions name="foosample" targetnamespace=" xmlns:wsdlns=" xmlns:typens=" xmlns:xsd=" xmlns:soap=" xmlns:stk=" toolkit/wsdl extension" xmlns=" <types> <schema targetnamespace=" xmlns=" xmlns:soap ENC=" xmlns:wsdl=" elementformdefault="qualified" > </schema> </types> <message name="simple.foo"> <part name="arg" type="xsd:int"/> </message> <message name="simple.fooresponse"> <part name="result" type="xsd:int"/> </message> 5 6 <binding name="simplebinding" type="wsdlns:simpleporttype"> <stk:binding preferredencoding="utf 8" /> <soap:binding style="rpc" transport=" <operation name="foo"> <soap:operation soapaction=" <input> <soap:body use="encoded" namespace=" encodingstyle=" /> </input> <output> <soap:body use="encoded" namespace=" encodingstyle=" /> </output> </operation> </binding> <service name="foosampleservice"> <port name="simpleport" binding="wsdlns:simplebinding"> <soap:address location=" </port> </service> </definitions> Services Ports 65 4 <porttype name="simpleporttype"> <operation name="foo" parameterorder="arg" > <input message="wsdlns:simple.foo"/> <output message="wsdlns:simple.fooresponse"/> </operation> </porttype> 66
12 1 Entête <?xml version="1.0" encoding="utf 8"?> Début des définitions de <definitions name="foosample" l exemple targetnamespace=" Espace de noms cible xmlns:wsdlns=" xmlns:typens=" xmlns:xsd=" xmlns:soap=" xmlns:stk=" toolkit/wsdl extension" xmlns=" Définition des espaces de noms Espace de noms par défaut 2 Types <types> <schema targetnamespace=" xmlns=" xmlns:soap ENC=" xmlns:wsdl=" elementformdefault="qualified" > </schema> </types> Ici, pas de types spécifiques à l application Ex de type Google : <xsd:complextype name="directorycategory"> <xsd:all> <xsd:element name="fullviewablename" type="xsd:string"/> <xsd:element name="specialencoding" type="xsd:string"/> </xsd:all> </xsd:complextype> Messages 4 PortType <message name="simple.foo"> <part name="arg" type="xsd:int"/> </message> <message name="simple.fooresponse"> <part name="result" type="xsd:int"/> </message> paramètre valeur de retour Permet la définition des messages à échanger pour les passages de paramètres Chaque paramètre a un nom et un type <porttype name="simpleporttype"> <operation name="foo" parameterorder="arg" > <input message="wsdlns:simple.foo"/> <output message="wsdlns:simple.fooresponse"/> </operation> </porttype> Définition des méthodes, regroupées dans des porttype Operation Définition des paramètres Association entre l opération foo et les messages à échanger (tels que définis en 3), ie associe les paramètres (et leur ordre) Binding 6 Port et service <binding name="simplebinding" type="wsdlns:simpleporttype"> <stk:binding preferredencoding="utf 8" /> <soap:binding style="rpc" transport=" <operation name="foo"> <soap:operation soapaction=" <input> <soap:body use="encoded" namespace=" encodingstyle=" /> </input> <output> <soap:body use="encoded" namespace=" encodingstyle=" /> </output> </operation> </binding> <service name="foosampleservice"> <port name="simpleport" binding="wsdlns:simplebinding"> <soap:address location=" </port> </service> </definitions> Un service contient des ports Un port associe un binding avec une adresse Association avec le protocole, encodage Ici : encodage SOAP 71 72
13 Élément <types> Contient les définition de types utilisant un système de typage (comme XSD). Exemple <! type defs > <types> <xsd:schema targetnamespace="urn:xml soap address demo" xmlns:xsd=" <xsd:complextype name="phone"> <xsd:element name="areacode" type="xsd:int"/> <xsd:element name="exchange" type="xsd:string"/> <xsd:element name="number" type="xsd:string"/> </xsd:complextype> <xsd:complextype name="address"> <xsd:element name="streetnum" type="xsd:int"/> <xsd:element name="streetname" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:int"/> <xsd:element name="phonenumber" type="typens:phone"/> </xsd:complextype> </xsd:schema> </types> Élément <message> Décrit les noms et types d un ensemble de champs à transmettre Paramètres d une invocation, valeur du retour, Exemple <! message declns > <message name="addentryrequest"> <part name="name" type="xsd:string"/> <part name="address" type="typens:address"/> </message> <message name="getaddressfromnamerequest"> <part name="name" type="xsd:string"/> </message> <message name="getaddressfromnameresponse"> <part name="address" type="typens:address"/> </message> Élément <message> Éléments <porttype> et <operation> Les messages sont envoyés entre deux interlocuteurs Un message est composé de plusieurs parts Deux façons de définir des parts Soit une part est un élément de type simple <wsdl:message name= TelMsg"> <wsdl:part name= areacode" type="xsd:int" /> <wsdl:part name= number" type="xsd:string" /> </wsdl:message> Soit une part est un élément XML dont le type est défini dans un XML Schema <wsdl:message name= TelMsg"> <wsdl:part name="personne" element="phone" /> </wsdl:message> 75 Un porttype permet d identifier (nommer) de manière abstraite 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 de faute (<fault>). Solicit response Le point d entrée envoie un message (<output>) et recoit un message corrélé (<input>) ou un ou plusieurs messages de faute (<fault>). Binding HTTP : 2 requêtes HTTP par exemple Notification Le point d entrée envoie un message de notification (<output>) Paramètres Les champs des messages constituent les paramètres (in,out, inout) des opérations Une opération : Reçoit des messages : <wsdl:input > Envoie des messages : <wsdl:output > ou <wsdl:fault > 76 Éléments <porttype> et <operation> Exemple <! port type declns > <porttype name="addressbook"> <! One way operation > <operation name="addentry"> <input message="addentryrequest"/> </operation> <! Request Response operation > <operation name="getaddressfromname"> <input message="getaddressfromnamerequest"/> <output message="getaddressfromnameresponse"/> </operation> </porttype> Élément <binding> WSDL permet de lier une description abstraite (porttype) à un protocole. Chacune des opérations d un porttype pourra être liée de manière différente. Le protocole SOAP est un des protocoles qui peut être utilisé. D autres binding sont standardisés par WSDL : HTTP et MIME
14 Élément <binding> Élément <binding> SOAP Un Binding : peut être identifié par un nom : name identifie le porttype : type <wsdl:binding name="binding_name" type="nom du porttype" > </wsdl:binding> 79 Pour préciser que le binding est de type SOAP, il faut inclure la balise suivante : <soap:binding transport="uri" style="soap_style" /> L attribut transport définit le type de transport ( pour utiliser SOAP/HTTP) L attribut style définit la façon dont sont créées les messages SOAP de toutes les opérations rpc : encodage RPC défini par SOAP RPC document : encodage sous forme d élément XML Pour chaque opération du porttype : il faut préciser l URI de l opération : soapaction on peut 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 80 Élément <binding> SOAP et HTTP Élément <binding> SOAP et SMTP <! binding declns > <binding name="addressbooksoapbinding" type="addressbook"> <soap:binding style="rpc" transport=" <operation name="addentry"> <soap:operation soapaction=""/> <input> <soap:body use="encoded" namespace="urn:addressfetcher2" encodingstyle=" </input> <output> <soap:body use="encoded" namespace="urn:addressfetcher2" encodingstyle=" </output> </operation> <operation name="getaddressfromname"> <soap:operation soapaction=""/> <input> <soap:body use="encoded" namespace="urn:addressfetcher2" encodingstyle=" </input> <output> <soap:body use="encoded" namespace="urn:addressfetcher2" encodingstyle=" </operation> </binding> <binding name="stockquotesoap" type="tns:stockquoteporttype"> <soap:binding style="document" transport=" <operation name="subscribetoquotes"> <input message="tns:subscribetoquotes"> <soap:body parts="body" use="literal"/> <soap:header message="tns:subscribetoquotes" part="subscribeheader" use="literal"/> </input> </operation> </binding> Élément <service> Outils Un service est un ensemble de ports ie de points d entrée Un port a un porttype, et, dans le cadre de SOAP, un port a une adresse Exemple : <! service decln > <service name="addressbookservice"> <port name="addressbook" binding="addressbooksoapbinding"> <soap:address location=" </port> </service> Générateur WSDL à partir de déploiement SOAP ou EJB, Générateur de proxy SOAP à partir de WSDL Toolkits (Wsdl2Java / Java2Wsdl, ) Propriétaires (non normalisés) Outils de WSDL vers C# et réciproquement 83 84
15 Conclusion (WSDL) Technologies Un dialecte XML Permettant de décrire des services De manière verbeuse (c est du XML ) Association avec un protocole (souvent SOAP) UDDI Découverte Annuaire Description du service WSDL Publication 85 Client Programme client SOAP Interaction Service Fournisseur Description du service 86 UDDI Universal Description, Discovery and Integration Clémentine Nebut [email protected] LIRMM / Université de Montpellier 2 Origine : Besoin de découvrir les Web Services Les concepteurs d'applications Web ont besoin de trouver les fournisseurs de services Web Les outils ont besoin d'obtenir la description de ces services pour coder les appels nécessaires Les applications elles mêmes peuvent avoir besoin de trouver de nouveaux services Web en cours d'exécution UDDI a été créé pour répondre à ces besoins par OASIS (SUN, Microsoft, Oracle,...) UDDI est un modèle de découverte de services Web centralisé avec réplication Annuaire UDDI Fonctionnement UDDI Annuaire UDDI Annuaire UDDI IBM Répliquer Microsoft Répliquer Annuaire UDDI 1. Programmeurs et sociétés peuplent le registre avec des descriptions de types de services 4. Moteurs de recherche et applications interrogent le registre pour découvrir les services des autres entreprises Trouver Client services Web Exécuter Ariba Publier Fournisseur services Web 2. Les entreprises peuplent le registre avec des descriptions des services qu elles fournissent Business Service Type Registrations Registrations UDDI Business Registry 3. UDDI assigne un identifiant unique à chaque service et enregistrement 5. Utilisation des données 89 90
16 Registre UDDI Les entreprises fournissent des données publiques sur leur propre compte et sur leurs services Les organismes de normalisation, les développeurs et les entreprises fournissent des informations sur les types de services Pages Blanches Pages Jaunes Pages Vertes Service Type Registrations (tmodels) Pages Blanches UDDI Liste des entreprises, avec infos associées Nom entreprise Description (texte) Contact Noms, n tél., fax Site Web, etc. Identificateurs publics N SIRET, etc Pages Jaunes UDDI Pages Vertes UDDI recensent les services web de chacune des entreprises sous le standard WSDL Informations techniques précises sur les services fournis : descriptions de services et d'information de liaison processus métiers associés tmodels UDDI Référentiels 0 n Structure de données pour décrire des taxonomies UDDI + infos techniques Provider: Information sur l entité proposant le service Service: Informations descriptives sur la famille de produits offerts tmodel: Descriptions des spécifications des services 1 n Type Public : Microsoft IBM... Privé ou d entreprise Accès Défini en WSDL Plusieurs APIs d interrogation d UDDI 0 n Binding: Informations techniques sur le point d entrée du service et sur les specs de construction du service Les Bindings contiennent les references aux tmodels. Ces references designent les spécifications de l interface pour un service
17 Problèmes d'uddi Pas de modérateur d annuaires Risques d entrées erronées, de doublons, de fraude Pas de QoS Pas moyen d indiquer tarifs ou QoS Par ex. niveau sécurité assuré, fiabilité ou disponibilité, support des transactions Pas moyen de vérifier, voire appliquer niveau QoS Centralisation excessive pour certains Disco (recherche locale) Services Web et sécurité Clémentine Nebut [email protected] LIRMM / Université de Montpellier Sécurité et WS : les besoins Authentification des utilisateurs Gestion des autorisations Intégrité des messages (signatures) Cryptage des messages WS et sécurité : les solutions Au début des services web : rien! Puis, Microsoft, IBM et Verisign travaillent sur WSsecurity WS security est finalement repris par le consortium Oasis, sous le nom de WSS v1 : mars 2004 v2 : février 2006 SOAP Message Security : intégrité et confidentialité au niveau des messages SOAP WSS Terminologie (1) 3 mécanismes : envoi de jetons (tokens) à l'intérieur des messages intégrité des messages confidentialité des messages Besoins de WSS : des formats de jetons de sécurité des domaines de confiance (trust domains) des formats et des technologies pour le cryptage Sécurité de bout en bout et pas seulement au niveau des messages SOAP Confidentialité propriété faisant que les données ne sont pas accessibles aux entités, processus ou individus non autorisés Signature digitale valeur calculée par un algo crypographique et liée aux données. Les destinataires des données peuvent utiliser la signature pour vérifier que les données n'ont pas été altérées. En général : calcul et vérification par algos symétriques, basés sur des clefs différentes.
18 Intégrité Terminologie (2) Propriété : les données n'ont pas été modifiées Intégrité des messages Propriété du message fournie par une signature digitale Confidentialité des messages Propriété du message assurée par cryptage Terminologie (3) Jeton de sécurité (signé/pas signé) collection d'affirmations (claims) Affirmation (claim) : déclaration faite par une entité (nom, identité, privilèges,...) Confirmation d'affirmation : vérification qu'une affirmation s'applique à une entité Si signé : vérifié et cryptographiquement signé par une autorité spécifique (certificat X.509 ou ticket Kerberos) WSS : appliquer des concepts existants à SOAP Existant : protocole d'authentification : Kerberos ou X.509 classique paire login / mot de passe WSS codifie cela dans SOAP Les messages SOAP vont transporter des jetons d'authentification UserNameToken (mot de passe) Binaire : Kerberos ou X Consommateur de Web Service Schéma classique 1. requête pour obtenir un jeton 2. Jeton à ajouter aux messages SOAP 3. Envoi d'un message signé 5. Réponse Fournisseur de jetons de sécurité 4. validation du jeton Web service types : Jetons de sécurité (sécurity tokens) UsernameToken certificats X.509 Tickets Kerberos SOAP:actor en SOAP1.1 cible des infos de sécurité optionnel open.org/wss/2004/01/oasis wss wssecurity secext 1.0.xsd <SOAP:Envelope xmlns:soap="..."> <SOAP:Header> <wsse:security SOAP:role="..." SOAP:mustUnderstand="..."> <wsse:usernametoken>.. </wsse:usernametoken>... </wsse:security> </SOAP:Header> <SOAP:Body Id="MsgBody"> <! SOAP Body data > </SOAP:Body> </SOAP:Envelope> 107 Quelques éléments du UsernameToken /Username : nom d'utilisateur associé au jeton /Password : mot de passe pour l'utilisateur associé au jeton /Password/@Type : type de mot de passe fourni ; 2 types prédéfinis : PasswordText : mot de passe en clair PasswordDigest : digest du mot de passe, hash value encodée avec SHA1 du mot de passe (encodé en utf8) /Nonce :nonce (jeton (chaîne) unique de chiffrement généré de manière aléatoire) /Created : date et heure de création du token PasswordDigest=Base64(SHA 1(Nonce+Created+Password)) 108
19 Username Token : transmission en clair <S11:Envelope xmlns:s11="..." xmlns:wsse="..."> <S11:Header>... <wsse:security> <wsse:usernametoken> <wsse:username>zoe</wsse:username> <wsse:password>ilovedogs</wsse:password> </wsse:usernametoken> </wsse:security>... </S11:Header>... </S11:Envelope> soap Username Token : transmission cryptée <S11:Envelope xmlns:s11="..." xmlns:wsse="..." xmlns:wsu= "..."> <S11:Header>... <wsse:security> <wsse:usernametoken> <wsse:username>nnk</wsse:username> <wsse:password Type="PasswordDigest"> weyi3nxd8ljmnvksckfv8t3rghh3rw== </wsse:password> <wsse:nonce>wscqanjceac4mqobe07saq==</wsse:nonce> <wsu:created> T01:24:32Z</wsu:Created> </wsse:usernametoken> </wsse:security>... </S11:Header>... </S11:Envelope> 110 Client c1 mdp=azerty Scénario avec mot de passe haché Message avec jeton J : username=c1 passwordhaché nonce =bkg6876jhy6 ;m created=... calcul de : Serveur T.password(J.username)+ J.nonce+J.created Hachache SHA 1 puis base64 Si résultat= J.passwordHaché authentificationok sinon, authentificationko login password c1 azerty c2 qwerty T 111 Attaque possible et parade Le jeton peut être attrapé et réutilisé Parade 1 utiliser des timeout sur les messages open.org/wss/2004/01/oasis wss wssecurity utility 1.0.xsd Parade 2 <wsu:timestamp wsu:id="..."> <wsu:created ValueType="...">...</wsu:Created> <wsu:expires ValueType="...">...</wsu:Expires> garder un historique des nonces reçus le temps que les timestamp expirent Attaques toutefois possible (blocage du message)... </wsu:timestamp> 112 Utilisation de certificats X.509 Structure d'un certificat Chiffrement asymétrique clef publique pour encoder clef privée pour décoder Aucune garantie que la clé publique récupérée est celle du service auquel on s'adresse. Si pirate remplace la PK par la sienne, il sera en mesure de décoder les messages! Certificat : associe une PK à une entité Version de X.509 Numéro de série du certificat Algo de chiffrement utilisé pour signer le certificat Nom de l'autorité de certification émettrice Date de début de validité Date de fin de validité Objet de l'utilisation de la clé publique Clé publique du propriétaire Signature Hachage Chiffrement avec clef privée de l'autorité Délivré par un organisme de certification
20 Côté client Aperçu des tickets Kerberos : les acteurs key distribution center Hachage Version de X.509 Numéro de série du certificat Algo de chiffrement utilisé pour signer le certificat Nom de l'autorité de certification émettrice Date de début de validité Date de fin de validité Objet de l'utilisation de la clé publique Clé publique du propriétaire Hachage =? Serveur d'authentification KDC Ticket Granting Server Signature Déchiffrement avec clef publique de l'autorité Client C Serveur de tickets (TGS) Chiffrement avec clef privée de l'autorité 115 Serveur S 116 Aperçu des tickets Kerberos : les clefs initiales Client C Kc Serveur S key distribution center Serveur d'authentification KDC Kc Ktgs Ticket Granting Server Serveur de tickets (TGS) Ktgs Ks Ks 117 Aperçu des tickets Kerberos key distribution center 15. le client s'assure que le timestamp 1. nom, serveur de tickets Serveur d'authentification KDC est ok Kc Ktgs 3. Clef de session Kc,tgs 2. vérif 4. déchiffre chiffrée avec Kc Kc,tgs + Ticket Ttgs chiffré avec Ktgs Ticket Granting Server Kc Client C 5.Demande de ticket (id+date émission) chiffrée avec Kc,tgs+ ticket Ttgs Serveur de tickets (TGS) 8.Ticket d'accès au serveur chiffré avec Ks Ks Ktgs + Kc,s chiffrée avec Kc,tgs 6.déchiffre Ttgs 9.déchiffre 7. déchiffre l'identifiant Kc,s du client avec Kc,tgs 11.id+ticket d'accès 10. génère id avec Ks 12.déchiffre ticket timestamp chiffré Serveur S 13. fabrication acquittement avec 118 avec Kc,s 14. acquittement timestamp+1 chiffré avec Kc,s Certificats X.509, Tickets Kerberos et SOAP <wsse:binarysecuritytoken ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary" Id="SecurityToken f49bd662 59a0 401a ab23 1aa f"> MIIHdjCCB... </wsse:binarysecuritytoken> wsse:x509v3 ou wsse:kerberosv5tgt ou wsse:kerberosv5st wsse:base64binary ou wsse:hexbinary 119 Dans WSE Implémentation WSS en.net Web Service Enhancement Manipulation de certificats Encryption Manipulation des messages SOAP 120
21 Java Implémentation Beaucoup de bibliothèques, projets autour des WS Jusqu'à peu : rien d' intégré Récemment : Metro Classique : AXIS Clémentine Nebut [email protected] LIRMM / Université de Montpellier 2 Beaucoup de standards et APIs, un peu fouillis JAXM, JAX RPC, JSM, Comparaison Sous.NET Une partie intégrée au framework Une partie dans WSE manipulation des messages gestion de la sécurité (implémentation WSS) filtres asp.net qui interceptent les messages entrants et sortants intégration à VisualStudio Conclusion WS et interopérabilité La 3ème génération du Web Technologies Standards du Web SOAP 1.1 (puis SOAP 1.2) WSDL Technologies non standardisées UDDI, DISCO WS * interopérabilité, sécurité, orchestration, policy Un ensemble de règles (basic profile) à suivre pour l'interopérabilité Des outils qui vérifient les règles en monitorant les échanges Règles plus ou moins suivies par les outils qui génèrent les requêtes SOAP
22 WS I : exemples de règles un message doit être sérialisé en UTF 8 ou UTF 16 un receveur doit générer une faute soap:mustunderstand quand un lessage contient un bloc de header obligatoire (ie avec un attribut soap:mustunderstand à 1) que le receveur ne comprend pas un service ne doit pas exiger une acceptation des cookies côté client pour fonctionner correctement (utilisation pour optimisation) L'élément wsdl:documentation peut apparaître comme Concevoir une application orientée services expliciter les frontières fonctionnelles sécurité données et regroupement faciliter la consommation prévoir les cas d'erreurs dues à la distribution ne pas transmettre au delà des frontières des détails internes enfant d'un élément wsdl:part Concevoir une application orientée services (suite) Autonomie des services gestion de version et déploiement autonome ne pas modifier des schémas une fois publiés Pas de partage d'objets partage de contrat / de données Réfléchir à la compatibilité des services 129 À ne pas faire... Concevoir l'interface comme celle d'un objet rajouter des [WebMethod] sur toutes les méthodes de l'interface interface CRUD en web method attention à la visibilité! Ecrire des méthodes très abstraites Public DataSet Query(String requete) Public Booelan Execute(int commande) Rien dans le contrat! 130 Références Services Web : Spécifications officielles : Documentations et exemples en ligne : SOAP : Spécification SOAP 1.1 : Spécification SOAP 1.2 : Implémentations : Exemples en ligne : WSDL : UDDI : Spécification : Cours : Didier Donsez, Web Services JJ Moreau, SOAP Xavier Blanc, Web services 131
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami [email protected] 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Responsable du cours : Héla Hachicha. Année Universitaire : 2011-2012
Chapitre 4- WS-Security Responsable du cours : Héla Hachicha Année Universitaire : 2011-2012 1 WS-Security (Microsoft) WS-Security est le standard proposé par IBM, Microsoft, VeriSign et Forum Systems
Programmation Web Avancée Introduction aux services Web
1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami [email protected] 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)
Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration
Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com
Urbanisation des SI Conduite du changement IT 20/03/09 Sécuriser ses Web Services Patrick CHAMBET http://www.chambet.com Bouygues Telecom Direction Gouvernance, Outils et Architecture / Sécurité du SI
Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com
Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur
Les services Web. Jeremy Fierstone Email : [email protected]. SAR5 Novembre 2002
Les services Web Jeremy Fierstone Email : [email protected] SAR5 Novembre 2002 Merci à Mireille Blay-Fornarino, Didier Donsez Michel Riveill, Microsoft, Sun pour leurs slides 1 Les services Web Généralités
Classification : public 1/59
Classification : public 1/59 Documents de référence [1] IHE International : Cadre Technique IT Infrastructure [2] IHE International : Profil Cross-Enterprise User Assertion Attribute Extension (XUA++)
XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million
XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................
BPEL Orchestration de Web Services
Orchestration de Web Services Grégory Le Bonniec [email protected] 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience
4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
WEBSERVICES. Michael Fortier. Master Informatique 2ème année. [email protected] A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année [email protected] A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS
UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS SÉCURITÉ DES SERVICES WEB : RESTAURATION D UN MESSAGE SOAP APRÈS DÉTECTION D UNE ATTAQUE PAR ENVELOPPEMENT SUR UN ÉLÉMENT SIGNÉ MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE
Volet Synchrone pour Client Lourd
Cadre d interopérabilité des SIS Couche Transport Volet Synchrone pour Client Lourd Identification du document Référence Date de création 06/03/09 Date de dernière mise à jour 25/06/09 Rédaction (R) Cadre
SOAP Concepts Application à Glassfish
SOAP Concepts Application à Glassfish LicencePro 2014 Olivier Perrin Université de Lorraine Évolution From server-side app to smart clients and services 2 Browser-based HTML Rendering (progressive enhancement)
Le cadre des Web Services Partie 1 : Introduction
Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy [email protected] Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
Web Application Models
Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec
COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant
COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation
Sécurité des Web Services (SOAP vs REST)
The OWASP Foundation http://www.owasp.org Sécurité des Web Services (SOAP vs REST) Sylvain Maret Principal Consultant / MARET Consulting / @smaret OpenID Switzerland OWASP Switzerland - Geneva Chapter
Les Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
Web Services : Beyond the peer-to-peer architecture
Faculté des Sciences Département d Informatique Web Services : Beyond the peer-to-peer architecture Jérémy De Roey Mémoire présenté sous la direction du Professeur Esteban Zimányi et de Ir. François Deliège
Urbanisme du Système d Information et EAI
Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat
Protocoles utilisant des mécanismes d'authentification: TACACS+, RADIUS et Kerberos
Sécurisation des systèmes Protocoles utilisant des mécanismes d'authentification: TACACS+, RADIUS et Kerberos Tarik BOUDJEMAA Sadek YAHIAOUI 2007 2008 Master 2 Professionnel STIC Informatique Sécurisation
Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security
Sécurité Objectifs Gestion de PKI Signature Cryptage Web Service Security 1 1. Objectifs Ensemble de protocoles pour sécuriser les échanges XML Les problèmes à résoudre : Authentification des utilisateurs
Architectures n-tiers Intergiciels à objets et services web
Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 [email protected] Introduction Architectures classiques
Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Architectures Web Services RESTful
Architectures Web Services RESTful Alexandre Denis [email protected] Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007
Messagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Java et les WebServices :
SOAP/kSOAP Conservatoire National des Arts et Métiers Java et les WebServices : SOAP/kSOAP Mr Rajoharison Hans [email protected] http://harisson.free.fr/webservices/ 1 Sommaire Présentation générale : Introduction
Cours 14. Crypto. 2004, Marc-André Léger
Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)
L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :
Introduction L'AAA, késako? Bruno Bonfils, , Novembre 2005 Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Authentication (authentification) Authorization
Systèmes d'informations historique et mutations
Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN
Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]
Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO
Page 1 Introduction Sommaire I- Présentation de la technologie II- Architectures classiques et étude du marché III- Implémentation en entreprise IV- Présentation de systèmes SSO Annexes Page 2 Introduction
Introduction aux. services web 2 / 2
Introduction aux services web 2 / 2 1 Calendrier 2 x CM A 107 mercredi 7 janvier 2015, 08 h 00 10 h 00 : introduction sur la théorie des services web mercredi 28 janvier 2015, 08 h 00 10 h 00 : introduction
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus
Introduction à l'architecture L'objectif premier d'un système d'information, quel qu'il soit, est de permettre à plusieurs utilisateurs d'accéder aux mêmes informations : pour cela, il faut donc regrouper
Application Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Business Process Execution Language
Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours
Problématiques de recherche. Figure Research Agenda for service-oriented computing
Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements
Sécurité des réseaux IPSec
Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique
CORBA. (Common Request Broker Architecture)
CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,
DESCRIPTION DU COMPOSANT
Gestion des utilisateurs et des accès Composant pour un Egov intégré Qu'est-ce qu'un composant? C est un élément indispensable à l intégration des systèmes e-gov des différents niveaux politiques. Cet
Tour d horizon des différents SSO disponibles
Tour d horizon des différents SSO disponibles L. Facq, P. Depouilly, B. Métrot, R. Ferrere ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire
Programmation Web. Introduction
Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr
4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire
Architecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Les Réseaux Privés Virtuels (VPN) Définition d'un VPN
Les Réseaux Privés Virtuels (VPN) 1 Définition d'un VPN Un VPN est un réseau privé qui utilise un réseau publique comme backbone Seuls les utilisateurs ou les groupes qui sont enregistrés dans ce vpn peuvent
Solutions d accès sécurisées pour opérer une Market Place Saas multitenante
Solutions d accès sécurisées pour opérer une Market Place Saas multitenante Plan de la présentation Le Saas et les enjeux économiques des services en ligne La notion de shops multi-tenantes dans une market
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE
MINISTÈRE DU TRAVAIL, DE l EMPLOI ET DE LA SANTÉ MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU BUDGET, DES COMPTES PUBLICS ET DE LA RÉFORME DE L ÉTAT Standard d'interopérabilité entre
CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)
CIBLE DE SECURITE CSPN DU PRODUIT PASS (Product for Advanced SSO) Préparé pour : ANSSI Préparé par: Thales Communications & Security S.A. 4 Avenue des Louvresses 92622 GENNEVILLIERS CEDEX France This document
Méthodes et Langages du Commerce Electronique
ITCE NFE 102 Année 2013-2014! Méthodes et Langages du Commerce Electronique F.-Y. Villemin ([email protected]) http://dept25.cnam.fr/itce Plan! Besoins du commerce électronique! L EDI! ebxml! Les Web Services!
Authentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte UN GUIDE ÉTAPE PAR ÉTAPE, pour tester, acheter et utiliser un certificat numérique
.NET remoting. Plan. Principes de.net Remoting
Plan.NET remoting Clémentine Nebut LIRMM / Université de Montellier 2 de.net Remoting côté serveur côté client.net Remoting en ratique Les canaux de communication L'activation L'invocation Les aramètres
Introduction à Microsoft InfoPath 2010
Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires
Devoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
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
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 Centre ressource Génie Electrique Intervenant : Enseignant
Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49
Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Application des Spécifications détaillées pour la Retraite, architecture portail à portail
Pour Application des Spécifications détaillées pour la Retraite, architecture portail à portail Version 1.0 ON-X S.A. est une société du Groupe ON-X 15, quai Dion Bouton 92816 PUTEAUX cedex. Tél : 01 40
Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février 2010. 5 mai 2010 1
Shibboleth David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février 2010 5 mai 2010 1 Plan de l'exposé Position du problème L'architecture de Shibboleth Shibboleth
Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1
Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI
Introduction à Sign&go Guide d architecture
Introduction à Sign&go Guide d architecture Contact ILEX 51, boulevard Voltaire 92600 Asnières-sur-Seine Tél. : (33) 1 46 88 03 40 Fax : (33) 1 46 88 03 41 Mél. : [email protected] Site Web : www.ilex.fr
Nouvelles technologies pour l intégration : les ESB
10, avenue de l Europe Parc Technologique du Canal 31520 Ramonville st Agne 05.61.28.56.20 05.61.28.56.00 www.ebmwebsourcing.com Nouvelles technologies pour l intégration : les ESB EBM Websourcing Sommaire
Protection des protocoles www.ofppt.info
ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet
Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion
ebxml Sommaire Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion Introduction Pourquoi L EDI EDI : échange de données informatisé Remplacer
La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet
REALSENTRY TM Gestion, Performance et Sécurité des infrastructures Web La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet L authentification
Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication
Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité
Cours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
Les nouvelles architectures des SI : Etat de l Art
Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre
Sécurisation des architectures traditionnelles et des SOA
Sécurisation des architectures traditionnelles et des SOA Un livre blanc de Bull Evidian Gestion SAML des accès SSO aux applications classiques et J2EE. Max Vallot Sommaire Émergence des architectures
Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader
Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:
Intégration de systèmes
Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des
24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI
OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est
IPFIX (Internet Protocol Information export)
IPFIX (Internet Protocol Information export) gt-metro, réunion du 20/11/06 [email protected] 20-11-2006 gt-metro: IPFIX 1 Plan Définition d IPFIX Le groupe de travail IPFIX Les protocoles candidats
Manuel des logiciels de transferts de fichiers File Delivery Services
Manuel des logiciels de transferts de fichiers File Delivery Services Editeur La Poste CH SA Technologies de l information Webergutstrasse 12 CH-3030 Berne (Zollikofen) Contact La Poste CH SA Technologies
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre
L annuaire et le Service DNS
L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.
Sage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
La démarche SOA et l interopérabilité applicative
La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75
Action Spécifique Sécurité du CNRS 15 mai 2002
Action Spécifique Sécurité du CNRS 15 mai 2002 Sécurité du transport Ahmed Serhrouchni ENST-PARIS Plan. Typologie des solutions Protocole SSL/TLS Introduction Architecture Ports et applications Services
