Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito...

15
Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo

Transcript of Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito...

Page 1: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

Sviluppare applicazioni distribuite con WCF, Windows

Phone 7 e Silverlight

Fabio CozzolinoVito Arconzo

Page 2: 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– [email protected]– dotnetside.org/blogs/fabio– twitter.com/fabiocozzolino

Page 3: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

Chi E’

• Senior .NET Developer & Consultant• Microsoft MVP Client Application• Vice-Presidente (operaio) DotNetSide• Contatti– [email protected]– dotnetside.org/blogs/vito– twitter.com/vitoarconzo

Page 4: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

Agenda

• Sviluppare applicazioni distribuite• Applicazione Reale «Bookshelf»• Creazione dei servizi–WCF

• Sviluppo dei clients– Silverlight–Windows Phone 7

Page 5: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

Architetture Distribuite

Page 6: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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à

Page 7: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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

Page 8: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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

Page 9: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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

Page 10: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

Contract

• Identifica le informazioni scambiate dal servizio

• Esistono tre tipi di contratto:– Service contract (WSDL)–Message contract (SOAP) – Data contract (Xml Schema)

Page 11: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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

Page 12: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

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...

Page 13: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

BOOKSHELF SERVICESDEMO

Page 14: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

DOMANDE?

Page 15: Sviluppare applicazioni distribuite con WCF, Windows Phone 7 e Silverlight Fabio Cozzolino Vito Arconzo.

© 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.