Web Services Objectifs Architecture Protocole web (SOAP)

Slides:



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

Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
13/04/05 - RB1 Montpellier 24/03/2005 Les interactions entre le SSO ESUP et le mécanisme de propagation d'identité
Xavier Blanc Web Services Xavier Blanc
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Architectures Orientées Services
Julien HERON.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Stéphanie CLAPIÉ Antoine RENARD
Les webservices Samira Silhadi-Hacid Malika Tarafi.
l'impact sur le eBusiness
L’architecture .net et ASP.net
Cours 6 : Les Web Services et SOAP Mars Version 1.0 -
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
Les Web Services.
Génie Documentiel Delacrétaz Jean-Marc
Les Web Services avec .Net
Le Workflow et ses outils
Introduction aux services WEB
Cours 4 : Web Services &UDDI & WSDL
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Etude des Technologies du Web services
Serveurs d’application
XML-Family Web Services Description Language W.S.D.L.
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
7 - EAI Les EAI : Enterprise Application Integration Marché
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Soutenance de stage de fin d’études
Microsoft .NET.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Web Services HTTP UDDI SOAP WSDL Besnik SELJIMI, Novembre 2003
Module 8 : Maintenance des logiciels à l'aide des services SUS
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Enseignant de cours : M. Bouzguenda Lotfi
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Présentation de CORBA et de IIOP
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
Introduction à la plateforme .NET
Les plateformes de développent des web services
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
IV. Web Services Objectifs Architecture Protocole web (SOAP)
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services Objectifs Architecture Protocole web (SOAP)
Web Services 17/01/2009.
Présentation TELW M2 Contexte : passage de la matière de M1 en M2 Transformation cours->TDs Sujet plus haut niveau basé : Web Services echanges au format.
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Transcription de la présentation:

Web Services Objectifs Architecture Protocole web (SOAP) Composition de services web Sécurité Conclusion

1. Besoins des Applications Web Le Web classique Conçu pour les applications à interactions humaines Partage d'information E-commerce de type B2C Extensions nécessaires Accès à l'information depuis des programmes Processus de e-commerce B2B automatisés Interopérabilité entre applications Plate-forme pour le calcul distribué Introduction

Principes des services Web Proposer une plate-forme de traitement distribuée autour d'Internet/Intranet Permettre l'interopérabilité totale entre composants Offrir un modèle de composants simple Modules avec interfaces de fonctions Paramètres structurés et diversifiés en place des URL longues contraignantes (ASCII, plats,  255) Permettre de découvrir dynamiquement les services Annuaire de services et service de recherche Offrir des outils d'intégration de composants A l'échelle de l'Internet ou de l'Intranet Introduction

Exemple d'applications Diffusion d'information horaires, incidents, états de stocks cours de bourse, entrées d'annuaires, etc. Contrôle d'information Autorisation de cartes de crédits Authentification d'un client Documentation automatique présentation, marketing, veille technologique librairie électronique, manuels, maintenance, etc. communication et "knowledge management" Commerce électronique présentation, sélection, transaction, médiation, etc. Introduction

2. Architecture Web Services SERVEUR Service Provider SERVEUR Service Provider Request Publish Publish Service Registry SERVEUR Service Provider Request Publish SERVEUR Publish Request Find Service Provider SERVEUR Request WEB-HTTP Service Requester CLIENT Architecture

Qu'est ce qu'un Web Service ? Définition [W3C] 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. Exposition Langage WSDL utilisé pour décrire le service Similaire à IDL mais basé sur XML Activation Protocole Web au-dessus de HTTP (RPC XML, SOAP) Autres protocoles possibles … Architecture

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

Description of providers Vue d'ensemble Service Provider Application discovery? Description of providers and services UDDI Category Provider WSDL Service Publication SOAP Transport SOAP Client XML Service Call HTTP/S Architecture

Description des services: WSDL Elément Type Types des paramètres (schéma XML) Elément Message Appel et retour d'opération Elément Port type Groupe d'opération Elément Binding URL de l'opération Type de protocole Service Port (e.g. http://host/svc) Port Binding (e.g. SOAP) Binding Abstract interface portType operation(s) inMessage outMessage Architecture

Description en WSDL <definitions name = "..." xmlns: …> <types> <!--Définition des types de données; basés sur ceux des schémas --> … </types>  <message> <!--Déclaration des messages (entrées et sorties)--> … </message> <portType> <!--Déclaration des opérations (par association des messages)--> … </portType> <binding> <!--Définition de la liaison WSDL – SOAP (noms d'actions et codages)--> </binding> <service name= " … " > <!--Déclaration des ports (groupes d'opérations et protocoles d'accès)-->… </service> </definitions> Architecture

Exemple: GetLastTradePrice <?xml version="1.0"?> <definitions name="StockQuote"> <types> <schema> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions> Architecture

Annuaire des services: UDDI Universal Description, Discovery and Integration Annuaire des services décrit par un document WSDL, spec. EJB, autre … Accessible en SOAP Fonctions Enregistrer votre société Enregistrer des services Enregistrer des opérations Découvrir des services … Annuaire UDDI Annuaire UDDI Gérant de requêtes Enveloppe + Document Dde de Service Programme Architecture

Contenu de l’annuaire Pages blanches (businessEntity) BusinessKey Name Description CategoryBag BusinessServices Pages jaunes (businessService) ServiceKey BindingTemplates Pages vertes (bindingTemplates) BindinKey AccessPoint Contenu défini par un schéma XML Spécifications pour réplication BusinessEntity tModel Spécifs de services et taxonomies BusinessService publisherAssertion BindingTemplates Relations entre deux parties Infos techniques Architecture

Principaux fournisseurs IBM UDDI Registry Un registre UDDI avec des fonctionnalités de recherche www-3.ibm.com/services/uddi/ Microsoft UDDI Business Registry (UBR) uddi.microsoft.com/default.aspx SAP UDDI Business Registry Public pour l'instant Systinet Registry Support complet de UDDI V3 www.systinet.com/products/sr/overview Oracle Application Server UDDI Registry otn.oracle.com/tech/webservices/htdocs/uddi/ Architecture

Client Web de Recherche Architecture

3. SOAP Inspiré du RPC DCE adapté à XML Appel de procédure distante sur Internet Appelant Stub ou Proxy Appelant Skeleton ou Listener Appelé Souche Réseau d'interconnexion Souche Appelé SOAP

Qu'est-ce-que SOAP ? Simple Object Access Protocol Ni simple, ni objet … Invocations de fonctions en XML au-dessus de HTTP : Pour accéder services, objets et serveurs Indépendant de toute plate-forme Codage universel XML par opposition aux spécifiques : DCOM - DCE/NDR CORBA - IIOP/CDR JAVA - RMI/JRMP RDA - XDR Résolution des problèmes de session, sécurité, transaction … Associé à WSDL pour publication d'interfaces SOAP

Un échange type SOAP Messages SOAP Appel Application Cliente HTTP Port de connexion (URL) Pare-feu Pare-feu Messages SOAP Procuration d'interface Appel Translateur SOAP Application Cliente HTTP RPC local Réponse Parser XML Parser XML Serveur d'application CLIENT SERVEUR SOAP

Eléments d'un message Envelope Header Body Élément pouvant contenir des déclarations d'espaces de noms ou des sous-éléments Header Élément optionnel fils de Envelope Permet des extensions telles que authentification, session, etc. Body Élément obligatoire fils de Envelope Définit la méthode appelée, contient les paramètres Peut contenir un élément Fault en cas d'erreur SOAP

Structure d'un message SOAP Protocol Headers Entête de protocoles (HTTP, SMTP, …) SOAP Envelope <Envelope> SOAP Header <Header> SOAP Body <Body> SOAP

Exemple www.stockquoteserver.com float GetLastTradePrice (Symbol) Le dialogue : Application Application Request Middleware Middleware Reply SOAP SOAP HTTP HTTP Error www.xquark.org www.stockquoteserver.com SOAP

La requête POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI#GetLastTradePrice" <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap">    <SOAP:Body>        <m:GetLastTradePrice xmlns:m="Some-URI">            <symbol>DIS</symbol>        </m:GetLastTradePrice>    </SOAP:Body> </SOAP:Envelope> Standard HTTP SOAP

La réponse HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap"/>    <SOAP:Body>        <m:GetLastTradePriceResponse xmlns:m="Some-URI">            <Price>34.5</Price>        </m:GetLastTradePriceResponse>    </SOAP:Body> </SOAP:Envelope> Standard HTTP SOAP

Exemple: Google Search requests Cache requests Spelling requests Soumet une requête avec un ensemble de paramètres à Google Web APIs service et reçoit en réponse un ensemble de résultats de recherche. Cache requests Soumet une URL à Google Web APIs service et reçoit en réponse le contenu de l'URL lors de la dernière visite du crawler Google. Spelling requests Soumet une requête à Google Web APIs service et reçoit en réponse une suggestion de correction orthographique pour la requête. SOAP

Bilan SOAP Protocole d’invocation de services Web Lisible et extensible Au-dessus de HTTP Passant les firewalls Description en WSDL Pousser par Microsoft, IBM, BEA, … CORBA ou DCOM « killer »? Associé à nomination des objets Véritable échange de messages entre objets Performance ? Questions ? SOAP

4. Stratégie des constructeurs Outil de développement .NET .net Framework SDK (//msdn.microsoft.com/webservices) Support depuis Visual Studio .Net Développement en tout langage (VB, C++, C#) Deux composants essentiels Common Language Runtime (MSIL) .net class Libraries (GUI, DB, ASP, …) Au cœur des systèmes MS Evolution de DNA vers .net, Visual Studio.net, … Compilation des langages MS en MSIL Machine virtuelle pour l'exécution Semblable à Java mais MS Stratégie

Architecture .NET SOAP & XML Toolkits VB C++ C# JScript … Visual Studio .NET ASP.NET BCL.NET ADO.NET Common Language Runtime (CLR) Windows et COM+ Services Stratégie

Exemple: plate-forme d’Entreprise MS Infrastructure Système Gestion des Données Infrastructure Applicative Infrastructure “Information Worker” Outils de développement Administration et Sécurité Pattern & Design, ASP.NET Web Matrix, ASP.NET starter kit, Communautés Applications Partenaires Web Services Unix AS400 Linux OS390

Statégie J2EE de SUN, IBM, … Offrent un ensemble d'API pour Java2 et XML (JAX) Java API for XML Processing (JAXP) Parsers, Processeur de feuilles de style Java Architecture for XML Binding (JAXB) Mapping de XML sur des objets Java Java API for XML Messaging (JAXM) Echange de messages SOAP Java API for XML-based RPC (JAX-RPC) Génération de WSDL Java API for XML Registries (JAXR) Accès à l'annuaire UDDI Stratégie

Produits J2EE Apache AXIS (Open Source) Servlet permet de déployer les services Appel servlet depuis SOAP Intégrés aux serveurs d'applications API JAX chez IBM, BEA, Oracle, SUN, … Equivalent de .NET dans le monde Java (JSP ~ ASP) Nombreux assistants et outils Stratégie

Architectures inter-opérables HTML Serveur de présentation Visual studio XML XML WEB SERVICES .NET XML Java, C++, C#, Word, Excel, … … WEB SERVICES J2EE Stratégie

Position des constructeurs Composants métiers appelables par message XML Encapsulent les applications existantes Début du développement des architectures SOA Agilité du système d'information Développement des workflows de coopération Challengers Leaders Ability to Execute Microsoft IBM BEA Oracle SAP Fujitsu Sun HP CA Novell Siebel Peoplesoft Niche Players Visionaries Completeness of Vision Conclusion

Exemple d'application: Dollar Rent a Car 6e société US de location 400 sites dans 26 pays, 260 sites US; +75.000 véhicules $750MM de revenu en 2001 Réservation à travers GDS Une alternative à GDS: les services Web XML Lien direct avec les partenaires… 25 en 2 mois. Global Distribution Systems XML / SOAP NorthWest Sabre Worldspan On valorise un existant, ici VaxVMS On change de chaine de valeur On améliore la profitabilité Amadeus Galileo $4 Frontal WS ACMS XML / SOAP SouthWest VaxVMS Conclusion Dollar Rent a Car

Ligue de Football Professionnel Ligue de Football Professionnel (CA 990M Euros) rebâtit son système de billetterie en .NET: Système dimensionné et validé pour 8000 ventes/minutes Un nouveau système qui simplifie le développement de nouveaux canaux/ partenariat : Interopérabilité via Services Web avec les réseaux TicketNet et France Billet 8000 ventes/minutes : de quoi remplir le stade Vélodrome de Marseille (60 000 places) en 8 min Le système est déployé dans les grands clubs de foot (premier déployement au Stade Lyonnais,) avec pour étape suivante de se connecter aux réseaux de distribution TicketNET et France Billet. L’approche Service Web et le potentiel d’intéropérabilité on convaincu la LFP : le système pourra potentiellement permettre aux clubs qui le souhaite de mettre en place une boutique en ligne (promotions pour les supporters, etc) mais aussi s’interfacer avec le reste du SI de chaque club. Ligue Nationale de foot http://www.microsoft.com/france/net/temoignages/info/info.asp?mar=/france/temoignages/2003/p_liguefootpro_1103.html&xmlpath=/france/temoignages/xml/microsoft_net.xml&rang=0 Conclusion

5. Processus métiers Objectifs Exemple : réservation Modéliser des processus métiers (business process) Composer des services Web distribués Piloter l'exécution Orchestration d'activités Echanges XML Gestion de transactions Business Process Management Transaction Workflow Exemple : réservation Début Réserver Avion Louer Voiture Train Hotel OK ? Echec Succès oui non BPM

Exemple : Pilotage Fabrication Echange B2B Partenaire Serveur d'entreprise Usine XML XML XML WEB XML Interface XML ERP XML Fournisseur Mainframe Client BPM

Les briques à standardiser Choreography - CDL4WS Business Processes Orchestration - BPEL4WS Transactions Quality of Service WS-Reliability WS-Security Coordination Context Management UDDI Discovery WSDL Description Description SOAP Message XML HTTP, IIOP, JMS, SMTP Transport

Composition de services Objectifs: Alliances entre business pour offrir des services intégrés à valeur ajoutée en combinant des services existants Réutilisation et extension de services existants Support pour la planification, la définition et l'implémentation de services composés Développement d'applications distribuées composées de services web BPM

Quelques définitions Processus métier (Business Process) Module fonctionnel réalisé par enchaînement d'activités business exécutées par des acteurs échangeant des messages et implémentant les objets et règles spécifiques à une entreprise. Orchestration d'activité (Activity Orchestration) Mécanisme d'invocation, de contrôle et de coordination des activités participant à la réalisation de processus d'affaire. Composition de services (Services Composition) Techniques permettant d'assembler des services Web pour réaliser des processus métiers par des primitives de contrôles (boucles, tests, traitement d'exception, etc.) et d'échanges (envoi et réception de messages). BPM

Modélisation par Workflow Graphe acyclique d'activités modélisant un processus métier Les activités représentent les unités de traitement Les liens de contrôle définissent le flux d'exécution Les activités correspondent à des services Web [ WS] Les liens de données définissent le flux d'information. Les activités peuvent être d'autres business process BPM

Exemple Modélisation en XML Langage d'orchestration Chorégraphie d'activités <activity name="demandePaiement"> <join condition=”(reserverVoiture OR reserverAvion) AND reserverHotel” when=”deferred”> </activity> <activity name="reserverAvion"> …. commandeVacances reserverVacances Commande/classe=1 Commande/classe=2 reserverVoiture reserverAvion reserverHotel demandePaiement BPM

BPEL4WS 1.0 (IBM, Microsoft) Vers un standard ? BPML (Intallio et al) BPSS (ebXML) WSCI (Sun et al) WS-Choreography (W3C) 2000/05 2001/03 2001/05 2001/06 2002/03 2002/06 2002/08 2003/01 2003/04 XLang (Microsoft) WSFL (IBM) WSCL (HP) BPEL4WS 1.0 (IBM, Microsoft) BPEL4WS 1.1 (OASIS) BPM

BPEL: Processus composé d'activités Compositions des web services synchrones et asynchrones Véritable langage de programmation parallèle codé en XML Assignation de variables locales et globales BPM

Exemple BPEL BPM <sequence> <receive partnerLink=“customer” portType=“lns:purchaseOrderPT" operation=“sendPurchaseOrder” variable=“PO” createInstance="yes" /> <flow> <invoke partnerLink=“inventoryChecker” portType=“lns:inventoryPT” operation="checkINV" inputVariable="inventoryRequest" outputVariable="inventoryResponse" /> <invoke partnerLink="creditChecker" portType=“lns:creditPT" operation="checkCRED" inputVariable="creditRequest" outputVariable="creditResponse" /> </flow> ... <reply partnerLink=“customer” portType=“lns:purchaseOrderPT” operation=“sendPurchaseOrder” variable=“invoice"/> </sequence> BPM

Qualité de services Nécessité de fiabiliser Nécessité de sécuriser Les messages (WS-Reliability) Les activités (WS-Transactions) Courtes (Atomic Transactions) Longues (Business Activity) Nécessité de sécuriser Les échanges confidentiels (WS-Security) BPM

Bilan Processus Métiers De multiples propositions un domaine chaud (voir SOA) BPEL s'impose comme un standard de fait Vers trois standards pour la qualité de services WS-Reliable Messaging WS-Transactions WS-Security Questions ? BPM

6. Protocoles de sécurité Ensemble de protocoles pour sécuriser les échanges Intégration aux services Web WS-Security Englobe les standards : XKMS (XML Key Management Specification) spécification conjointe du W3C et de l'IETF pour intégrer la gestion de clés et certificats aux applications XML. délégation du traitement de la sécurité à un service spécialisé sur Internet offrant des services de gestion de clés publiques, certificats et signatures, accessible en SOAP. XML Signature XML Encryption Protocole Sécurité

XML Signature Qu'est-ce que XML Signature ? Principes Standard du W3C et de l'IETF Signature de message en XML Architecture PKI sous-jacente Principes Appliquées à des "data objects" arbitraires Data objects sont placés dans un élément Cet élément est signé La signature est placée dans un élément signature Protocole Sécurité

Principe des signatures B H H Résumé Résumé Document Document CPB CsB on compare CsA CPA Signature Signature Résumé L'égalité des résumés (digests) garantit que l'émetteur connaît la clé secrète de A, donc qu'il s'agit de A. Protocole Sécurité

Structure du message Protocole Sécurité </Signature> Englobe l'information signée Ouvre la signature électronique <Signature> <SignedInfo> (CanonicalizationMethod) (SignatureMethod) (<Reference (URI=)? > (Transforms)? (DigestMethod) (DigestValue) </Reference>)+ </SignedInfo> (SignatureValue) (KeyInfo)? (Object)* </Signature> Décrit chaque objet à signer, en particulier sa localisation Indique la méthode de canonisation des objets Définit la liste des transformations appliquées à l'objet avant calcul du digest Référence la méthode de calcul du digest Définit l'algorithme utilisé pour transformer l'élément SignedInfo canonisé en SignatureValue Contient la valeur du digest de l'objet Contient la valeur du résumé de l'élément <SignedInfo> chiffré Définit les clés de chiffrements nécessaires au calcul de la signature Protocole Sécurité

XML Encryption Recommandation du W3C Protocole d'échange des clés de cryptage Clé publiques Valeurs des données cryptées Algorithmes de cryptage Chaque élément peut être crypté Possibilité de crypter à tout niveau Clé symétrique ou asymétrique Exemple simple: <?xml version='1.0'?> <PaymentInfo> <Name>John Smith <Name/> <EncryptedData> <CipherData> <CipherValue>A23B45C56 </CipherValue> </CipherData> </EncryptedData> </PaymentInfo> Protocole Sécurité

7. En résumé ... Invocation dynamique de services WEB décrits en WSDL SOAP est le protocole d'invocation (WP) sur HTTP Intégrité et typage des données (schémas XML) Possibilité de découvrir dynamiquement les services (UDDI) Lisibilité et sécurité renforcée (standard de cryptage) Indépendance des constructeurs (W3C) Intégration des workflows Ajout de contrôle qualité (transactions, sécurités) Questions ? Conclusion