Problem
Consume the application logic from presentation tier with domain entities those are specialized for this tier with minimal plumbing.
Forces
- Set of code (validation, authentication, etc) to be written specific to presentation tier and the same needs to be written specific to business tier.
- Automated way to share the logic between the tiers with trusted boundaries.
- Agile way to consume business logics to RIA (particularly Silverlight) applications.
- Line of RIA based business application those are not required to scale of SOA.
- Data driven applications those are again not required to scale of SOA.
Solution
.NET RIA Services framework supports end-to-end use of data from DAL (data access layer) of your choice to presentation tier. The data can be shaped for presentation tier. This framework was built on ASP.NET to define and support a pattern for exposing a set of operations on your domain object to presentation tier particularly Silverlight. A domain object contains set of CRUD and custom business operations with domain entities. In this framework, the domain object is called as “DomainService”. Once you define a DomainService at business tier based on the data from database using ADO.NET Entity Framework or LINQ2SQL, this framework generates code corresponding client tier code that can be used for data binding, validation, authentication, etc.
The following image which was taken from .NET RIA Services guide gives you to understand how this framework is designed to scale across different presentation technologies and DAL components.
References
- Download .NET RIA Services and walk-through manual at http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&displayLang=en
- Expect article related to .NET RIASservices in this blog.
Hi Sheik,
Thanks a lot for the nice article with lot of insights. It seems like a Domain Driven aspects of the framework. Do you think it is an integration of domain with programming and architecture? Please let me know your views on the same.
It would be helpful if you could also point me to any available tutorials on the same.
As always thanks a lot for your support.
Thanks and Regards
Srikanth