10

Attualmente sono in fase di creazione di un'applicazione basata su dati Silverlight 3. Per accedere al database, vengono utilizzati 2 approcci comuni: Servizi RIA e Servizi dati ADO.NET. Qualcuno ha una guida su quando/perché scegliere ogni approccio? Ecco cosa ho raccolto dalla mia ricerca/esperienza. qualche idea?Servizi RIA vs Servizi dati ADO.NET

ADO.NET sembra essere utile solo per le chiamate di database rigorose. Se è necessario esporre i servizi dati ad altre applicazioni (ignorando la restrizione di dominio di Silverlight 3), questo è un buon approccio. Inoltre, se la sintassi URL/Query può essere utile nell'applicazione, questo è un altro vantaggio

I servizi di RIA sembrano essere un quadro più flessibile e accettato. Sembra darti più che rigorosamente accesso al database. Ha una limitazione di essere utilizzato solo per l'applicazione Silverlight/Web in quanto non è esposto tramite un servizio.

Pensieri? Idee? Commenti?

risposta

10

Over the wire, servizi dati ADO.NET e servizi RIA sono molto simili (sono entrambi basati su REST).

Tuttavia, con i servizi dati ADO.NET e tutti gli altri servizi REST non è possibile visualizzare API in Visual Studio. Es: non sai quali chiamate al database sono disponibili e i dati restituiti non sono stati digitati con forza. Rende un sistema di dati molto interoperabile ma può essere un problema lavorare con.

Con i servizi RIA, si ottiene il meglio da entrambi i mondi poiché il progetto RIA viene indirizzato direttamente ai progetti Silverlight in modo che Visual Studio possa sapere quali metodi sono disponibili e tutto è fortemente digitato. Tutte le altre app possono utilizzare questo servizio (dataservice.axd) ma non hanno il lusso di un'API.

EDIT: Correzione: ADO.NET Data Services non genera i metadati (Ci scusiamo per male informazioni) http://msdn.microsoft.com/en-us/library/cc716656.aspx

+0

Buone informazioni. Dovrò darti un voto "virtuale" poiché sono troppo nuovo per Stack Overflow (solo la reputazione 11) per votare la tua risposta. –

+2

Credo che tu abbia torto su: "non è facile vedere API in Visual Studio" per quanto riguarda i servizi dati. I servizi dati ADO.NET possono essere importati in Visual Studio proprio come qualsiasi soluzione WCF/RIA che consente al codice di visualizzare l'API tramite i metodi/classi fortemente tipizzati che vengono creati. –

+0

In generale buona discussione, ma sono d'accordo con Robert - ADO.NET Data Services è molto facile da guardare sotto il cofano di. –

0

ho fatto un prototipo di un sistema con Silverlight 2 e dei servizi di dati ADO.NET e attualmente sto andando avanti con un'implementazione MVVM che utilizza i servizi Silverlight 3 e RIA per un'applicazione LOB.

RIA dispone di un modello di sicurezza che consente di evitare di crearne di propri con WCF per l'utilizzo di Silverlight. È basato sul modello di provider di sicurezza ASP.NET. Ha un interessante e potente modello di validazione che ti consente di inserire facilmente i tuoi validatori di clienti.

I problemi principali con i Servizi RIA sono che sono molto nuovi, non in forma definitiva, e hanno pochissima documentazione con più di un semplice caso senario. Beta è previsto a PDC a novembre e RTM con EF 4.0, C# 4.0 e VS2010.

Quando si lavora con qualcosa così presto, ci si può aspettare un sostanziale refactoring con le modifiche apportate ai rilasci, e qualche frustrazione con piccole modifiche che non sono così facili da individuare.

Attualmente stiamo lavorando su bug in EF e RIA e potremmo aver bisogno di utilizzare i servizi dati per fare alcune cose finché RIA non sarà più stabile.

C'è una forte digitazione sia con Data Services che con RIA. Intellisense funziona con entrambi. Resharper non supporta ancora RIA, sebbene sia previsto nella versione 5.0.

3

Questa è una domanda molto vecchia, ma vorrei aggiungere una risposta ai lettori.

I servizi Ria si trovano in cima ai servizi dati ADO.net. I servizi Ria utilizzano ADO.Net come framework di base e aggiunge layer per un facile utilizzo della libreria UI.

La domanda può essere quando utilizzare i servizi RIA e quando si utilizzano i servizi dati ADO.Net