Interopérabilité des Services Web avancés

Slides:



Advertisements
Présentations similaires
Réunion du club utilisateur Salesforce.com
Advertisements

Les Web Services Schéma Directeur des Espaces numériques de Travail
3ème journée nationale de la e-administration
SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
Le déploiement dapplications et la gestion du réseau pédagogiques détablissements scolaires Brice DELONS Consultant manager EXAKIS.
Linq, fonctionnement et architecture
Windows Communication Foundation Bindings, PRESTO Stève SFARTZ Architecte en Système dinformation Division Plateformes et Ecosystème
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Les Web Services Schéma Directeur des Espaces numériques de Travail
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.
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Protocole PPP* *Point-to-Point Protocol.
Stéphanie CLAPIÉ Antoine RENARD
Vue d'ensemble Implémentation de la sécurité IPSec
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 -
Le Workflow et ses outils
Construire une Set Top Box Avec Windows CE 6.0
Introduction aux services WEB
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
XML-Family Web Services Description Language W.S.D.L.
Amélioration de la sécurité des données à l'aide de SQL Server 2005
De nouvelles applications en matière d’administration électronique : - la transmission des actes des collectivités locales - le passeport électronique.
7 - EAI Les EAI : Enterprise Application Integration Marché
Architecture SOA et service WCF
Interaction audio sur le site web du LIA
.Net Remoting.
Cette session suppose une connaissance préalable des grands principes de Workflow Foundation Nous parlerons très peu de lécriture de workflows Une session.
Des référentiels de règles
Plus de cinquante réalisations depuis Secteurs de la santé, services municipaux, services publics et accès aux citoyens… De nombreuses récompenses.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
Toujours partir du besoin métier – Pas dune envie de linformatique Concevoir les services – puis concevoir leur implémentation Le vrai bénéfice est.
Proposition de consultation
SDL en une slide Modélisation des menaces Démo…interactive!

•Présentation de Team Edition for Database Professionals •La méthodologie •Etude de cas.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Introduction Les contrôles Les templates de données Les vues Conclusion.
Introduction au développement Office 2007
Combien envisagent d’utiliser SSMA pour migrer : OracleSybaseAccess.
Introduction à la plateforme .NET
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Outil de conception d’applications WPF Anciennement « Interactive Designer » Orienté « intégrateur graphistes » Particularité : Blend tm est une application.
Mastère Professionnel Systèmes de Communication et Réseaux
La sécurité dans SQL Server 2005
Technet Office System
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
Infrastructure SOA : Opérer ses services de façon industrielle
COMPARAISON ENTRE GNUTELLA ET FREENET
L’enseignement de spécialité SLAM
Communication & Collaboration Gestion de contenu numérique Business Intelligence Solutions Office system 2007 Vos équipes Gestion de Projets Entreprise.
Eric Mittelette Mitsuru Furuta Microsoft France
Architecte Microsoft France
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Quels sont les bénéfices techniques à migrer vers Windows Longhorn Server ?
Comprendre le Catalogue de Données Métier Utiliser le Catalogue de Données Métier Développer avec le Catalogue de Données Métier Conclusion.
 Répondre aux problèmes principaux de VS 2005  Augmenter toujours la productivité côté désign  Un vrai outil de développement pour le développement.
Contenu coréalisé avec Florent Santin. Un bref rappel Scénarios sans concurrence d’accès Hosting embarqué (mono-host) Hosting embarqué (multi-host) Gestion.
Portail collaboratif avec les technologies SharePoint
Introduction Les bases de la 3D dans WPF L’application Tron (la 3D pour les nuls ) Passer d’un rendu 2D à un rendu 3D La 3D dans les interfaces WPF.
Linq = Language INtegrated Query DLinq = Database + Linq Appelé maintenant Linq to Data Xlinq = XML + Linq Appelé maintenant Linq to XML.
2 fois par mois, la démonstration de l’interopérabilité de la plate-forme Microsoft Via les standards et des partenariats Interopérabilité des infrastructures,
1 Chesné Pierre
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.
Journée Annuelle Interop’Santé Jean-Charles DRON GAZELLE INTEROP’SANTE UNE RÉPONSE ALIGNÉE AVEC LES BESOINS DE NOS ADHÉRENTS 10/11/2015.
Travail Collaboratif & Open Source Etat de l’art - Solutions - Méthodes.
Formation : profil Administrateur
Transcription de la présentation:

Interopérabilité des Services Web avancés 4/22/2017 4:43 PM Interopérabilité des Services Web avancés Avec Windows Communication Foundation (WCF) Frédéric LAW-DUNE Architecte DGME SDAE frederic.law-dune@dgme.finances.gouv.fr Guillaume RENAUD Architecte Microsoft France grenaud@microsoft.com Stéphane GOUDEAU Architecte Microsoft France stephgou@microsoft.com © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM Sommaire Retour d’expérience WCF illustré au travers du « PRotocole d’Echanges Standard et Ouvert » (PRESTO) de la DGME Présenter rapidement les fondements et le cahier des charges PRESTO 1.0 Présenter rapidement WCF Montrer comment WCF a pu servir de socle technologique à l’implémentation Microsoft de PRESTO 1.0 Illustrer les différentes problématiques à résoudre, les axes envisagés et les orientations suivies … et vous donner les pointeurs permettant d’aller plus loin sur WCF (et PRESTO) © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les besoins de l’administration électronique 4/22/2017 4:43 PM Les besoins de l’administration électronique L’administration électronique monte en puissance De nombreux services sont dématérialisés ou en phase de l’être qui mettent en relation de nombreux acteurs Sphère Sociale (RMI, personnes âgées, etc.), Sphère Santé (réseau santé, DMP, etc.), Ministères (ACTES, HELIOS, CHORUS, casier judiciaire), Identité (État civil), Formalités en ligne Des dispositifs communs aux administrations sont mis en œuvre pour améliorer l’efficacité des SI Partages d’informations, échanges d’informations, instruction partagée Indépendance Les SI des acteurs sont et restent indépendants Ils s’intègrent aux dispositifs mutualisés © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

L’état des lieux conduit par la DGME en 2005 Une vraie tour de BABEL ! Un foisonnement d’offres et de solutions est recensé Protocoles « standards » limités à une application (ACTES, HELIOS, CHORUS) Protocole européen eLink de l’IDABC (aujourd’hui en phase d’abandon) ebMS2 : en voie de remplacement par une version 3 incompatible FAST : Plate forme propriétaire de la CDC Divers EAI / ESB et plateformes EDI multi protocoles « Bricolages maisons » (Post HTTP, FTP, etc.)

La nécessité d’un protocole ouvert Identifiée dans le plan stratégique de l’Administration électronique Le projet a été lancé début 2005 Un appel à commentaires a été publié mi 2005 Fin 2005 les réponses ont été analysées Elles mettent en avant le besoin d’un protocole ouvert, reposant sur des standards modernes et trans-technologies

Le contexte Protocole PES HELIOS Protocole métier ACTES Protocole métier spécifique Protocole propriétaire FTP MOM Tedeco PeSIT autre Protocole de transport HELIOS Protocole de transport ACTES Protocole de transport spécifique PRESTO PRESTO est une enveloppe de transport pour l’échange de documents électroniques entre SI d’administrations Protocole PES HELIOS Protocole métier ACTES Protocole métier spécifique Protocole standard réutilisable

La fondation de PRESTO 1.0 PRESTO repose sur 4/22/2017 4:43 PM La fondation de PRESTO 1.0 PRESTO repose sur W3C Simple Object Access Protocol (SOAP) 1.2 W3C Web Service Description Language (WSDL) 1.1 PRESTO est un profil de certaines spécifications WS-* Asynchronisme (et routage des messages) W3C WS-Addressing (W3C Member Submission 10 August 2004) Transmission de pièces jointes (et encodage/optimisation) W3C SOAP Message Transfer Optimization Mechanism (MTOM) W3C XML-binary Optimized Packaging (XOP) 1.0 Fiabilité des échanges OASIS Web Services Reliable Messaging (WS-ReliableMessaging) Sécurité du message OASIS Web Services Security: SOAP Message Security 1.0 (WS-Security) PRESTO s’inspire du profil WS-RAMP développé par IBM pour l’industrie automobile américaine © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Les prototypes du profil PRESTO Intégrateurs, éditeurs, tiers de télé transmission, etc. ont été invités à développer un prototype Objectifs Valider la disponibilité d’implémentations des spécifications des services Web avancés retenus sur des technologies différentes Valider la capacité effective à implémenter la spécification du profil PRESTO Évaluer le niveau d’interopérabilité effectif des différentes implémentations 6 sociétés ont accompagné la DGME dans sa démarche

L’implémentation Microsoft PRESTO Starter Kit pour le Framework.NET 3.0 http://www.microsoft.com/downloads/details.aspx?FamilyID=B8D92FE 4-2D93-491E-B30C-E58CD9808AA0&displaylang=en Implémentation interopérable du profil PRESTO 1.0 (et de ses options) avec WCF

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Client, Service et messages

« Endpoints » Client Service Endpoint Endpoint Endpoint Endpoint

Adresse, Binding, Contrat Client Service C B A A B C C B A C B A Adresse Où? « Binding » Comment? Contrat Quoi? Endpoint

4/22/2017 4:43 PM WCF : Binding Binding : Description du protocole (technique) d’échange de message à utiliser Transport : HTTP/HTTPS, TCP, MSMQ, custom, … Encodage: text, binary, MTOM, custom, … Sécurité (Encryption / Authentification) : X509, Kerberos, … Fiabilité, Transaction, Meta-data … Spécification par fichier de configuration Facilement modifiable lors du déploiement sans modifier le code Spécification par code © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Presto : Binding PRESTO 1.0 Next Generation Business Solutions Platform Strategy Review 4/22/2017 4:43 PM Presto : Binding PRESTO 1.0 Définition d’un binding WCF personnalisé Spécification manuelle de chaque élément de la pile de communication Dans le cadre de PRESTO : Fiabilité, Sécurité, Encodage, Transport Cf. « Creating User-Defined Bindings » http://msdn2.microsoft.com/en-us/library/ms733893.aspx Code Service  Contrat Binding … Fiabilité Sécurité Encodage Transport © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WCF : Comment connaitre le binding ? 4/22/2017 4:43 PM WCF : Comment connaitre le binding ? Pour que l’échange fonctionne, le client et le service doivent utiliser le même protocole Le même fichier binding doit être utilisé sur le client et sur le serveur WS-MetadataExchange (WS-MEX) Permet la récupération dynamique des méta-données (WSDL + WS-Policy) Service Client GetMetadata WSDL C B A C B A © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WCF : Les contrats Contrat de service Contrat de données 4/22/2017 4:43 PM WCF : Les contrats Contrat de service Référence les messages utilisés et la sémantique des échanges (Oneway, Duplex / callback, session, …) Contrat de données Définit le contenue des messages Version, type connu, … Contrat de service Contrat de données [ServiceContract(Name="MyContract", Namespace=“http://MyNamespace")] interface IOrderEntry { [OperationContract(IsOneWay=true)] void PlaceOrder(PurchaseOrder Order); } [DataContract] public class Person1 { [DataMember] public string name; private int age; } © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Presto : Principe de la double enveloppe 4/22/2017 4:43 PM Presto : Principe de la double enveloppe PRESTO est un protocole générique Contrat technique : Il définit le contrat de qualité de service des échanges (fiabilité, sécurité, ….) Pas de contrat métier : il peut s’adapter à tous les protocoles métiers WCF est orienté contrat Les contrats sont obligatoires (« Les Frontières sont explicites ») Besoin d’un contrat générique Protocole métier ACTES Protocole métier spécifique © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WCF : Implémentation double enveloppe 4/22/2017 4:43 PM WCF : Implémentation double enveloppe Object L’objet réel doit respecter les contraintes de sérialisation WCF (DataContract) Le schéma (XSD) n’est pas généré dans le contrat WSDL Message Contract Variante du DataContract pour spécifier précisément le message SOAP Message Objet de bas niveau du framework WCF Manipulation du contenue sans serialization [ServiceContract(Namespace = "DemoDoubleEnveloppe")] public interface IMyService { [OperationContract(Action="MonAction")] void OneWayGeneric1(object msg); [OperationContract(Action ="MonAction")] void OneWayGeneric1(Message msg); void OneWayGeneric3(CustomMessage msg); } © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Comment optimiser le transfert de fichiers ? 4/22/2017 4:43 PM Comment optimiser le transfert de fichiers ? Comment transporter efficacement des objets binaires avec des services web ? Par défaut : Encodage base64 MTOM : Message Transmission Optimization Mechanism Données présentes dans l’InfoSet XML Transfert des données sans ré-encodage à l’extérieur de l’enveloppe SOAP en utilisant un message de type MIME multipart related MIME MULTIPART ENVELOPPE SOAP ENVELOPPE SOAP DONNES BINAIRES (encodé en base64) DONNES BINAIRES © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WCF : mise en place de MTOM 4/22/2017 4:43 PM WCF : mise en place de MTOM Contrat : Paramètre ou propriétés d’objets de type byte[] Le mécanisme de sérialisation décide automatiquement en fonction de la taille du tableau si l’optimisation doit être utilisée Binding : Encoding de type MTOM Il faut bien faire attention à la taille des buffers à utiliser Les messages d’erreurs ne sont pas très explicites  <binding name="prestoMtomBinding"> <mtomMessageEncoding messageVersion="Soap12WSAddressingAugust2004" writeEncoding="utf-8"> <readerQuotas maxArrayLength="5000000" /> </mtomMessageEncoding> <httpTransport maxReceivedMessageSize="5000000" … /> </binding> Configuration MtomMessageEncodingBindingElement mtomEncodingBindingElement = new MtomMessageEncodingBindingElement(); mtomEncodingBindingElement.WriteEncoding = System.Text.Encoding.UTF8; mtomEncodingBindingElement.ReaderQuotas.MaxArrayLength = maxMessageSize; encodingBindingElement = mtomEncodingBindingElement; Programmation © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WS-RM : Principe de fonctionnement 4/22/2017 4:43 PM WS-RM : Principe de fonctionnement Différent du modèle de file d’attente (pas de tiers explicite) Agent RM source et Agent RM destination La séquence complète est acquittée, donc peu d’overhead sur une séquence de messages « CreateSequence » Flow de Messages avec des headers de « Sequence », complétés par des acquittements occasionnels TerminateSequence © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Paramétrage du Reliable Messaging 4/22/2017 4:43 PM Paramétrage du Reliable Messaging Elément de binding ReliableSessionBindingElement : Premier élément de la collection de binding Paramétrage par code ou par configuration ReliableSessionBindingElement reliableSessionBindingElement = null; reliableSessionBindingElement = new ReliableSessionBindingElement(); reliableSessionBindingElement.AcknowledgementInterval = new TimeSpan(0, 0, 0, 2); reliableSessionBindingElement.MaxTransferWindowSize = 32; reliableSessionBindingElement.InactivityTimeout = TimeSpan.FromMinutes(2); reliableSessionBindingElement.MaxPendingChannels = 32; reliableSessionBindingElement.MaxRetryCount = 8; reliableSessionBindingElement.FlowControlEnabled = true; reliableSessionBindingElement.Ordered = true; elements.Add(reliableSessionBindingElement); Transport par code <binding name="prestoReliableBinding"> <reliableSession acknowledgementInterval="00:00:00.2000000“ maxTransferWindowSize="32" inactivityTimeout="00:10:00" maxPendingChannels="128" maxRetryCount="8“ flowControlEnabled=“true“ ordered="false" /> Transport par configuration © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Envoi simple (One-Way) vs. Requête/Réponse 4/22/2017 4:43 PM Envoi simple (One-Way) vs. Requête/Réponse L’ agent RM doit connaître le MEP de chaque échange de messages : Traitement différent des messages one-way et request-response WS-ReliableMessaging propose un mécanisme optionnel d’« Offre » pour établir de séquences de conversation liées formant une session WCF implémente ce mécanisme dès lors que le contrat de service expose une opération de type requête-réponse : Y compris pour les opérations OneWay exposées par la même interface Nécessité de définir deux interfaces IPresto et IPresto2 instanciées par deux points de terminaison différents pour garantir l’interopérabilité <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"… > <s:Header>…</s:Header> <s:Body> <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"> <AcksTo> … </AcksTo> <Offer> <Identifier>urn:uuid:d18b1436-6eae-4687-b881-4ff6a1c9e2f7</Identifier> </Offer> </CreateSequence> </s:Body> </s:Envelope> public interface IPresto { [OperationContract(Action = "http://dgme.finances.gouv.fr/presto/submitOneWay", IsOneWay = true)] void submitOneWay(submit1WayMessage message); } public interface IPresto2 [OperationContract(Action = "http://dgme.finances.gouv.fr/presto/submit", ReplyAction = "http://dgme.finances.gouv.fr/presto/submitResponse"] submitResponseMessage submit(submitRequestMessage request); © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Fermeture de la session 4/22/2017 4:43 PM Fermeture de la session Propriété OperationContractAttribute.IsTerminating : Indique si l’opération doit terminer la séquence après avoir reçu le message de réponse A pour valeur false par défaut Nécessite l’initialisation préalable d’une session Fermeture de session par code ContractDescription contractDescription = factory.Endpoint.Contract; contractDescription.SessionMode = SessionMode.Required; OperationDescription operationDescription = contractDescription.Operations[0]; operationDescription.IsInitiating = true; operationDescription.IsTerminating = true; Fermeture de session par Déclaration [ServiceContractAttribute(Namespace = "http://dgme.finances.gouv.fr/presto", SessionMode = SessionMode.Required)] public interface Ipresto { [OperationContract(Action = "http://dgme.finances.gouv.fr/presto/submitOneWay", IsOneWay = true, IsTerminating = true)] void submitOneWay(submit1WayMessage message); } [ServiceContractAttribute(Namespace = "http://dgme.finances.gouv.fr/presto", SessionMode=SessionMode.Required)] public interface IPresto2 { [OperationContract(Action = "http://dgme.finances.gouv.fr/presto/submit", ReplyAction = "http://dgme.finances.gouv.fr/presto/submitResponse", IsTerminating = true)] submitResponseMessage submit(submitRequestMessage request); © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Comment sécuriser les messages échangés avce WCF? 4/22/2017 4:43 PM Comment sécuriser les messages échangés avce WCF? Mode de sécurité : Pour ce conformer aux exigences PRESTO, il faut mettre en œuvre soit le mode Message, soit le mode MessageWithTransportCredentials La version 1.0 du StarterKit met en œuvre le mode Message Mode d’authentification : WCF propose 18 modes prédéfinis http://msdn2.microsoft.com/en-us/library/aa751836.aspx Pour les tests, nous nous sommes limités aux deux modes : AnonymousForCertificate : Dans ce mode, le client est anonyme et le service est authentifié par un certificat X509 v3 MutualCertificate: Dans ce mode, le client est authentifié avec un certificat X509 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Paramétrage du mode de sécurité et d’authentification 4/22/2017 4:43 PM Paramétrage du mode de sécurité et d’authentification Elément de binding lié à la sécurité de mode message Elément de binding lié au transport SymmetricSecurityBindingElement messageSecurity = SecurityBindingElement.CreateAnonymousForCertificateBindingElement(); messageSecurity.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Basic256; messageSecurity.MessageProtectionOrder = MessageProtectionOrder.SignBeforeEncrypt; Anonymous For Certificate SecurityBindingElement messageSecurity = SecurityBindingElement.CreateMutualCertificateBindingElement(); messageSecurity.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Basic256; Mutual Certificate  HttpTransportBindingElement httpTransportBindingElement = new HttpTransportBindingElement(); httpTransportBindingElement.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous; httpTransportBindingElement.ProxyAuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous; Transport par code <httpTransport … authenticationScheme="Anonymous" proxyAuthenticationScheme="Anonymous" realm="“/> Transport par configuration © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM Spécifications des certificats utilisés pour chiffrer et signer les messages Spécification du certificat de signature Spécification du certificat de chiffrement (optionnel si l’on met en œuvre WS-MetadataExchange) factory.Credentials.ClientCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, config.ClientCertificateThumbprint); Code Client <behaviors> <endpointBehaviors> <behavior name=“prestoSignConfig”> <clientCredentials> <clientCertificate storeLocation=“LocalMachine” storeName=“My” x509FindType=“FindByThumbprint” findValue=“F31416E1D645367AC2DB89E31B8EF89A4E77CF21”/> </clientCredentials> </behavior> </behaviors> Behavior ServiceCredentials serviceCredentials = serviceCredentials = new ServiceCredentials(); this.serviceHost.Description.Behaviors.Add(serviceCredentials); serviceCredentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, onfig.ServiceCertificateThumbprint); Code Service  Code Client factory.Credentials.ServiceCertificate.SetDefaultCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, config.ServiceCertificateThumbprint); © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Niveau de protection des messages 4/22/2017 4:43 PM Niveau de protection des messages 3 modes de protection : « None », « Sign », ou « EncryptAndSign » Spécification sur le contrat par code ou par déclaration Dans le cas où le client découvre le contrat par interrogation WS-MetadataExchange, les capacités de sécurité souhaitées sont obtenues par interrogation directe du Channel serviceEndpoint = serviceHost.AddServiceEndpoint(typeof(IPresto), usedBinding, EndpointUri.nullAddress); ContractDescription contractDescription = serviceEndpoint.Contract; contractDescription.ProtectionLevel = ProtectionLevel.EncryptAndSign; Code Service factory = new ChannelFactory<IPresto>(endpoint.Binding, endpoint.Address); factory.Endpoint.Contract.ProtectionLevel = ProtectionLevel.EncryptAndSign; Code Client ServiceContract(ProtectionLevel=ProtectionLevel.EncryptAndSign)] public interface IPresto()  Contrat ISecurityCapabilities isc = endpoint.Binding.GetProperty<ISecurityCapabilities>( new BindingParameterCollection()); if (isc.SupportsServerAuthentication) {…} if (isc.SupportedRequestProtectionLevel != ProtectionLevel.None) {…} Code Client © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Spécification de l’identité des endpoints PRESTO pour authentification 4/22/2017 4:43 PM Spécification de l’identité des endpoints PRESTO pour authentification Si l’identité du endpoint n’est pas renseignée lors de sa création, la valeur attendue est « localhost » Si un certificat est utilisé pour authentifier le service, l’identité exposée par le service diffère et le processus de vérification déclenche une MessageSecurityException Pour éviter cette exception, il faut explicitement spécifier l’identité par code ou par configuration EndpointIdentity endpointIdentity = EndpointIdentity.CreateDnsIdentity(“PRESTO Target Application”); endPointAddress = new EndpointAddress(new Uri(config.ServiceEndpointUri), endpointIdentity, aAH); factory = new ChannelFactory<IPresto>(customBinding, endPointAddress); Code Client <client> <endpoint address=“…” binding=“…“ contract="IPresto“> <identity> <dns value=“PRESTO Target Application"/> /identity> </endpoint> </client> Configuration Client © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

La suite de PRESTO Publication d’une version 1.1 de PRESTO intégrant la prise en compte des résultats des tests d’interopérabilité des prototypes Disponibilité Chacune des implémentations permet d’implémenter l’ensemble du profil PRESTO Interopérabilité WS-Addressing et MTOM/XOP sont inter opérables entre toutes les solutions testées WS-ReliableMessaging pose des problèmes d’interopérabilité entre certaines implémentations Le profil PRESTO V1.0 n’est pas assez contraignant Compléments à apporter dans ce domaine

La suite de PRESTO Le profil PRESTO se place dans l’Initiative IT12 du schéma directeur de l’administration électronique Un programme d’homologation et de référencement de solutions conformes à PRESTO va être mis en place Auto évaluation d’implémentation PRESTO Un comité technique pour les évolutions sera formé en février 2007 Définition de la version 2.0 de PRESTO Support de WS-Policy/WS-MetadataExchange, prise en compte des nouveaux profils WS-I, etc.

La suite du PRESTO Starter Kit Objectifs : accompagner et compléter les évolutions de PRESTO A court terme, disponibilité d’une nouvelle version fin mars 2007 Support de processus métier avec Windows Workflow Foundation http://wf.netfx3.com Adaptateur WCF PRESTO pour BizTalk Server 2006 R2 Hub de messages et d’intégration Routage multi-transports des messages PRESTO vers d’autres hubs et/ou services cibles Orchestration de processus métier Supervision des flux Développé en partenariat avec la société CODit http://www.CODit.fr

Où trouver de l’information sur PRESTO Next Generation Business Solutions Platform Strategy Review 4/22/2017 4:43 PM Où trouver de l’information sur PRESTO Documentation du profil http://synergies.modernisation.gouv.fr/rubrique.php3?id_rubrique=165 PRESTO-TechRef Document de définition du profil PRESTO PRESTO-Guide Guide d’implémentation du protocole PRESTO. Ce document permet à une société de vérifier la conformité de son implémentant à PRESTO PRESTO-Mandataires Exemples de cahier des charges pour développer un connecteur PRESTO pour une application © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Où trouver de l’information sur WCF Next Generation Business Solutions Platform Strategy Review 4/22/2017 4:43 PM Où trouver de l’information sur WCF Un point d’entrée : netFx3 http://wcf.netfx3.com Documentation MSDN WCF http://msdn2.microsoft.com/en-us/library/ms735119.aspx Des blogs Nicholas Allen http://blogs.msdn.com/drnick Aaron Skonnard http://pluralsight.com/blogs/aaron © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4/22/2017 4:43 PM Questions ? © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

La référence technique pour les IT Pros : La référence technique technet.microsoft.com 4/22/2017 4:43 PM La référence technique pour les développeurs : msdn.microsoft.com Abonnement TechNet Plus : Versions d’éval + 2 incidents support Visual Studio 2005 + Abonnement MSDN Premium S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Votre potentiel, notre passion TM 4/22/2017 4:43 PM Votre potentiel, notre passion TM © 2007 Microsoft France © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.