Введение в программирование веб-служб в управляемом коде

С помощью веб-служб возможен обмен слабо связанными данными в форме сообщений XML между гетерогенными системами.Несмотря на то, что концепция удаленного доступа к данным и прикладной логике не нова, осуществлять подобный доступ в формате слабого связывания раньше было невозможно.Такие предыдущие попытки, как DCOM, IIOP и Java/RMI, требовали тесной интеграции между клиентом и сервером.Вместо использования основанного на XML контракта, лежащего в основе веб-служб, в них использовались двоичные форматы данных, зависящие как от операционной системы, так и от реализации.

В отличие от DCOM, IIOP и Java/RMI, веб-службы не требуют использования специальной компонентной технологии или соглашений о методах вызова объектов.Единственное соглашение между клиентом и сервером состоит в том, что получатели должны понимать сообщения, которые к ним приходят.Другими словами, клиент и сервер заключают контракт, в данном случае описываемый на языках WSDL и XSD.Далее клиент и сервер обмениваются данными посредством оговоренного транспортного протокола, например HTTP, используя при этом сообщения, удовлетворяющие условиям контракта.В результате веб-службы могут использоваться программами, написанными на любом языке, использующими любую компонентную модель и работающими в любой операционной системе.Кроме того, гибкость использования текстового формата наподобие XML со временем способствует развитию слабо связного обмена сообщениями.Подобное слабое связывание необходимо в средах, в которых невозможно единовременное обновление всех участников обмена сообщениями.

Эта технология сохраняется для обеспечения обратной совместимости с существующими приложениями; не рекомендуется ее использовать для разработки новых приложений. Дополнительные сведения о рекомендуемых альтернативных технологиях см. в следующих разделах:
 Службы Windows Communication Foundation и службы данных WCF в Visual Studio

Веб-службы и платформа .NET Framework

Если веб-служба создается с помощью управляемого кода, основанного на платформах ASP.NET и .NET Framework, разработчику не требуется писать код инфраструктуры для обработки таких сведений, как протокол связи или транспорт сообщений.Более того, если создаются веб-службы, использующие платформу веб-страниц ASP.NET, эти службы могут использовать разнообразную функциональность платформы .NET Framework: например, проверку подлинности, кэширование и управление состоянием.

В модели приложений ASP.NET веб-страницы используют расширение ASPX.Чтобы отличаться от обычных страниц ASP.NET, веб-службы используют расширение ASMX.

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

  • Создание веб-службы. При создании XML-веб-службы создается приложение, которое предоставляет некую функциональность клиентам этой XML-веб-службы.

  • Обращение к веб-службе.При обращении к веб-службе клиентское приложение находит веб-службу, создает ссылку на нее и использует ее функциональные возможности.Клиентом XML-веб-службы обычно является приложение.Это приложение может посылать, принимать и обрабатывать сообщения, отправляемые веб-службе и получаемые от нее.

  • Создание веб-службы и обращение к ней не обязательно выполняется одним и тем же разработчиком.Некоторые веб-службы, например, служба информации о дорожном движении, может быть создана одной организацией (например, государственным департаментом транспорта).Однако к этой службе могут обращаться различные веб-сайты, например, веб-сайты компаний-грузоперевозчиков.

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

  • Создание веб-службы.Приложение предоставляет логику обработки заказов в виде веб-службы.Веб-сайты партнеров обращаются к этой службе из веб-приложений, предназначенных для продажи книг через Интернет.

  • Обращение к веб-службе. Приложение обращается к веб-службе, разработанной другой сетевой компанией, специализирующейся на рецензировании и предоставлении рецензий книжным интернет-магазинам.Когда посетители интернет-магазина просматривают цену определенной книги, они также видят рецензию на эту книгу на той же странице.

Помните, что к веб-службам можно обращаться из приложений различных типов, в том числе из других веб-служб, веб-приложений, приложений Windows и консольных приложений.Однако клиент должен быть способен отправлять сообщения веб-службам.