locked
WCF Data Services X WCF Ria Services RRS feed

  • Question

  • Guys.

    What's the difference between WCF RIA Services and WCF Data Services?

    Thanks!

    Tuesday, May 10, 2011 2:27 PM

Answers

  • The difference is that WCF RIA Services is designed to be a LINQ queryable n-Tier business logic layer while WCF Data Services is designed to expose a data layer across a web service. On is business layer, the other is data layer. All of the other differences are rooting in that fundamental difference.

    Tuesday, May 10, 2011 3:54 PM

All replies

  • The difference is that WCF RIA Services is designed to be a LINQ queryable n-Tier business logic layer while WCF Data Services is designed to expose a data layer across a web service. On is business layer, the other is data layer. All of the other differences are rooting in that fundamental difference.

    Tuesday, May 10, 2011 3:54 PM
  • So, When building a n-Tier application, the best is to use is RIA Services.

    Just another question. If the same data is going to be consumed by a WPF application, the best is to use WCF Data Services, or WPF can also consume RIA Services?

    Thanks!

    Wednesday, May 11, 2011 6:46 AM
  • Technically speaking, the DataServiceQuery<T> (WCF Data Services) implements the IQueryable interface whereas the EntityQuery<T> (WCF RIA Services) does not. The EntityQueryable class exposes 8 extension methods (OrderBy, Where, Skip, Take and so forth) which mimic the "real" Queryable extension methods.

    Wednesday, May 11, 2011 10:05 AM
  • <Detail>
    Since EntityQuery<T> is designed for Silverlight where you need to use the async model, EntityQuery<T> implements the basic pattern to allow serialization of the queries while preventing accidental enumeration of the EntityQuery (it needs to be serialized and executed on another tier before results are available asynchronously).
    </Detail>

    However, I don't understand how this detail pertains to the question. RIA Services enables you to use LINQ and does so using the IQueryable pattern.

    For a detailed discussion of differences, please see this http://blogs.msdn.com/b/endpoint/archive/2010/01/04/wcf-data-services-ria-services-alignment-questions-and-answers.aspx

    RIA Services has strong built-in support for Silverlight (and soon JS/jQuery). For WPF, you can still use the server portion of RIA Services with SOAP/JSON endpoint but the client you get is more comparable to a typical WCF client. Is there a reason to not use Silverlight in your app given the significant growth of Silverlight capabilities?

    Thanks.

    Dinesh

    Friday, May 13, 2011 1:18 PM
  • Just to follow-up on the question about using WPF with RIA Services. In my case we have an existing WPF application and we are also creating a new Silverlight-based application. So we would like to leverage the plumbing provided by RIA services for an N-Tier system for the Silverlight app. However, we'd like to keep the service layer flexible enough to work with the existing WPF application and also allow for integration with other non-.NET based clients. If we could expose the underlying business logic through RIA services for the Silverlight app, yet allow other types of presentiation tier apps to play nicely, that would be ideal.

    -Sal

    Thursday, February 23, 2012 11:59 PM