views:

428

answers:

1

I am currently researching .NET RIA Services however I am having trouble finding a definitive list of the benefits of RIA services compared to plain WCF to Silverlight, or event a list of the key components that make up RIA Services. I also find it hard to see where RIA services sits in the development model and exactly what it provides to the developer.

  • Are there any tangible benefits to using RIA as opposed to other options?
  • What are the key components that make up RIA services?
  • What can you do with RIA that you can't do with existing Microsoft / .NET technologies?
+4  A: 

Brad Abrams has a series of posts about RIA Sevices, starting with What is .NET RIA Services?. MSDN also has an introduction.

However in summary, the proposition of RIA Services is that the framework code generates a client side layer from your server side (domain) layer. Consequently it exposes your entities client side and takes care of the networking (now using WCF).

Of course you could code this all yourself. The biggest gain with RIA Services is therefore time, providing you are happy to conform to how RIA Services does things.

I have used it for a Silverlight client and found it easy to use, with the necessity to write service layer plumbing taken care of by the framework.

jbloomer
+1 I think the biggest thing about Ria Services is that it takes care of the plumbing for the developer. This is a benefit in time at a basic level; however, it grows when you factor in how easy it is to use Ria Services with paging data and data validations through annotations. It saves a lot of time that I almost always had to wire up by hand previously.
JamesEggers
Thanks. I have been reading through a couple of articles from Brad's fairly epic set of posts on RIA, but I've still found it hard to see which of the feature's he's coding or talking about are a direct result of using RIA. Fairly often he seems to be talking about stuff that is already available. Particularly in the WCF Based Data Source example I don't see any "plumbing" work that has been generated by RIA services. Am i missing the point because I am not using Entity Framework as my data source?
SciFi
I think the best way is to imagine writing a Silverlight app without RIA. So first you have to write your WCF services. Then you have to manage your state and updates on the client side. Do you use new entities on the client side or try and copy your server side entities?What RIA says is: write your domain service and I will generate you a client side layer to make calling that service easier. The client side layer includes access to the same entities used on the domain side, and also contexts for keeping track of changes and updates. Also all the entities are available for binding in xaml.
jbloomer