Как организовать бизнес-уровень или сервисы wcf ria - PullRequest
1 голос
/ 01 марта 2011

Мы строим новую систему с нуля и выбрали SL4, WCF RIA Services и EF4.

Поэтому я рассматриваю службы WCF RIA как бизнес-логику SL-клиента, но можно ли ее использовать?как уровень общей бизнес-логики, который может использоваться другими частями приложения.В качестве примера, в службе RIA WCF будет реализована защита (например, кому разрешено делать, с какими объектами).Но эта реализация безопасности должна также осуществляться другими частями системы, а не только клиентом SL.

Чтобы избежать дублирования этой логики, моя идея состоит в том, чтобы использовать службу RIA WCF в качестве общего бизнес-уровня, что означает, что еслидругим частям системы необходим доступ к уровню данных, который им необходим для прохождения этого уровня.

Но нормально ли это использование WCF RIA?

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 марта 2011

В большом проекте RIA у нас обычно так много модулей (бизнес-модули, лицензирование, авторизация, модули аудита и т. Д.), И, очевидно, есть некоторые модули, к которым нужно обращаться через другие модули, а также некоторые через клиент SL. Поэтому я считаю, что ваша забота - это типичная сторона архитектуры того, как правильно распределить ее в большом приложении. Как и в любом .NET-проекте, вы можете использовать его для разных библиотечных проектов. Это означает, что вы можете соответствующим образом создать проект Библиотека классов обслуживания RIA или другие типичные многократно используемые библиотеки .net (например, Библиотека журналов)

0 голосов
/ 02 марта 2011

То, что вы описываете, является стандартным шаблоном RIA WCF и тем, как команда RIA WCF спроектировала систему для работы.

WCF RIA позволит вам получить сквозной доступ к вашим сущностям EF4 и скрыть свою бизнес-логику за интерфейсом службы RIA. Атрибуты аутентификации и авторизации можно применять к вашим сущностям в определении службы (класс обслуживания домена) на уровне класса (все методы в контракте на обслуживание) или на уровне метода для более детального контроля.

Единственный серьезный недостаток, который я вижу в вашем плане, заключается в том, что «другим частям системы необходим доступ к уровню данных, который им потребуется для прохождения этого уровня». WCF RIA на данном этапе хорошо работает только с Silverlight (и, может быть, ASP.NET MVC? Я не уверен). В конечном итоге Microsoft намерена расширить службы RIA для использования любым приложением .NET, но на данном этапе это действительно только Silverlight. Это означает, что вы упустите множество положительных отзывов о WCF RIA с другими приложениями, не относящимися к Silverlight. Однако я полагаю, что вы все еще можете представить службу WCF RIA как обычную службу WCF, включая уровень аутентификации / авторизации. Вы просто пропустите автоматические прокси, генерацию кода и т. Д.

Однако есть еще несколько способов использования этого сервисного слоя извне Silverlight. Вы можете предоставить свои объекты EF4 конечной точке OData или службе SOAP / REST. Подробнее об этом читайте в этой статье .

...