2010-06-23 3 views
8

Для каких приложений или сценариев развития использование WCF Data Services имеет смысл, и когда другие технологии являются лучшим выбором (например, WCF RIA Services, ADO Entity Framework, классический ADO.NET, простые службы или что-то еще)?Когда использовать службы передачи данных WCF, а когда нет?

ответ

12

WCF Data Services - довольно простой и быстрый способ получить вашу модель данных - коллекции и сущности - в Интернете. Вы можете легко просматривать свои коллекции, просматривать сущности и т. Д., Используя стандартные вызовы HTTP/REST.

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

Службы данных WCF основаны на образцовом представлении ваших данных - именно здесь Linq-to-SQL или Entity Framework вступают в игру и позволяют создавать эту модель на основе вашей физической базы данных.

Если вам нужно использовать что-то вроде методов, ориентированных на методы, - например, «Вставить клиента», «Рассчитать общие заказы для клиента» и т. Д., То более подходящая услуга WCF на основе SOAP будет более подходящей. Служба WCF на основе SOAP определяет контракт на обслуживание (набор методов в вашей службе) и позволяет вызывать эти методы в вашем объекте службы.

SOAP отлично подходит для деловых операций, ориентированных на транзакции - это самоописание, например. ваш клиент может обнаружить и опросить службу SOAP (область, в которой REST не хватает - нет «WSDL» или чего-то подобного для служб REST).

И если вы делаете SOAP, я бы также рекомендовал использовать модельный подход для ваших данных - создать модель вашей базы данных и разоблачить методы этих объектов во внешнем мире - опять же, используя Linq-to- SQL, Entity Framework, NHibernate или другое средство моделирования/ORM. Я бы не советовал использовать «классический» или «голой кости» ADO.NET для большей части вашей работы - это слишком большая работа ворчания и глупый код - пусть структура, подобная Linq-to-SQL или EF, обрабатывает эту скучную инфраструктуру для вас и сосредоточиться на ваших реальных бизнес-требованиях и потребностях.

+0

Благодарим вас за этот исчерпывающий ответ. – Kottan

Смежные вопросы