WCF RIA SERVICE - Evento 1nn0va 2010

Post on 14-Dec-2014

896 views 1 download

Tags:

description

 

Transcript of WCF RIA SERVICE - Evento 1nn0va 2010

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

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

efficiente

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

Class Domain Context?Class Domain Context?

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

• 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

www.1nn0va.netinfo@1nn0va.net

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/

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

Perché MVVMPerché MVVM

www.1nn0va.netinfo@1nn0va.net

Relatore: Nome e Cognome relatoreMail relatore: info@relatore.com

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

MVVM 1/4 MVVM 1/4

www.1nn0va.netinfo@1nn0va.net

Relatore: Nome e Cognome relatoreMail relatore: info@relatore.com

UI Model

MVVM 1/4 MVVM 1/4

www.1nn0va.netinfo@1nn0va.net

UI ModelCodeBehind

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

MVVM 2/4 MVVM 2/4

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

www.1nn0va.netinfo@1nn0va.net

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

Questions and Answers:Questions and Answers:

www.1nn0va.netinfo@1nn0va.net

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

CONTATTI:CONTATTI:Marco Pozzan

info@marcopozzan.itwww.marcopozzan.it

www.1nn0va.netinfo@1nn0va.net

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