Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | aldo-roberti |
View: | 215 times |
Download: | 0 times |
Sviluppare applicazioni distribuite con WCF, Windows
Phone 7 e Silverlight
Fabio CozzolinoVito Arconzo
Chi Sono
• Software Architect and Developer in CompuGROUP Medical Italia
• Microsoft Connected System Developer MVP
• Presidente di DotNetSide• Contatti– [email protected]– dotnetside.org/blogs/fabio– twitter.com/fabiocozzolino
Chi E’
• Senior .NET Developer & Consultant• Microsoft MVP Client Application• Vice-Presidente (operaio) DotNetSide• Contatti– [email protected]– dotnetside.org/blogs/vito– twitter.com/vitoarconzo
Agenda
• Sviluppare applicazioni distribuite• Applicazione Reale «Bookshelf»• Creazione dei servizi–WCF
• Sviluppo dei clients– Silverlight–Windows Phone 7
Architetture Distribuite
Windows Communication Foundation
• E’ il framework proposto da Microsoft per lo sviluppo di servizi– Service-Oriented Architecture– REST
• Estremamente semplice da utilizzare• Potenzialità estreme• Flessibilità
EndPointAddress, Binding, Contract
ConsumerConsumer ProviderProvider
Address(dove)
Address(dove)
Binding(come)Binding(come)
Contract(cosa)
Contract(cosa)
CC BB AA AA BB CC
Messaggio
AA BB CC
AA BB CC
Behaviours
Address
• Identifica l’indirizzo del servizio specificando:– URL• http://www.mysite.com/myservice.svc• net.tcp://localhost:10101/myservice.svc• …
– Headers (opzionale)
• E’ un’istanza di EndpointAddress
Binding
• COME comunichiamo con il servizio– il protocollo utilizzato (http, tcp, msmq, etc..)– le modalità di formattazione del messaggio
(encoding)– le impostazioni di sicurezza (ws-security)– gli eventuali standard da utilizzare (ws-trust,
ws-reliablemessaging, ws-atomic transaction,SOAP)
– Ma anche sessioni e transazioni
• Esistono binding predefiniti ma possiamo crearne anche di personalizzati
Contract
• Identifica le informazioni scambiate dal servizio
• Esistono tre tipi di contratto:– Service contract (WSDL)–Message contract (SOAP) – Data contract (Xml Schema)
Behaviors
• Servizi infrastrutturali che modellano il comportamento del servizio
• Attivabili nel codice e dal .config– Utile per le operazioni più delicate (sessioni,
transazioni, instancing, identity)– Per le politiche da adottare nello scambio dei
messaggi (credenziali, throttling, auditing, serializzazione, affidabilità, ecc…)
• Possiamo creare behavior personalizzati:– Implementando le interfacce
System.ServiceModel.IServiceBehavior– System.ServiceModel.IEndpointBehavior– System.ServiceModel.IContractBehavior– System.ServiceModel.IOperationBehavior
WCF Hosting
• Self-hosting– Qualsiasi altra applicazione
(Console,WinForms, etc..)– Posso utilizzare tutti i protocolli previsti
da WCF
• Internet Information Services– IIS 6 solo http– IIS 7 con Windows Activation Services:• net.tcp, net.msmq, etc...
BOOKSHELF SERVICESDEMO
DOMANDE?
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.