Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

WCF Data Services (ранее ADO.NET Data Services , [1] кодовое имя «Astoria» [2] ) - это платформа для того, что Microsoft называет Data Services . Фактически это комбинация среды выполнения и веб-службы, через которую эти службы представлены. Он также включает набор инструментов Data Services Toolkit, который позволяет создавать Astoria Data Services изсамого ASP.NET . О проекте Astoria было объявлено на MIX 2007, а первая предварительная версия для разработчиков была доступна 30 апреля 2007 года. Первая CTP была сделана доступной как часть ASP.NET.3.5 Предварительный просмотр расширений. Окончательная версия была выпущена как часть пакета обновления 1 для .NET Framework 3.5 11 августа 2008 г. Об изменении названия с ADO.NET Data Services на WCF Data Services было объявлено на PDC 2009 года .

Обзор [ править ]

WCF Data Services предоставляет данные, представленные в виде объектов модели данных сущности (EDM), через веб-службы, доступные через HTTP . К данным можно обращаться с помощью REST- подобного URI . Служба данных при доступе через метод HTTP GET с таким URI вернет данные. Веб-службу можно настроить для возврата данных в простом XML , JSON или RDF + XML . В первоначальном выпуске такие форматы, как RSS и ATOMне поддерживаются, хотя могут появиться в будущем. Кроме того, данные также можно обновлять с помощью других методов HTTP, таких как PUT, POST или DELETE. POST может использоваться для создания новых сущностей, PUT для обновления сущности и DELETE для удаления сущности.

Описание [ править ]

Windows Communication Foundation (WCF) приходит на помощь, когда мы оказываемся не в состоянии достичь того, чего хотим достичь с помощью веб-служб, то есть поддержки других протоколов и даже дуплексной связи. С помощью WCF мы можем определить нашу службу один раз, а затем настроить ее таким образом, чтобы ее можно было использовать через HTTP, TCP, IPC и даже очереди сообщений. Мы можем использовать веб-службы, используя сценарии на стороне сервера (ASP.NET), нотации объектов JavaScript (JSON) и даже REST (передача репрезентативного состояния).

Понимание основ

Когда мы говорим, что службу WCF можно использовать для связи с использованием разных протоколов и из разных типов приложений, нам нужно будет понять, как мы можем этого добиться. Если мы хотим использовать службу WCF из приложения, у нас есть три основных вопроса:

1. Где с точки зрения клиента расположена служба WCF?2. Как клиент может получить доступ к услуге, т. Е. Протоколам и форматам сообщений?3. Какую функциональность предоставляет услуга клиентам?

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

Адрес: как и веб-служба, служба WCF также предоставляет URI, который может использоваться клиентами для доступа к службе WCF. Этот URI называется адресом службы WCF. Это решит первую проблему "где разместить службу WCF?" для нас.

Связывание: как только мы сможем найти службу WCF, следует подумать о том, как взаимодействовать со службой (с точки зрения протокола). Привязка - это то, что определяет, как служба WCF обрабатывает обмен данными. Он также может определять другие параметры связи, такие как кодирование сообщений и т. Д. Это решит вторую проблему «как взаимодействовать со службой WCF?» для нас.

Контракт: теперь единственный вопрос, который остается, - это функциональные возможности, которые предоставляет служба WCF. Контракт определяет общедоступные данные и интерфейсы, которые служба WCF предоставляет клиентам.

URI, представляющие данные, будут содержать физическое расположение службы, а также имя службы. Также потребуется указать набор сущностей EDM или конкретный экземпляр сущности, как в соответственно

http: //dataserver/service.svc/MusicCollection

или же

http: //dataserver/service.svc/MusicCollection [SomeArtist]

Первый будет перечислять все объекты в наборе Collection, тогда как последний будет перечислять только объект, который проиндексирован SomeArtist .

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

http: //dataserver/service.svc/MusicCollection [SomeSong] / Жанр

просматривает связь Genre (на языке SQL, объединяется с таблицей Genre ) и извлекает все экземпляры Genre , связанные с сущностью SomeSong . Простые предикаты также могут быть указаны в URI, например

http: //dataserver/service.svc/MusicCollection [SomeArtist] / ReleaseDate [год, эквивалент 2006]

будет извлекать элементы, проиндексированные SomeArtist и выпущенные в 2006 году . Информация о фильтрации и разделах также может быть закодирована в URL-адресе как

http: //dataserver/service.svc/MusicCollection? $ orderby = ReleaseDate & $ skip = 100 & $ top = 50

Хотя наличие ключевых слов skip и top указывает на поддержку разбиения по страницам, в версии 1 Data Services нет метода определения количества доступных записей, и поэтому невозможно определить, сколько страниц может быть. В спецификации OData 2.0 добавлена ​​поддержка сегмента пути $ count (для возврата только количества сущностей) и $ inlineCount (для извлечения сущностей на страницу и общего количества без отдельного приема-передачи ....). [3]

Ссылки [ править ]

  1. ^ «Упрощение нашей n-уровневой платформы разработки: превращение трех вещей в одну» . Блог группы разработчиков служб данных ADO.NET. 2009-11-17 . Проверено 17 декабря 2009 .
  2. ^ "Выпущена CTP служб данных ADO.NET!" . Проверено 12 ноября 2007 .
  3. ^ Архивные документы. «Что нового в WCF Data Services 5.0» . docs.Microsoft.com . Проверено 9 марта 2019 года .
  • «Кодовое имя« Астория »: службы данных для Интернета» . Проверено 30 апреля 2007 года .

Внешние ссылки [ править ]

  • Платформа служб данных ADO.NET (ранее «Проект Astoria»)
  • Использование служб данных Microsoft ADO.NET
  • Предварительная версия расширений ASP.NET 3.5
  • Блог группы разработчиков служб данных ADO.NET (проект Astoria)
  • Доступ к облачным данным с Astoria: Новости ЛОР онлайн