WCF Data Services vs WCF RIA Services
Jul 28, 2010
To sum up my findings as to the differences between WCF Data Services vs WCF RIA Services.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ec2qohoq3M8Bk4SaBF9Z45R5i_lKCXc8ZCw-g2YU3AMtSPJkf6VyYbsaJN0iuLJ558FnHRnoUewHLhdWUnNBh327FftqsGgCRwID-2AIUeEM4sDvqlRaWuKhci13hK82SvIVbFjR5qM/s400/WcfOverviewDiagram_18.png)
Hope this will help you!
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ec2qohoq3M8Bk4SaBF9Z45R5i_lKCXc8ZCw-g2YU3AMtSPJkf6VyYbsaJN0iuLJ558FnHRnoUewHLhdWUnNBh327FftqsGgCRwID-2AIUeEM4sDvqlRaWuKhci13hK82SvIVbFjR5qM/s400/WcfOverviewDiagram_18.png)
WCF (ADO.NET) Data Services | WCF (.NET) RIA Services |
---|---|
Expose data model as RESTful web service | Prescriptive approach to n-tier app development |
Cross platform interoperation as a goal - “Unlock data silos” - Out-of-box support from future MS products such as SQL2008 R2, Azure, Excel 2010, SharePoint 2010 | Designed specifically for end-to-end Silverlight & ASP.NET solutions - Some technology proprietary to Silverlight (no WPF support) - Use ASP.NET Authentication/Roles across SL and ASP.NET - ASP.NET/AJAX can also access service layer |
Loosely coupled clients and servers | Client & server are designed and deployed together |
Service layer exposes “raw” data sources | Opportunity to easily add business logic into service layer - Encourage “domain” concepts - Strong validation framework - Offline / Sync enabled |
Service can be consumed from .NET, Silverlight, AJAX, PHP and Java (libraries available) | Service can be consumed easily from SL, AJAX, WebForms |
Service’s data source must: - Expose at least one IQueryable property - Implement IUpdateable if you desire updates | Service exposes domain objects via convention: - IQueryable GetX - UpdateX/InsertX/DeleteX |
No design time experience yet (??) | Design time experience with data sources, drag drop etc |
- OData for all clients - Within OData, multiple formats supported (JSON, XML etc) | - SOAP (binary) for SL clients - JSON for AJAX clients - SOAP (XML) for other clients |
Discoverable (?) | Non-discoverable |
Hosted as WCF Service (.svc) | Old version hosted in custom web handler (.axd). New version is WCF service. |
Standardized on OData protocol | Will “support” OData |
More mature – public for at least 2 years, formerly “Project Astoria” | Less mature – public for 6 months |
Common features
- Based on WCF
- Use a RESTful architecture
- Can be used to expose any data source (sql, xml, poco/objects etc.)
- Client side libraries provide ability to query using LINQ
General
- Currently they do not share much (any?) technology / code
- RIA Services is not based on top of Data Services
- RIA Services & Data Services will “align”
- OData eventually pushed down into WCF stack
Hope this will help you!
Share