Silverlight 4 + RIA Services – Ready for Business: Index


With Silverlight 4 and RIA Services all-but done, I thought it would be worthwhile to highlight some of the key features of the platform and tools that make Silverlight a fantastic platform for building business applications.    I’ll avoid gratuitous video and dancing hippos and focus on just the bread and butter of business applications:  Querying, Updating, Validating and securing your important business-data.  I’ll also use this to refresh a few of the posts from my Silverlight 3 era series.   


The walk through requires:



You can download the completed application.  


I authored this with Silverlight 4 RC, but I fully expect it to work with Silverlight 4 RTM. 



  1. Starting a New Project with the Business Application Template 

  2. Exposing Data from Entity Framework 

  3. Consuming Data in the Client

  4. Updating Data

  5. Validating Data

  6. Authentication and Personalization

  7. Silverlight and Search Engine Optimization (SEO)

  8. Exposing OData Services

  9. Exposing WCF (WSDL) Services

  10. Exposing JSON Endpoint

  11. Working with Reference Data – In Progress

  12. Deploying to a 3rd Party Hoster (I could not do any better than Saurabh’s post!)

  13. Workflow Integration – In Progress

  14. Management with AppFabric – In Progress

  15. Debugging Tips and Tricks – In Progress

  16. Globalized and Localized 

Comments (11)

  1. We have learned a lot from your posts, but still crave for more 😉

    Could you include SQL Azure, asp.net authentication and federation using live-id?

    Great posts, Brad, keep going on!

  2. Aaron says:

    Brad, since the demos on WCF RIA have been pouring out, they’ve all seemed to lack something.  First, most demos don’t insert new items, only update.

    Second, most demos don’t include parent/children relationships.  Once you start navigating down this path, things become more complex.

    Third, none of them seem to incorporate client side validation (without the use of a FormView, which I would personally never use in a production app).  And even if I were, I ran into many problems with FormViews that use bound combo boxes within a popup form.  But what I mean here is newing up a new object and having it be invalid immediately if it contains required fields not yet set.

    Lastly, many people I suspect will favor using an MVVM pattern, entirely bypassing the DataContextControl and PagerControl, but want to take advantage of paging functionality.  It would be nice for the demo to later incorporate these things later on in the series.

    Developing a real world business app with WCF RIA has been like pulling teeth on the client side in many ways.  Once you walk down that path, you should run into the frustrating issues that I have.

    Thanks for listening!

  3. axeo says:

    Aaron,

    At AXEO, we generally use the concepts here for RAD projects and MVVM for final release.

  4. Dilip.M says:

    You are great as usual…I would be very very obliged….if u give more examples with respect to using Stored Procedures with RIA in silverlight 4 as well…(if there are any changes at all)…if not Silverlight 3’s tutorial with respect to SPs was great enough

  5. axeo says:

    Aaron,

    Not sure if you are still monitoring this thread.  If so, could we trouble you to send (info at axeo . com) small samples showing the problems listed in your post above.

  6. Hi Brad, could you take a look at my blog, I had the same problems as Aaron

    Cheers, Sergey

    [sergey.klementiev at readify.net]

  7. Trees says:

    Having considered numerous platforms over the years its been my experience that very often handling of composite relationships and foreign keys are where things get interesting with truly elegant solutions found in the most unexpected of places. I’ll be very interested to follow this discussion with WCF RIA Services.

    Interestingly I was watching Nikhil’s mix talk today and note that he applied MVVM and WCF RIA services together (in an albeit straight forward demo), yet comments here reflect them as mutually exclusive. I’ll checkout Sergey’s blog, I’m interested to see what the percieved barriers are here.

  8. Mike VanB says:

    I read your post on RIA & POCO and looking forward to any SL4 updates. I’m wondering if there is a way to get a polymorphic projection of POCO objects to the client. Basically I want to create something like an Employee base class (or even IEmployee) and subclasses SuperEmployee and SlackerEmployee on the server. I want the projection to honor the class inheritance or interface implementation so I can return and handle a list of polymorphic types. Can I get RIA to project this class hierarchy?

  9. Mike VanB says:

    I found the answer to my question. You get the compiler to project the inheritance tree by annotating the server classes. Just tell the base class about the derived types…

    [KnownType(typeof(SuperEmployee))]

    public partial class Employee

    {  

    }

    http://msdn.microsoft.com/en-us/library/ee707366%28VS.91%29.aspx

  10. Bobby Diaz says:

    Hi Brad,

    Great series!  I am really looking forward to the release of all the new toys in a little over a week, but I am currently still using the PDC Preview Release and ran into a few issues when trying to use the Domain Services from within an ASP.NET MVC 2 application.

    I blogged about my solution to the problems I was having, but was wondering if there was any improvement in the RC or upcoming final release?

    Please read about my workaround and let me know what your thoughts are.  Thank you!

    http://blog.bmdiaz.com/archive/2010/04/03/using-ria-domainservices-with-asp.net-and-mvc-2.aspx

    Regards,

    Bobby

  11. Mcsean says:

    Now that Brad has left would this series carry on?