WCF / WCF Data Services / WCF RIA Services

Не для того, чтобы добавлять еще одну публикацию SO о различных стеках WCF, но я хочу убедиться, что иду в правильном направлении, прежде чем тратить больше времени на разработку ...

Мой сценарий. У нашей компании есть несколько веб-приложений, которые обращаются к одной и той же серии баз данных. Все приложения в основном разрабатывались независимо, поэтому существует множество повторений бизнес-логики и доступа к данным. Вдобавок к этому у меня есть (возможно, необоснованная) цель сделать этот проект независимым от клиента - объединить нашу текущую бизнес-логику и доступ к данным в интерфейс, к которому можно получить доступ через веб-приложение, Silverlight, мобильное приложение и т. Д.

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

  • Straight WCF - наиболее гибкий и всеобъемлющий вариант, но все начинается с нуля; потребуется значительное время на предварительную настройку и тестирование; наиболее технически зрелый вариант с крючками для достижения большинства целей
  • WCF Data Services - самый быстрый способ подключения службы REST; отлично, если приложению просто нужно выставлять данные прямо из БД; Если бизнес-логика необходима, она должна быть написана либо на стороне клиента, либо второй службой, которая предоставляет эту логику.
  • WCF RIA Services - Самый быстрый способ настроить сервис, готовый предоставлять бизнес-логику; Возможно, наиболее технически незрелый из вариантов (но, похоже, требует значительных инвестиций); Конечные точки Soap, REST и JSON обеспечат большую часть независимости клиента;

Итак, учитывая мои требования выше, я ' Мы пришли к следующим выводам: Data Services, вероятно, не запускается из-за требований бизнес-логики (и идея о том, что вторая служба WCF использует Data Service, мне кажется крайне неудачным архитектурным выбором); Скорость имеет значение, что может означать, что RIA Services может быть лучшим местом для начала (называйте меня ленивым, но наличие небольшой команды с ограниченными временными рамками делает генерацию кода ценным).

Есть ли лучший способ достичь целей, которые я описал? Я неправильно понимаю какие-либо / все параметры WCF? Какие еще практические рекомендации можно предложить по выбору подхода WCF (не только для меня, но и для всех, кто пытается оценить технологии)?

8
задан Steve 7 October 2010 в 20:51
поделиться