Last night I was at Dallas .NET User Group meeting where Tony Sneed of DevelopMentor made a presentation on WCF RIA Services called “Turbocharge Silverlight Development with WCF RIA Services“. I had read about this new technology before, but never had the time to play with it.
The presentation turned out to be pretty cool. I think WCF RIA Services provides a very neat way to design n-tier apps without much hassle as it takes care of much of the heavy lifting for you providing very easy data validation, authentication, and role-based security amongst other awesomeness. Also through code projection it automatically allows shared code between UI and the service tier, which makes it easy to write code once and use it cross-tier. While WCF RIA Services can be used with any front-end, e.g. WinForms and ASP.NET, it really shines when combined with a Silverlight front-end. The best part of the technology is automatic batch updates, which is really neat.
Download and Install
- Install WCF RIA Services for Silverlight 4
- Install WCF RIA Services SP1 Beta for Silverlight 4
SubSonic is an excellent open source DAL generation tool developed by Rob Conery that has been around for almost a year. In most cases SubSonic can just be added to your project, pointed to a databse, and you magically and immediately gain access to a rich and strongly typed object model that can be used to query and persist data to and from your relational data source.
SubSonic also has a cool feature called the REST handler that essentially allows one to use HTTP protocol as an interface to data stored in a back-end relational database. It is URI based and returns data back in XML format. This data can then be used by decoupled client applications as they see fit. If you have never looked at SubSonic, you owe it to yourself to checkout this very cool tool.
Recently Microsoft unveiled their plans to release similar features codenamed Astoria and Jasper with .NET framework 3.5 and Visual Studio 2008. The CTP of Astoria and Jasper are available for download from Microsoft.
Jasper is described by Microsoft as:
Project Jasper is geared towards iterative and agile development. You can
start interacting with the data in your database without having to create
mapping files or define classes. You can build user interfaces by naming
controls according to your model without worrying about binding code. Project
Jasper is also extensible, allowing you to provide your own business logic and
class model. Since Project Jasper is built on top of the ADO.NET Entity
Framework, it supports rich queries and complex mapping.
Pablo Castro, the mastermind behind Astoria describes it as:
The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.
The Astoria web site also includes sample online services that showcases how this new technology can be used. It also allows anyone with a Passport account to design and host their own experimental data services .
The first version of Silverlight (formerly WPF/e) was recently released and can be downloaded from Microsoft’s web site.
Contrary to what many people believe, Silverlight is not simply a rich media player for the web. Nor is it just a replacement or a competing product for Adobe Flash. Silverlight is a technology that allows developers to deliver Windows-like rich user experience to the web. This includes animations, vector graphics, music, movies, etc., but it also includes the ability to develop WinForms-like applications with grids, treeviews, toolbars, and so on and so forth.
To get started with Silverlight, checkout these videos, or see this demo by Scott Guthrie and Jason Zander on the .NET Show. If you are looking to develop a WinForms-like user experience, you may also appreciate GOA WinForms which is an implementation of standard System.Windows.Forms .NET library for both Adobe Flash and Silverlight.