📜 ⬆️ ⬇️

What is .NET RIA Services?

Microsoft .NET RIA Services simplify traditional n-tier application layouts by combining ASP.NET and Silverlight platforms. RIA services provide a template for writing application logic that runs at a medium level and controls data access for requests, changes, and regular operators. They also provide end-to-end support for common tasks, such as data validation, authentication, and roles, using Silverlight integration of client-side components and ASP.NET at the middle level.


Our ideas about working on RIA Services came from a LINQ project several years ago. LINQ integrates query semantics in languages ​​(C #, VB, etc) providing a common abstraction for working with data; either with data in memory - CLR objects, XML, relational data, or some other. With RIA Services, we expanded this template by proposing a model that provides the essence of your domain logic through LINQ. We thought of domain logic as part of your application, which is very specific to your domain, that is, it is a specific business problem that you solve. Following this pattern, we can provide a number of features that will help you focus on your domain logic, instead of designing your code. For example, we offer an excellent way to write application logic on the server and display, check data, as well as support authorization, queue, sorting, filtering, etc., not to mention the way of providing a layout from the data for testing (a la TDD , etc). All this no matter what you use (Entity Framework, Linq2Sql, nHibernate, Xml file, REST service, WCF-server, etc).

We think this template is suitable for use in a wide range of applications ... we talked a lot about this on Mix09:
N-Level Access - by following the RIA services pattern, we can make creating an n-level Silverlight or AJAX application very simple. We strive to make it almost as simple as creating a traditional 2-tier application. At this time, you can think of RIA services as the more promising upper layer of ADO.NET Data Services and WCF. According to the survey and updated model details, we will use ADO.NET Data Services ... this means that you can simply “Add Web Help” to your domain logic and get standard REST and JSON-based access to offers from ADO.NET DataServcies. We also hope, ultimately, to provide full access to all the power and flexibility of basic WCF services, such as highly optimized binary serialization.
Another important advantage of this model is that you can use it directly, within your ADO.NET Data Services. We believe that this provides a more productive way of writing your domain logic, rather than when using the current template-based interception. We are working hard now, look at this in the future CTP.
ASP.NET Access - Following the RIA services template you will also be able to simply create ASP.NET applications using all the features built into the RIA, such as data validation, permissions, etc. In the March Interview, we proposed the asp DomainDataSource control, which included very easy access to ASP.NET WebForms from your domain logic. Creating in addition to this a future version of ASP.NET Dynamic Data, which creates a generally accepted UI standard on your domain logic.
Back in Redmond, we worked on providing very clean access to your domain logic through ASP.NET MVC. The model here is very fresh, and I cannot wait for the future CTP to talk about it.

If you combine the correctness of data sources with different presentation options, then we, like you, are targeting .NET RIA Services ...
What happened in March .NET RIA Services?
First, I strongly recommend that you read it.

Chips for the .NET Framework on the server:
System.Web.DomainServices.dll - this assembly contains the essence of the DomainService classes that manage validation, sequencing, etc;
System.Web.DomainServices.Providers.dll - LINQ2SQL and EF providers ... we hope that in the future, we and the community will provide more providers such as Azure, Dataset, nHibernate, etc .;
System.Web.DomainServices.Tools.dll - Visual Studio support for creating DomainServices;
System.Web.DomainServices.WebControls.dll - ASP.NET support for DomainServices (asp: DomainServiceDataSource and friends);
System.Web.DynamicData.dll - ASP.NET Dynamic Data support update for working with Domain Services;
System.Web.Ria.dll - RIA-specific services, such as authentication, user profiles, etc;
System.ComponentModel.DataAnnotations.dll - update for .NET Framework 3.5 SP1 data set. They work together with Dynamic Data .;
Microsoft.Web.Extensions.dll - additional support for templates, such as SEO, they will be more deeply embedded in the platform, in the future will provide a preview.

Chips for Silverlight, on the client side (soon, other clients such as WPF and Ajax):
System.Windows.Ria - client data model for DomainService ... manual change tracking, validation, etc;
System.Windows.Ria.Controls.dll - A DomainDataSource that provides XAML-based controls for DomainService access (layers on top of client data, on the model);
')
It is important that we are at the beginning of the RIA Services development cycle, and we will be happy to see your feedback and thoughts on the model!

PS translation experience is not very large, I translate as much as I can for myself, but if someone needs to translate something, then I will help you in any way I can.

Source: https://habr.com/ru/post/66615/


All Articles