Today at PDC09, Scott Guthrie Announced the beta of WCF RIA Services. As you may know RIA Services is a set of end-to-end experiences that makes it as easy to build Silverlight based n-tier applications as it is to build traditional 2 tier apps. I am very excited about this release as it represents a lot of great feedback we have heard from many of you.
Many of you will notice the slight change in the branding around RIA Services. RIA Services is now part of the WCF family (as is ADO.NET Data Services, which is now WCF Data Services). This branding change is a direct result of some significant work we are releasing in this beta and it hopefully makes it very clear that we have one technology base for doing services on the .NET platform and that is WCF.
Our driving principle with using WCF has been “All the power and none of the complexity”. That is we wanted to enable all the power that WCF brings (for example, the binary end-point, data contract serialization, all the extensibility points, fully management support with the AppFabric we announced yesterday). But none of the complexity. Just look at the web.config file… there is no tedious config to get right.. there is no fragile contract interface and implementation class to keep in sync, none of the deployment headache around configuration. This is still the RIA Services model where you can expect a deep simplicity across development, deployment and maintenance. We accomplish this by creating a custom service host at runtime based on how you define your DomainService.
I am also very excited to get OData support into RIA Services. OData is the protocol from “Astoria” that is already widely used in products like Sharepoint and PowerPivot. Look for more details on that in future.
Check out Henrik Frystyk Nielsen’s talk Developing REST Applications with the .NET Framework which will cover how WCF Data Services and WCF RIA Services work together.
1. Please install Visual Studio 2010 and Silverlight 4 (this includes RIA Services)
2. Build something cool and tell us about it!
3. Send in your feedback.. we want to hear what rocked, and what needs more polish
(2/15/10) Note: This does not work on VS2010 RC -- Look for an update in the next month or so.
I hope there'll be an RTM version for 3.5 and Silverlight 3 for those who aren't in a position to upgrade right away.
Kevin - You can go-live with 3.5 and SL3... we think of that as a nice bridge to VS2010\.NET 4 and SL4 because we know you can't move their right away on all your projects.
That said, it doesn't look like we will have the cycles to drive the 3.5 and SL3 version all the way to RTM level of quality.
Hello Brad,
Is there any way of using the RIA Services capabilities over dynamic data sources? This is the case when the application connects to a selectable data source at run time meaning that metadata information would be only available when the source has selected OR the some other cases where the metadata information would be transmitted at run time by a REST Service.
Any comment or suggestion would be greatly appreciated!
Thanks!
Do you ship SL4 and RIA togther with VS Studio 2010? One 'Problem' is that we can't use EF 4 with VS Studio 2008....
Hi,
I am wondering why I should go for this while the same can be achieved using webservices ?
Please give some valid points for me to explain the advantages about this if I face customers .
Thanks,
Thani
Hi Brad,
Will Silverlight ever get real serialization like full trust WPF apps has?
We have a very strict domain model today which requires serialization to work with fields only and this has been impossible in both SL and medium trust WPF apps.
We want to be able to use our domain model in both the Silverlight app and the WCF server side and we cannot resort to using attributes only like RIA services suggests as this would seriously compromise the domain model of our entire architecture.
Hans
Datis - Yes, the fully dynamic scenario is one we are going to continue to look at... there is a lot we can do end-to-end to support that.
I have seen one demo where the validation ruled are pulled out of the datamodel by a shared code custom validation rule. that is starting to be pretty dynamic..
> Do you ship SL4 and RIA togther with VS Studio >2010? One 'Problem' is that we can't use EF 4 with >VS Studio 2008....
Daniel - Yes, as you know RIA Services does not require EF, but you are right on 3.5 you have the option of using EF v1...
>I am wondering why I should go for this while the >same can be achieved using webservices ?
Thanigainathan,
Yes, everything we are doing here can be done with a plain WCF service (after all it is simply built on top of WCF)... So the real benefits are in getting ride of the plumbing code between the client and the server. think about how much plumbing code there is when doing something like paging, sorting and filtering.. how about building up a change set, and doing validation? RIA Services saves you from all of that and let's you focus on YOUR business problems with just YOUR code.
> Will Silverlight ever get real serialization like full trust WPF apps has?
Hans -- I don't know what the plans are.. I will pass on your comments to the right folks.
Just read SL4 will be able to run in full trust - doesn't this mean that serialization via reflection actually should work by default?
I totally agree with Hans, without full serialization we can't work with DDD on both sides.
Today with WPF and WCF we can transfer objects over the wire that supports encapsulation (private fields/setters). With the same assembly at both sides the framework makes all the magic to rebuild our object when it arrives with reflection so we still can have data encapsulated. And with our methods.
I really want to see the same functionality in Silverlight cause as I can see it I can't work the way I want and think is right.
I too echo what Hans and Niclas have said about full serialization. That is how I want to write my apps--I am not writing web services and don't care about interoperability, I'm just writing a multi-tiered application. The beauty of silverlight is that I get .NET in the browser. So I just want to share my business object assembiles on both sides and seamlessly pass them over the wire, honoring inheritance, encapsulation, etc. I have struggled a little bit to try to figure out if I might somehow get this to work, but I would very grateful if you guys did it for me instead. :)
I could be wrong, but the link on this page says we are downloading v1.0.0.14 which is the beta, but when you install it it actually installs the Preview which is v1.0.0.11. Am I crazy, or is something screwed up?
http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&displaylang=en
It's disappointing that RIA Services won't RTM with full Silverlight 3 compatibility. I understand that it can be used during beta with SL3 and that includes "go-live" capabilities.
But it means that anyone looking at releasing a production app with RIA Services next year now has to make that app targets SL4 - which requires .NET 4 - which requires Studio 2010. That's a lot of beta dependencies for production efforts to take on.
I've no problem with taking on an RIA Services beta dependency with SL3/.NET 3.5 and trusting that RIA Services will "get there" early next year. But if I do that now, it means I have to plan for an SL4/.NET4/VS2010 conversion effort if I want the application to be on production bits when it releases. One beta variable in the mix I can live with... four of them? Not likely (RIAS, SL4, .NET4, VS2010).
I appreciate the "cadence" of Silverlight releases and frequent improvements. But taking on multiple layers of dependencies like this works against being able to adopt those releases.
So... you're starting a LOB Silverlight app today that you want to deploy in production in a 4-5 month timeframe *and* you think is a candidate for RIA Services -- what toolset do you use?