Prendo spunto dall'uscita di Silverlight 3, di parlarvi di un progetto che abbiamo finito circa un mese fà che è stato fatto con Silverlight 2.0 e WCF.
E' un progetto Enteprise dove Silverlight si integra con più servizi all'interno di un portale asp.net/asp.
L'ambito è simile a quello di vistaprint, a livello Business, con possibilità di creare dei modelli con un'editor molto avanzato(Silverlight è quasi perfetto per queste applicazioni), mentre wcf viene utilizzato per "parlare" con gli atri servizi e comunicare con la parte di business.
Quando si lavora con Silverlight bisogna cambiare totalmente visione visto che lavora totalmente Client-Side e richiama i servizi in modalità asicrona.
Siccome per alcuni servizi invece c'era la necessità di richiamarli sincronamente, abbiamo implementato dei servizi wcf rest.
Per capire bene la differenza tra SOAP e Rest vi consiglio vivamente questa presentazione di David Chappell.
WCF credo che sia una delle tecnologie meglio realizzate da Microsoft, perchè è versatile, robusta e sicura.
Alcuni problemi che abbiamo incontrato sono che Silverlight 2.0 e WCF non parlano sempre la stessa lingua, esempio non si possono usare i MessageContract(se non erro superato con la versione 3.0 di Silverlight), bisogna creare dei servizi con degli attributi ad hoc, fortunatamente con la SP1 di Visual Studio 2008 sono stati creati dei template appositi.
Insomma questo post un pò per condividere l'esperienza(ogni commento costruttivo e ben accetto) e fare i complimenti ai due miei colleghi Domenico e Silviu che si completamente occupati della parte Silverlight.