Службы данных WCF / WCF / Службы RIA WCF - PullRequest
8 голосов
/ 08 октября 2010

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

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

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

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

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

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

1 Ответ

2 голосов
/ 06 апреля 2011

Я бы пошел с прямым WCF.

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

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