Question: It is recommended to either use WCF, ADO.NET Data Services or the out of band .NET RIA services.
I know that ADO.NET data services are an abstraction that lies on top
of WCF, but where do RIA services fit in? What do they solve that I
don't have in WCF?
Question posted in MSDN (http://channel9.msdn.com/shows/The+knowledge+Chamber/Yavor-Georgiev-using-WCF-with-Silverlight-30)
Answered by Yavor Georgiev (Program Manager at Microsoft):
You've nailed the big three ways to get data into your Silverlight
app. Using WCF gives you access to the message exchange pattern and
things like how the data is encoded (hence features like duplex and
binary), so it's the most flexible and
powerful way to do services. Also when you use WCF you are building
loosely-coupled and standards based services that can be composed and
used by many other clients, not just Silverlight (after all WCF services
are standard SOAP 1.2 services).
ADO.NET Data Services is geared toward a scenario where you want to
expose a database as a REST-style service. It is great for that scenario
but you are constrained to the serialization formats and message
patterns of REST.
.Net RIA Services is similarly scoped to an end-to-end data-driven
solution: you expose a data and bind it to a rich Silverlight control in
very few steps. The "service" and "client" are very tightly coupled but
you get features such as validation, paging,
conflict management, batching, offline support, etc. Again you get
great value if you are implementing this kind of scenario, but you lose
the flexibility WCF gives you.
So I think all three approaches have great use cases.