Стратегии реализации Услуг передачи данных WCF

Microsoft сделала опытное задание не выделения фактического места для услуг передачи данных в замечательном мире SOA/сети dev.

Таким образом, моим вопросом являются Услуги передачи данных WCF, разработаны, чтобы использоваться через внешние клиенты? Кто-либо когда-либо слышал о ком-то использующем их на стороне сервера (т.е. доступ базы данных для веб-сервиса)?

Простой сценарий общая многоуровневая архитектура с помощью бизнес-объектов ФИЛИАЛА (круглая скобка указывают на то, что передается между слоями),

(XML) WCF Сервис-> (ФИЛИАЛ) Бизнес-логика-> (ФИЛИАЛ) Дао-> Платформа Объекта

или использование услуг передачи данных, которыми это было бы, где ФИЛИАЛ DS смоделированные предприятия, чтобы использоваться в услуге передачи данных.

(XML) WCF Сервис-> (ФИЛИАЛ) Бизнес-логика-> (ФИЛИАЛ) Услуга передачи данных WCF-> (ФИЛИАЛ DS) Сервер

Я не вижу использование для позже, если там не будут большим количеством людей случаев, получил бы доступ к Вашим данным через Ваш Слой Услуги передачи данных по сравнению с Уровнем служб?

Мысли любой, любой тип справочного документа, который помог бы ему вернуться, будут полезны.

Я ищу профессионалов/недостатки, чтобы помочь другим людям там как я определить, когда/где использовать услуги передачи данных.

7
задан Nix 31 March 2010 в 12:08
поделиться

3 ответа

Вот моя попытка обрисовать в общих чертах все, что я нашел по этой теме.

Назначение служб данных - предоставить доступ к определенному типу ресурса через веб-URI. Доступ / изменение всех данных осуществляется стандартными HTTP-командами (GET, POST, PUT, DELETE).

Стандартный ответ для DS (полностью настраиваемый) - JSON / Atom.

Стандартный стиль служб данных разработан, чтобы быть внутренним уровнем доступа для любого типа клиента, которому требуется доступ к своим данным через Интернет.

Службы данных поддерживают добавление дополнительной бизнес-логики (через служебные операции / перехватчики), но обычно используются в случаях, когда бизнес-логика ограничена.

Таким образом, службы данных предназначены для работы с клиентами, вы раскрываете свои данные, чтобы к ним можно было получить доступ через Интернет из какого-либо другого лица. Хотя вы можете заставить службы данных вписаться в уровень доступа к данным внутреннего сервера, вам следует делать это только в том случае, если вы можете найти для этого уважительную причину. С услугами передачи данных связано много ненужных накладных расходов на производительность и кодирование.

Я не нашел каких-либо ресурсов (блогов или статей), предлагающих использовать их в качестве уровня dao в серверных приложениях.

Случаи использования службы данных на стороне сервера:

1) Более простая версия служб данных. Я могу выпустить различные версии модели сущностей, не затрагивая всех, кто ее использует (можно утверждать, что вы могли бы сделать то же самое, приложив немного больше усилий, просто используя модель сущностей ADO.NET)

2) Требуется возможность доступа к данным на более низком уровне. Вы разрешаете черный доступ к своей базе данных. На высоком уровне вы представляете бизнес-службу и службу доступа к данным через черный ход. Может существовать случай, когда другой домен имеет только подмножество общих данных в своей модели данных и должен фильтровать что-то, что есть в вашей модели. Служба передачи данных позволит вам общаться через VIA универсально через uris.

Ресурсы

Официальный документ об использовании служб данных Microsoft ADO.NET

Обзор служб данных ADO.NET

Упрощение нашей многоуровневой платформы разработки: объединение трех вещей в одну

Службы данных для Интернета

3
ответ дан 7 December 2019 в 16:40
поделиться

Не делайте второго.

Интерфейс WCF Data Services основан на Atom Pub, который основан на REST, который предназначен для работы с клиентами.

Вот одна из ключевых причин. Вы не можете выполнять транзакции с двухфазным коммитом через интерфейс WCF Data Services, и я надеюсь, что команда WCF никогда не попытается это сделать.

WCF Data Services - это представление данных удаленному клиенту, а не слой в архитектуре.

3
ответ дан 7 December 2019 в 16:40
поделиться

Итак, мой вопрос прост: предназначены ли службы данных WCF для использования через клиентов ? Или кто-нибудь когда-нибудь слышал о том, чтобы кто-то использовал их на стороне сервера?

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

Может быть, вы смотрите на это с технологической точки зрения, когда на самом деле вам нужно мыслить более целостным образом? WCF Data Services - это просто инструмент - используйте их там, где это необходимо.

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

-3
ответ дан 7 December 2019 в 16:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: