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

Post on 02-May-2015

215 views 0 download

Tags:

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

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– 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à

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.