In diretta dal Polo Tecnologico di Navicchio (Pisa) una delegazione di DotNetCampania composta da me, Marcello, Massimiliano e Giorgio sta seguendo la sessione di Pietro Brambati su Silverlight e RIA Services.
Pietro ci illustra alcuni requisiti dalle comuni aplicazioni di business:
- Aspetto professionale
- Sviluppata su più Tier
- Tanta Business Logic
- Validazione
WCF RIA Services ci semplifica l’utilizzo di WCF per sviluppare servizi CRUD, permettendoci di essere indipendenti dal DAL e dal Presentation Layer. Si parte subito con una demo in cui ci viene illustrato come creare con Visual Studio 2010 Beta 2 un progetto Silverlight RIA Services, aggiungendo un entity data model per l’accesso ai dati. Aggiungendo un Domain Service Class (che vi trovate in elenco dopo aver installato i RIA Services) nel progetto di back-end possiamo in maniera RAD creare il servizio associato all’entità che vogliamo gestire. Senza aggiungere il service reference (tra le cartelle non incluse nel progetto silverlight trovate una cartella Generated_Code che contiene i riferimenti al servizio creati da visual studio dopo la compilazione del servizio) e usando il tab Data Sources di Visual Studio 2010 possiamo draggare i dati esposti direttamente nel nostro xaml, lasciando quindi all’ambiente l’onere di impostare il binding al servizio WCF mediante l’utilizzo di controlli appositi, i RIA Controls. Grazie a questi controlli possiamo fare tutte le solite operazioni che siamo abituati a fare con gli insiemi di dati: raggruppamento, ordinamento, filtraggio, ecc.
Un altro controllo interessante è il DataForm, grazie al quale possiamo creare form di dettaglio in cui possiamo editare i singoli campi della riga correntemente selezionata, implementando classici scenari Master-Detail. Interessante è la validazione dei campi, che mediante il classico meccanismo degli attributi ci permette di portare lato client le regole di validazione che impostiamo lato server.
Impostando l’applicazione in modalità out of browser e con privilegi elevati possiamo collegare la nostra applicazione ad esempio ad excel per esportare i dati in questo formato.