WCF RIA SERVICE - Evento 1nn0va 2010

25
www.1nn0va.net [email protected] Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN) Codice fiscale: 91068510931 WCF RIA Services: Semplificazione sviluppo n-tier application Marco Pozzan Software Developer , CGN Corporation Blog: http://www.marcopozzan.it

description

 

Transcript of WCF RIA SERVICE - Evento 1nn0va 2010

Page 1: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 2: WCF RIA SERVICE - Evento 1nn0va 2010

Agenda:Agenda: Perchè WCF RIA? Nozioni di Base Come usare Silverlight 4.0 con i WCF

Ria Services OOB Pattern MVVM

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 3: WCF RIA SERVICE - Evento 1nn0va 2010

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

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 4: WCF RIA SERVICE - Evento 1nn0va 2010

WCF RIA Services: 2/2WCF RIA Services: 2/2 Serializzazione automatica ed

efficiente

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 5: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 6: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 7: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 8: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 9: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

Class Domain Context?Class Domain Context?

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 10: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 11: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

• 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

Page 12: WCF RIA SERVICE - Evento 1nn0va 2010

[email protected]

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

Page 13: WCF RIA SERVICE - Evento 1nn0va 2010

Cosa Usero?:Cosa Usero?: Visual Studio 2010 Silverlight 4.0 WCF Ria Services Disponibile

all'indirizzo:http://www.silverlight.net/getstarted/riaservices/

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 14: WCF RIA SERVICE - Evento 1nn0va 2010

Demo: Demo: Parte 1 - Costruiamo una applicazionehttp://cid-913fef309e107dcd.office.live.com/self.aspx/.Public/RiaServices.zip

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 15: WCF RIA SERVICE - Evento 1nn0va 2010

Demo: Demo: Parte 2 – OOBhttp://cid-913fef309e107dcd.office.live.com/self.aspx/.Public/Silverlight4%20Out%20of%20Browser.zip

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 16: WCF RIA SERVICE - Evento 1nn0va 2010

Perché MVVMPerché MVVM

[email protected]

Relatore: Nome e Cognome relatoreMail relatore: [email protected]

Pattern Separation Data Binding (XAML) Unit testing Simbiosi tra sviluppatore e designer Manutenibilità Scalabilità

Page 17: WCF RIA SERVICE - Evento 1nn0va 2010

MVVM 1/4 MVVM 1/4

[email protected]

Relatore: Nome e Cognome relatoreMail relatore: [email protected]

UI Model

Page 18: WCF RIA SERVICE - Evento 1nn0va 2010

MVVM 1/4 MVVM 1/4

[email protected]

UI ModelCodeBehind

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 19: WCF RIA SERVICE - Evento 1nn0va 2010

MVVM 2/4 MVVM 2/4

[email protected]

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

Page 20: WCF RIA SERVICE - Evento 1nn0va 2010

MVVM 3/4 MVVM 3/4

[email protected]

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

Page 21: WCF RIA SERVICE - Evento 1nn0va 2010

MVVM 4/4 MVVM 4/4

[email protected]

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

Page 22: WCF RIA SERVICE - Evento 1nn0va 2010

Demo: Demo: Parte 3 - Costruiamo una applicazione

con il pattern MVVM

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 23: WCF RIA SERVICE - Evento 1nn0va 2010

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

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 24: WCF RIA SERVICE - Evento 1nn0va 2010

Questions and Answers:Questions and Answers:

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

Page 25: WCF RIA SERVICE - Evento 1nn0va 2010

CONTATTI:CONTATTI:Marco Pozzan

[email protected]

[email protected]

Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931