First look at RIA Services
A few months ago Microsoft released the first preview of .NET RIA Services. This new framework promises to simplify building n-tier Line of Business (LoB) applications by providing patterns, components and tools to build services, query data, handle CRUD operations, resolve concurrency, manage data validation, … The March 2009 and the new May 2009 CTP’s only support Silverlight 3 but the final version will also offer support for ASP.NET/MVC/AJAX and WPF.
I have been exploring RIA services for a few weeks now and I must admit that I’m really excited. The architectural design looks quite good, these first CTP’s work fine and it really boosts productivity. The RIA Services framework handles all the plumbing to move entities from the server to the client, it offers advanced change-tracking and caching, several techniques for data validation are provided, there is support for authentication and roles, the integration with Silverlight UI controls like DataForm and DataPager works great and the current support for the ADO.NET Entity Framework really simplifies certain tasks.
If you want to start exploring RIA Services then you should definitely start reading the PDF document that Microsoft has published. This document gives a very good overview of all features of RIA Services.
While using RIA Services I found several great features that I wanted to blog about. In the coming months I will try to write a series of articles about RIA Services. I will not explain the details about its design, but I will try to give a lot of code samples, tips and ideas. I also stumbled upon some limitations and shortcomings of the current preview. So in this first article I will focus on the current limitations and I will offer you some of my workarounds and tips.
- Multiple server side projects
- Multiple client side projects
- ReSharper and Intellisense
- Metadata files
- Metadata attributes
- Operation parameters
- Validation exceptions
- Loading one entity
- Server side problems
- Client side problems
- Assocations and Entity Framework entities
- May CTP changes