Date post: | 14-Dec-2014 |
Category: |
Technology |
Upload: | marco-pozzan |
View: | 896 times |
Download: | 1 times |
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
WCF RIA Services: Semplificazione sviluppo n-tier
applicationMarco PozzanSoftware Developer , CGN Corporation
Blog: http://www.marcopozzan.it
Agenda:Agenda: Perchè WCF RIA? Nozioni di Base Come usare Silverlight 4.0 con i WCF
Ria Services OOB Pattern MVVM
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
WCF RIA Services: 1/2WCF RIA Services: 1/2 Operazioni CRUD da Silverlight Semplificano lo sviluppo di applicazioni
n-tier Specializzazione di WCF
–Semplifica iterazione tra mid e Presentation Layer
Validazione lato clinet e server
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
WCF RIA Services: 2/2WCF RIA Services: 2/2 Serializzazione automatica ed
efficiente
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
I Domain Services?I Domain Services?
• sono servizi che incapsulano la logica di business di una applicazione.
• espongono un insieme di operazioni correlate sotto forma di una strato di servizi (Coesion)
• Durante l'instanziazione si specificano le operazioni sui dati che sono consentite.
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
La classe Domain Services e La classe Domain Services e amiciamici
la classe base per tutte le classi che fungono da Domain Services è
DomainServices
LinqToEntitiesDomainService<TContext> è una classe astratta che deriva da DomainService per ado.net
[EnableClientAccess()]
public class OrderDomainService :LinqToEntitiesDomainService<AdventureWorksLT_DataEntities>
ILinqToSqlDomainService<TContext> (per LINQ to SQL)[EnableClientAccess()]
public class OrderDomainService : LinqToEntitiesDomainService<AdventureWorksLT_DataEntities>
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Operazioni sui datiOperazioni sui dati
• E possibile aggiungere Metodi che esguono operazioni semplici o complesse:– CRUD– Invoke: operazioni devono essere eseguite
senza Monitoraggio o con esecuzione differita.
– Named Update: operazioni customizzate che non rientrano nelle operazioni semplici di modifica
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Class Domain Context?Class Domain Context?• No direct interaction del client con
Domain Services.
• nel client viene generato un DomainContext per ogni Domain Services del server.
• chiamata a un metodo della classe Domaincontext = chiamata un metodo Domain Service
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Class Domain Context?Class Domain Context?
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Classi DomainContext Classi DomainContext
• DomainContext supporta– Query (classe LoadOperation)– Submit (classe SubmitOperation)– Invoke (classe InvokeOperation)
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
• I Servizi RIA, espongono i dati dal progetto server al progetto client attraverso i servizi di dominio.
• Ogni servizio di dominio è implementato come un WCF Services
è possibile applicare i concetti da WCF Services ai domain service
Perchè WCF con RIA Perchè WCF con RIA Services?Services?
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
RIA Services LinkRIA Services Link• Collega un progetto Silverlight al suo progetto
Middle t-layer. Facilita la generazione di codice della presentation da codice Middle t-layer
– Il collegamento è definito in un progetto client Silverlight.– Il link punta sempre da un progetto di client Silverlight, progetto server. NET o libreria
classi.– Ci può essere un solo collegamento per ogni progetto client Silverlight.Il collegamento
non può– puntare a progetti di altri client Silverlight.– Più progetti client Silverlight possono puntare allo stesso progetto server o libreria di
classi.– Un'applicazione Silverlight non può essere collegata direttamente a un progetto libreria
di classi.
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Cosa Usero?:Cosa Usero?: Visual Studio 2010 Silverlight 4.0 WCF Ria Services Disponibile
all'indirizzo:http://www.silverlight.net/getstarted/riaservices/
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Demo: Demo: Parte 1 - Costruiamo una applicazionehttp://cid-913fef309e107dcd.office.live.com/self.aspx/.Public/RiaServices.zip
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Demo: Demo: Parte 2 – OOBhttp://cid-913fef309e107dcd.office.live.com/self.aspx/.Public/Silverlight4%20Out%20of%20Browser.zip
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Perché MVVMPerché MVVM
Relatore: Nome e Cognome relatoreMail relatore: [email protected]
Pattern Separation Data Binding (XAML) Unit testing Simbiosi tra sviluppatore e designer Manutenibilità Scalabilità
MVVM 1/4 MVVM 1/4
UI ModelCodeBehind
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
MVVM 2/4 MVVM 2/4
View
+ Metodo Save
Model Model View
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
• Proprietà• Domain Object• Entità Ria Services
• Pagina o controllo• UI• Interazioni (Binding, Eventi)• Temi e stili
• Databound della view
• Collante tra V e M• Contiene il modello
• Proprietà• Domain Object• Entità Ria Services
• Databound della view
• Collante tra V e M• Contiene il modello
• Pagina o controllo• UI• Interazioni (Binding, Eventi)• Temi e stili
• Proprietà• Domain Object• Entità Ria Services
• Databound della view
• Collante tra V e M• Contiene il modello
MVVM 3/4 MVVM 3/4
View
+ Metodo Save
Model Model View
Command
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
• Pagina o controllo• UI• Interazioni (Binding, Eventi)• Temi e stili
• Proprietà• Domain Object• Entità Ria Services
• Databound della view
• Collante tra V e M• Contiene il modello
MVVM 4/4 MVVM 4/4
View
+ Metodo Save
Model Model View
DataBinding
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
• Pagina o controllo• UI• Interazioni (Binding, Eventi)• Temi e stili
• Proprietà• Domain Object• Entità Ria Services
• Databound della view
• Collante tra V e M• Contiene il modello
Demo: Demo: Parte 3 - Costruiamo una applicazione
con il pattern MVVM
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Last Minute: Dicembre 2010Last Minute: Dicembre 20101. LinqToSql DomainService
2. Soap endpoint for DomainServices
3. JSON endpoint for DomainServices
4. ASP.net DomainDataSource
5. WCF client proxy auto generation/updating for
WCF Core Service (usano MEF)
6. Domain Service support Windows Azure
7. T4 template based client code generation. (Fixbug)
8. CollectionView to enable MVVM Patterns
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Questions and Answers:Questions and Answers:
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
CONTATTI:CONTATTI:Marco Pozzan
Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931