Ich empfehle Ihnen die Lektüre dieser Blog-Artikel in der es heißt, dass:
Unsere Überlegungen zu den RIA-Services haben sich vor einigen Jahren aus dem LINQ-Projekt entwickelt. LINQ integriert die Abfragesemantik in die Sprachen (C#, VB usw.) und bietet eine gemeinsame Abstraktion für die Arbeit mit Daten, unabhängig davon, ob es sich bei diesen Daten um CLR-Objekte im Speicher, XML, relationale Daten oder etwas anderes handelt. Mit RIA Services erweitern wir dieses Muster, indem wir ein präskriptives Modell für die Offenlegung Ihrer Domänenlogik über LINQ anbieten. Unter Domänenlogik verstehen wir den Teil Ihrer Anwendung, der sehr spezifisch für Ihre Domäne ist - also das spezielle Geschäftsproblem, das Sie lösen.
Es ist also für die "Domänenlogik" das, was LINQ für Daten ist, während WCF im Wesentlichen nur ein Dienstanbieter ist.
In der traditionellen N-Tier-Entwicklung bedeutet dies, dass:
...Sie sollten die RIA-Dienste als eine empfindlichere Schicht über den ADO.NET-Datendiensten und WCF betrachten... Wir erwarten auch, dass wir irgendwann vollen Zugriff auf die gesamte Leistung und Flexibilität der zugrunde liegenden WCF-Dienste bieten werden, wie z. B. die hoch optimierte binäre Serialisierung.
Sie haben auch die Möglichkeit, das neue "RIA Services-Muster" zu verwenden:
...ASP.NET-Anwendungen einfach zu erstellen und dabei die Vorteile aller eingebauten Funktionen von RIA Services wie Datenvalidierung, Autorisierung usw. zu nutzen. In der März-Vorschau bieten wir ein asp:DomainDataSource-Steuerelement an, das einen sehr einfachen ASP.NET WebForms-Zugriff auf Ihre Domain-Logik ermöglicht. Darauf aufbauend ist eine zukünftige Version von ASP.NET Dynamic Data geplant, die es sehr einfach macht, allgemeine, standardmäßige UI auf der Grundlage Ihrer Domänenlogik zu generieren.
Dies bedeutet im Wesentlichen, dass die RIA-Dienste entweder:
- Setzen Sie auf WCF auf (im Wesentlichen wickeln Sie die WCF-Dienste ein, damit die Client-App sie nutzen kann).
- Ersetzen Sie die WCF-Schicht durch RIA-Dienste unter Verwendung einer alternativen Datenquelle (z. B. ADO.NET Entity Data Model/Entity Framework gemäß Erstellen einer datengesteuerten Spesen-App mit Silverlight 3 )
Es lohnt sich auch ein Blick auf Mix09: Erstaunliche Geschäftsanwendungen mit Silverlight 3 erstellen für ein anderes Beispiel.
Während ich dies schreibe, habe ich gerade entdeckt, dass Überblick über die .NET RIA-Dienste von Microsoft die anscheinend viel von der Logik der RIA-Dienste erklärt (und wahrscheinlich etwas klarer ist als einige der oben genannten :)