just started looking into Silverlight...and it looks very exciting.
Amongst many questions I have...
where does RIA Services fit in with CSLA silverlight given RIA services offer
'provides end-to-end support for common tasks such as data validation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier'
WCF RIA Services is arguably a competitor to CSLA. Given another couple releases they may catch up to much of the functionality offered by CSLA, though they certainly aren't there today.
I have been an adviser to Microsoft on RIA Services since they started the project, and while they share some high level concepts with CSLA, there are other areas where they chose to go in other directions - as you'd expect with any such product.
RIA Services moved from the developer org to the SQL Server org inside Microsoft, so it is unclear how much influence they'll have on client-side concepts going forward. It remains to be seen if they'll continue as they have been, or will become more focused on data transfer between client and server - which would be more in line with the goals of the SQL Server org overall.
The advantage RIA Services provides is integration with Visual Studio - they are Microsoft after all :)
The advantage CSLA provides is a much more comprehensive solution for object models, business rules, authorization rules, etc. In some ways this is just because CSLA has been around for almost 15 years, and RIA Services has been officially released for just a couple days.
The good news for CSLA is that all the client side stuff the RIA Services team helped get into Silverlight is just as useful for CSLA users. So all the goodness around data binding benefits everyone. In that regard they are very complimentary.
The data transfer aspects of RIA Services is not compatible with the data portal. I explored this in some depth, but their model is different. They don't run the same code on both sides of the wire, and they don't have the means to transfer the rich metadata required by CSLA. They are close, but don't quite get there. I'm not sure that really matters though - that's just plumbing after all - both RIA Services and CSLA abstract WCF so you don't have to mess with it directly.
CSLA can use DataAnnotations, which is as good as it is because of the RIA team. But compared to actual business rules the DataAnnotations stuff is pretty limiting. It is great for simple validation, but for more complex rules you need something else (like the CSLA model). I personally use some of each in most apps these days.
They don't have anything really comparable to CSLA's authorization model. I suspect that'll come in some future version of RIA Services - but again, making it really work relies on a bunch of client-side platform support from Silverilght and WPF and ASP.NET. It will be interesting to see if they can make that happen.
That is a very interesting news, thanks for posting that. I wasn't aware that the project was moved to the SQL Server org. Do you think SL4 has come along ways over SL3? I'm starting to review templates someone contributed for SL4. So it is going to be a fun day messing around with SL :).
SL4 is definitely more powerful than SL3. Though people who built SL3 apps with CSLA should have a very easy time moving to SL4 - usually it is just a matter of fixing some WCF config issues.
SL4 has some better data binding capabilities, and of course out-of-browser app capability, along with a high-trust concept so it can interact with things like Office on the client.
Copyright (c) Marimer LLC