Fabio Cozzolino Vito Arconzo Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo
Chi Sono Software Architect and Developer in CompuGROUP Medical Italia Microsoft Connected System Developer MVP Presidente di DotNetSide Contatti fabio@dotnetside.org dotnetside.org/blogs/fabio twitter.com/fabiocozzolino
Chi E’ Senior .NET Developer & Consultant Microsoft MVP Client Application Vice-Presidente (operaio) DotNetSide Contatti vito@vitoarconzo.it 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à
Address, Binding, Contract Behaviours Messaggio Consumer Provider C B A A B C A B C A B C EndPoint Address (dove) Binding (come) Contract (cosa)
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 Internet Information Services 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...
DEMO Bookshelf services
DOMANDE?
3/29/2017 3:03 AM © 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. © 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.