Difference Between WCF Service, WCF RIA Services, and WCF Data Service
Asked Answered
S

4

5

What is the difference between WCF Service, WCF RIA Services and WCF Data Services?

Suberin answered 10/6, 2010 at 10:12 Comment(0)
B
7

WCF is a communication infrastructure for services in general. WCF RIA services automatically generates client and server proxy objects to facilitate application development, and depends upon WCF to do the actual communication. ADO.Net data services has been renamed to WCF Data Services, and provides OData services over WCF.

Bartholemy answered 14/6, 2010 at 8:28 Comment(0)
P
3

Here is a nice article explaining WCF (ADO.Net) Data Services vs WCF Ria Data Services http://jack.ukleja.com/wcf-data-services-vs-wcf-ria-services/

Penology answered 3/11, 2010 at 17:22 Comment(0)
O
1

This one is by Collin Blair

http://forums.silverlight.net/t/103015.aspx/1

You question is analogous to asking what the difference between a plain hamburger patty and a hambuger which is why it is hard to get a straight answer. Getting a good answer is also hampered by the fact that RIA Services will not be "feature complete" until at least PDC so any answer you get will be based on expectations and speculation. Finally, RIA Services is plural for a reason, there are multiple classes in RIA Services which do different things. Here is my answer based on the roadmaps and my understanding of the goals of the RIA Services team.

RIA Services is a library of client and server components that bolt on to ADO.NET Data Services. When the full stack of RIA Services is used the difference between RIA Services and plain WCF are as follow:

The client side data objects are generated using reflection at compile time based on the actual server side objects instead of a service contract. This allows RIA Services to provide a much richer client side object model by including any business rules and relationships between objects. However, this does mean that RIA Services gives up some flexibility compared to plain WCF. For example, the RIA Services serializaer does not currently support some data types which WCF would be able to handle. RIA Services, like ADO.NET Data Services, supports serializing LINQ queries between the client and the server. This means that the client can create the LINQ query and have it run server side. RIA Services, unlike plain ADO.NET Data Services, does not automatically generate CRUD at runtime. For people familiar with SQL Server, I describe ADO.NET Data Services as supporting regular triggers (aka query interceptors) while RIA Services requires INSTEAD OF triggers.

Octet answered 4/4, 2012 at 16:15 Comment(0)
S
1

The following answer is not by me, but still answer a part of the question that is left unanswered.

I copy-pasted this answer from here https://social.msdn.microsoft.com/Forums/en-US/687426d9-709f-4e73-8c4c-dd3630f006e7/wcf-data-service-or-wcf-service?forum=adodotnetdataservices

WCF Services are operation centric - the main thing you do with these is define operations (functions). Data comes as a secondary thing in a way. On the other hand they can work over lot of different transports/protocols. You have the ability to stricly define what the client can and can not do. Client can't really make up new queries/operations, the server must implement everything the client needs.

WCF Data Services are data centric - the main thing you do with these is define a data model to be exposed. Operations on the data are "predefined" (Create/Delete/Update/Read). It only supports HTTP protocol and uses REST. You usually allow clients to decide what they want to do (in some boundaries). One of the main differences from WCF Service is that the client can issue a query against the data model (think SQL like stuff) which the client constructs. This means that the server doesn't need to know exactly what the client needs up front, the client will be able to tell it runtime.

Vitek Karas [MSFT]

Salsbury answered 23/10, 2014 at 7:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.