Concerns about RIA Services Squashed

Silverlight Logo

Here at MIX09, the world got its first view of what Microsoft calls RIA Services. RIA Services is an n-tier solution that supports a variety of scenarios, but in my opinion may be especially important to Silverlight applications.

I've had the priviledge to watch RIA Services during its development over the last few months. Out of this effort comes some of the newest Silverlight Toolkit controls (including ChildWindow, Navigation controls, DataPager, DataForm) as well as the server pieces.

The general idea is that RIA Services will layer over the data access layer to provide additional services including validation as shown in this picture:

Brad Abrams has a great post describing the layer if you haven't taken a look at it yet:

http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx

I am not sure Brad mentions this, but it is very early in the development (e.g. its not a Silverlight 3 feature) and they'd love your feedback.

As some others (Barry Gervin in particular), I have had some concerns that only now I could talk about (though I've shared them with the team for a while now). My two biggest concerns:

  • The feature uses quite a bit of Visual Studio magic to build the client-side part of the code as the server-side is changed. This is concerning because is assumes that most applicaitons are all in a single solution file and tightly couples projects together which doesn't work in a number of important scenarios.
  • Concerned about inventing a new layer instead of using something established (like ADO.NET Data Services).

I had a great conversation with Brad Abrams at MIX09 today and he gave me the confidence to tell you that he's assured me that these two issues will be address.  In particular he assured me that:

  • While the Visual Studio magic is likely to remain, we will be able to decouple projects and "Add Service Reference" to a non-solution RIA Service which resolves my concern. I don't mind that the magic is default behavior, as long as decoupling works.
  • They are aligning with ADO.NET Data Services to make RIA Services become a thin layer over ADO.NET Data Services to provide the type of metadata that is required to do the RIA Services work to the client.

While neither of these are in the current bits, I've been promised they'll arrive by release. I trust Brad's word on these.  I hope when my life calms down a little (updating a lot of classes, writing articles and too much travel) that I can do a proper walkthrough of RIA Services for my readers.

What do you think?

 

Comments:

Gravatar

I think "RAD" is the key defining term here. This doesn't seem to be something that will be useful to enterprise-level app dev, and, of course, the hardcore alt.net'ters will probably hate it (I haven't checked other blogs this am, but they're probably up in arms already). For small corporate dev shops, however, that just need to get something out that works, I think this could be a great tool in their toolbox.

John

Gravatar

PS. When does wildermuth.com make the move to mvc ;)? I almost posted twice by hitting F5. RedirectToAction sure would be nice.

John

Gravatar

Honestly, I love what I saw in Nikhil's presentation on RIA Services.

However, I do wonder 'why aren't they plugging this capability into the existing ADO.NET Data Services' (the data part)

Gravatar

Shawn,

I had the ADO.NET Data Services concern too. I didn't understand if RIA Services was a completely new framework on top of the WCF, and why MS would discard Astoria (which I'm reading a book on now). I'm glad that it's just a thin layer over Astoria.

I'm also interested at what point Silverlight will include the DLR, so as to write apps in Ruby/Python. But that probably won't come until a later release.

Gravatar

Nice article. That is my concern with RIA Services, that it feels like ADO.NET Services 2.0. Furthermore, exactly like you put it with all the "magic" it seems that it might be less flexible.

I recently architected a Silverlight app based on WCF REST and it worked really nice. I had full control of the message headers, async/sync behavior (added XmlHttpRequest wrapper), WCF Server dispatching for security and message decorating (caching)...but it took a lot longer to write all the code.

I wish that instead of getting RIA Services (which feels like drag and drop programming), we got a tightly integrated WCF Starter Kit with RIA. Make it flexible, but powerful and allow me to turn the knobs and get under the covers.

Gravatar

John West,

Its going to be a while, but I may address the double posting issue.

Gravatar

Shawn,

I had the ADO.NET Data Services concern too. I didn't understand if RIA Services was a completely new framework on top of the WCF, and why MS would discard Astoria (which I'm reading a book on now). I'm glad that it's just a thin layer over Astoria.

I'm also interested at what point Silverlight will include the DLR, so as to write apps in Ruby/Python. But that probably won't come until a later release.

Gravatar

Thanks Shawn... I appreciate your help in getting the story out there.. Please let me know if you have feedback or comments…
..brad

Gravatar

I attended Pablo Castro's session on data services and got the impression it was using ado.net dataservices

Gravatar

RIA Services feels so ´tight coupled´ right now. One of the features that people love about Silverlight is the fact that there is no .NET requirements on the server. Hopefully this would be fixed soon.

Gravatar

Michael Iantosca,

It is supporting it in today's bits but I've gotten Brad to agree that it will *use* it by release. The teams are working together to make it happen.

Gravatar

Rodrigo Diaz Concha,

Yup, that's my problem with it as well.

Gravatar

+ 1 for ADO.NET Data Services comments on aligning these technologies

In fact, I've only just managed to look at the 1.5 CTP, and was very interested by the client proxy change tracking with ObservableEntityCollection, which seems to be what a lot of people have been asking for.

Gravatar

Glad to hear it, those were my major misgivings about RIA Services. Visual Studio magic scares me! :-)

Gravatar

I love this industry and its theories:

Make it simpler by stopping people thinking for themselves and achieve this by adding black magic complexity.
God forbid letting anyone using their brains a little and learning how it really works. Its really not that hard.


 



 
Save Cancel