Upload
degare-fernandes
View
106
Download
1
Embed Size (px)
Citation preview
Windows Communication FoundationWindows Communication FoundationBindings, PRESTOBindings, PRESTO
Stève SFARTZStève SFARTZArchitecte en Système d’informationArchitecte en Système d’informationDivision Plateformes et EcosystèmeDivision Plateformes et Ecosystè[email protected]@microsoft.comhttp://blog.sfartz.comhttp://blog.sfartz.com
Endpoint : Adresse, Binding, ContratEndpoint : Adresse, Binding, ContratC’est notre binding
Présentation des bindingsPrésentation des bindings
Le binding définit la façon dont le Le binding définit la façon dont le message est communiquémessage est communiqué
Transport, EncodageTransport, Encodage Sécurité, Transactions, Compression…Sécurité, Transactions, Compression…
Implémenté par code ou bien spécifié Implémenté par code ou bien spécifié par configurationpar configuration
<client> <endpoint address="http://localhost:9001/bankingservices/banking" binding="wsHttpBinding" bindingConfiguration="myBinding" contract="IBankingServices"> </endpoint></client><bindings> <wsHttpBinding> <binding name="myBinding" sendTimeout="0:0:0.10"/> </wsHttpBinding></bindings>
<client> <endpoint address="http://localhost:9001/bankingservices/banking" binding="wsHttpBinding" bindingConfiguration="myBinding" contract="IBankingServices"> </endpoint></client><bindings> <wsHttpBinding> <binding name="myBinding" sendTimeout="0:0:0.10"/> </wsHttpBinding></bindings>
WSHttpBinding binding = new WSHttpBinding();Binding.SendTimeOut = new TimeSpan(“0:0:0.10”);EndpointAddress address = new EndpointAddress("http://localhost:9001/bankingservices/banking");BankingServicesProxy proxy = new BankingServicesProxy(binding, address);
WSHttpBinding binding = new WSHttpBinding();Binding.SendTimeOut = new TimeSpan(“0:0:0.10”);EndpointAddress address = new EndpointAddress("http://localhost:9001/bankingservices/banking");BankingServicesProxy proxy = new BankingServicesProxy(binding, address);
Les composants d’un bindingLes composants d’un binding
Les bindings par défautLes bindings par défaut
Binding sur mesureBinding sur mesure
TextMessageEncoding
HttpTransportCo
mp
osa
nts
é
lém
en
taire
s
basicHttpBinding
TextMessageEncoding
HttpTransport
wsHttpBinding
TransactionFlow
SymmetricSecurity
BinaryMessageEncoding
TcpTransport
netTcpBinding
TransactionFlow
WindowsStreamSecurity
Binary, Text, MTOM, Custom
Http, Tcp, …, Custom
Custom binding
(Reliability)
(Security)
(ContextFlow) <customBinding> <binding name=“MycustomBinding" > <textMessageEncoding/> <httpTransport mapAddressingHeadersToHttpHeaders="true" /> </binding></customBinding>
<customBinding> <binding name=“MycustomBinding" > <textMessageEncoding/> <httpTransport mapAddressingHeadersToHttpHeaders="true" /> </binding></customBinding>
Note: Attention à l’ordreAttention à l’ordre
CustomBinding binding = new CustomBinding();binding.Elements.Add(new TextMessageEncodingBindingElement());binding.Elements.Add(new HttpTransportBindingElement());EndpointAddress address = new EndpointAddress("http://localhost:9001/bankingservices/banking");BankingServicesProxy proxy = new BankingServicesProxy(
binding, address);
CustomBinding binding = new CustomBinding();binding.Elements.Add(new TextMessageEncodingBindingElement());binding.Elements.Add(new HttpTransportBindingElement());EndpointAddress address = new EndpointAddress("http://localhost:9001/bankingservices/banking");BankingServicesProxy proxy = new BankingServicesProxy(
binding, address);
1.1. Présentation d’un bindingPrésentation d’un binding
2.2. Ajouter un bindingAjouter un binding
3.3. Configurer un bindingConfigurer un binding
4.4. Créer un binding sur mesureCréer un binding sur mesure
PRESTOPRotocole d’Echange STandard Ouvert
13 Octobre 200613 Octobre 2006
L’état des lieuxL’état des lieux
Les besoins de communications Les besoins de communications électroniques explosent :électroniques explosent :
Sphère sociale (RMI, personnes âgées, …)Sphère sociale (RMI, personnes âgées, …) Sphère santé (réseau santé, DMP, …)Sphère santé (réseau santé, DMP, …) Sphère ministères (ACTES,Sphère ministères (ACTES,
HELIOS, CHORUS, casierHELIOS, CHORUS, casierjudiciaire)judiciaire)
Identité (État civil)Identité (État civil) Formalités en ligneFormalités en ligne ……
PartenairesPartenaires
Émetteur Émetteur
CollectivitésCollectivités
Ministères
Ministères
Ministères
Conversion
Pilotage
annuaire
CertificationCertification
DestinataireContenu Transport
Tra
nspo
rt
Transport
Social
Social
Santé
Starter Kit Starter Kit
Version préliminaireVersion préliminaire Démonstrateur .Net 3.0 : implémentation du Démonstrateur .Net 3.0 : implémentation du
protocole Presto (et de ses options) côté client protocole Presto (et de ses options) côté client et serviceset services
Patterns d’échanges supportés : envoi/réception Patterns d’échanges supportés : envoi/réception de messages « One-Way », échange de de messages « One-Way », échange de messages Requête-Réponsemessages Requête-Réponse
Preview du chiffrement et signaturePreview du chiffrement et signature Disponibilité : novembre 2006.Disponibilité : novembre 2006. Diffusion du code sous licence opensourceDiffusion du code sous licence opensource
http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?FamilyID=B8D92FE4-2D93-491E-B30C-FamilyID=B8D92FE4-2D93-491E-B30C-E58CD9808AA0&displaylang=enE58CD9808AA0&displaylang=en
Version 1.0Version 1.0 IdemIdem + Support de processus métier avec Windows + Support de processus métier avec Windows
Workflow Foundation (autre composante du Workflow Foundation (autre composante du Framework .NET 3.0), chuncking, etcFramework .NET 3.0), chuncking, etc
+ Adaptateur Presto pour BizTalk Server 2006, + Adaptateur Presto pour BizTalk Server 2006, hub de messages et d’intégrationhub de messages et d’intégration
Disponibilité prévue : janvier 2007. Disponibilité prévue : janvier 2007.
Starter Kit Starter Kit