WCF / Службы данных WCF / Службы WCF RIA

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

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

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

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

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

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


person Steve    schedule 07.10.2010    source источник


Ответы (1)


Я бы выбрал чистый WCF.

Это позволяет вам предоставлять свои услуги через различные конечные точки в зависимости от требований:

  • SOAP для межплатформенного взаимодействия
  • Двоичный NetTcp для внутренних клиентов, которым требуется скорость
  • JSON для облегченного доступа
person Shiraz Bhaiji    schedule 06.04.2011