Pull to refresh

Что такое .NET RIA Services?

Reading time4 min
Views1.2K
Original author: Brad Abrams
Microsoft .NET RIA Services упрощают традиционные n-уровневые схемы приложения путем объединения ASP.NET и Silverlight платформ. RIA сервисы представляют шаблон для написания логики приложения, которое работает на среднем уровне, и контролирует доступ к данным для запросов, изменениям, и обычным операторам. Они также предоставляют сквозную поддержку для обычных задач, таких как проверка достоверности данных, аутентификация и роли, с помощью интеграции Silverlight компонентов на стороне клиента и ASP.NET на среднем уровне.


Наши задумки о работе над RIA Services пришли из LINQ проекта несколько лет назад. LINQ интегрирует запрос семантики в языках(C#, VB, etc) предоставляя общую абстракцию для работы с данными; либо с данными которые в памяти – CLR объекты, XML, реляционные данные, или какие-нибудь другие. С RIA Services мы расширили этот шаблон, предложив модель, которая предоставляет раскрытие сути вашей доменной логики через LINQ. Мы думали над доменной логикой как над частью вашего приложения, которая очень специфична для вашего домена т.е это специфичная бизнес проблема, которую вы решаете. Следуя этому шаблону, мы можем предоставить ряд особенностей, которые помогут вам сосредоточиться на вашей доменной логике, вместо проектирования вашего кода. К примеру мы предлагаем отличный путь для написания логики приложения на сервере и отображения, проверки данных, а так же поддержки авторизации, очереди, сортировки, фильтрации, и т.д, не говоря уже о способе предоставления макета из данных для тестирования( а ля TDD, etc). Все это независимо от того что вы используете(Entity Framework, Linq2Sql, nHibernate, Xml file, REST service, WCF-server, etc).

Мы думаем этот шаблон пригоден для использования в широком наборе приложений… мы много говорили об этом на Mix09:
N-Уровневый доступ – следуя шаблону RIA сервисов, мы можем сделать создание n-уровневого Silverlight или AJAX приложения очень простым. Мы стремимся сделать его почти таким же простым, как создание традиционного 2-х уровневого приложения. В это время вы можете думать о RIA сервисах, как о более перспективном верхнем слое ADO.NET Data Services и WCF. По данным опроса и обновленным деталям модели мы будем использовать ADO.NET Data Services… это означает, что вы сможете просто “Добавить Web справку” в вашу доменную логику и получить стандартный базирующийся на REST и JSON доступ к предложениям от ADO.NET DataServcies. Мы также надеемся, в конечном счете, предоставить полный доступ ко всей силе и гибкости от основных WCF сервисов, таких как высоко оптимизированная двоичная сериализация.
Другое важное преимущество этой модели заключается в том, что вы можете использовать ее напрямую, внутри ваших ADO.NET Data Services. Мы верим, что это дает более продуктивный путь написания вашей доменной логики, нежели когда используется текущий перехват на основе шаблонов. Мы напряженно работаем сейчас, посмотрите на это в будущем CTP.
ASP.NET доступ – Следуя шаблону RIA сервисов у вас также будет возможность просто создавать ASP.NET приложения пользуясь всеми встроенными в RIA особенностями, такими, как проверка данных, разрешений и т.д. В Мартовском привью, мы предложили asp DomainDataSource контрол, который включал очень легкий доступ к ASP.NET WebForms из вашей доменной логики. Создавая вдобавок к этому будущую версию ASP.NET Dynamic Data, которая создает общепринятый стандарт UI на вашей доменной логике.
Вернувшись в Redmond, мы работали над предоставлением очень чистого доступа к вашей доменной логике через ASP.NET MVC. Модель здесь очень свежа, и я не могу дождаться будущей CTP, чтобы поговорить о ней.

Если вы комбинируете правильность источников данных с различными вариантами представления, то мы, как и вы, нацелены на .NET RIA Services…
Что было в Мартовском привью .NET RIA Services?
Во-первых, я строго рекомендую ознакомиться с ним.

Фишки для .NET Framework на сервере:
System.Web.DomainServices.dll– это сборка содержит сущность классов DomainService, которые управляют проверкой, очередностью и т.д;
System.Web.DomainServices.Providers.dll – LINQ2SQL и EF провайдеры…мы надеемся, что в будущем, нами и сообществом будет предоставлено больше провайдеров таких как Azure, Dataset, nHibernate, и т.д.;
System.Web.DomainServices.Tools.dll – поддержка Visual Studio для создания DomainServices;
System.Web.DomainServices.WebControls.dll – поддержка ASP.NET для DomainServices(asp:DomainServiceDataSource и друзья);
System.Web.DynamicData.dll – обновление поддержки ASP.NET Dynamic Data для работы с Domain Services;
System.Web.Ria.dll – специфичные RIA сервисы, такие как аутенфикация, профили пользователей, и т.д;
System.ComponentModel.DataAnnotations.dll – обновление для набора данных .NET Framework 3.5 SP1. Они работают совместно с Dynamic Data.;
Microsoft.Web.Extensions.dll – дополнительная поддержка для шаблонов, таких как SEO, они будут более глубоко внедрены в платформу, в будущем привью.

Фишки для Silverlight, на стороне клиента (в скором времени, другие клиенты, такие как WPF и Ajax):
System.Windows.Ria – клиентские данные модели для DomainService… ручное отслеживание изменений, проверка, и т.д;
System.Windows.Ria.Controls.dll – DomainDataSource который предоставляет базирующийся на XAML контрол, для доступа DomainService( слои сверху клиентских данных, на модели);

Важно, что мы в начале цикла разработки RIA Services, и мы будем рады видеть ваши отзывы и мысли о модели!

P.S опыт перевода не очень большой, перевожу как могу и для себя, но если кому-то надо что-то перевести, то пишите помогу, чем смогу.
Tags:
Hubs:
Total votes 15: ↑11 and ↓4+7
Comments2

Articles