Веб-службы - Краткое руководство
Разные книги и разные организации дают разные определения веб-службам. Некоторые из них перечислены здесь.
Веб-служба - это любое программное обеспечение, которое становится доступным через Интернет и использует стандартизированную систему обмена сообщениями XML. XML используется для кодирования всех сообщений веб-службы. Например, клиент вызывает веб-службу, отправляя сообщение XML, а затем ожидает соответствующего ответа XML. Поскольку все коммуникации происходят в XML, веб-сервисы не привязаны к какой-либо одной операционной системе или языку программирования - Java может взаимодействовать с Perl; Приложения Windows могут взаимодействовать с приложениями Unix.
Веб-сервисы - это автономные, модульные, распределенные, динамические приложения, которые можно описывать, публиковать, размещать или вызывать по сети для создания продуктов, процессов и цепочек поставок. Эти приложения могут быть локальными, распределенными или веб-приложениями. Веб-службы построены на основе открытых стандартов, таких как TCP / IP, HTTP, Java, HTML и XML.
Веб-сервисы - это системы обмена информацией на основе XML, которые используют Интернет для прямого взаимодействия между приложениями. Эти системы могут включать программы, объекты, сообщения или документы.
Веб-сервис - это набор открытых протоколов и стандартов, используемых для обмена данными между приложениями или системами. Программные приложения, написанные на разных языках программирования и работающие на различных платформах, могут использовать веб-службы для обмена данными по компьютерным сетям, таким как Интернет, аналогично межпроцессному обмену данными на одном компьютере. Эта функциональная совместимость (например, между приложениями Java и Python или Windows и Linux) обусловлена использованием открытых стандартов.
Таким образом, полный веб-сервис - это любой сервис, который:
Доступен через Интернет или частные (интранет) сети
Использует стандартизированную систему обмена сообщениями XML.
Не привязан к какой-либо одной операционной системе или языку программирования
Самоописывается через общую грамматику XML
Обнаруживается с помощью простого механизма поиска
Компоненты веб-служб
Базовая платформа веб-сервисов - это XML + HTTP. Все стандартные веб-службы работают с использованием следующих компонентов -
SOAP (простой протокол доступа к объектам)
UDDI (универсальное описание, открытие и интеграция)
WSDL (язык описания веб-служб)
Все эти компоненты обсуждались в главе « Архитектура веб-служб» .
Как работает веб-служба?
Веб-служба обеспечивает связь между различными приложениями с использованием открытых стандартов, таких как HTML, XML, WSDL и SOAP. Веб-сервис требует помощи -
XML для маркировки данных
SOAP для передачи сообщения
WSDL для описания доступности службы.
Вы можете создать веб-службу на основе Java в Solaris, доступную из вашей программы Visual Basic, работающей в Windows.
Вы также можете использовать C # для создания новых веб-служб в Windows, которые можно вызывать из вашего веб-приложения, основанного на JavaServer Pages (JSP) и работающего в Linux.
пример
Рассмотрим простую систему управления аккаунтом и обработки заказов. Бухгалтерский персонал использует клиентское приложение, созданное на Visual Basic или JSP, для создания новых учетных записей и ввода новых заказов клиентов.
Логика обработки для этой системы написана на Java и находится на машине Solaris, которая также взаимодействует с базой данных для хранения информации.
Шаги для выполнения этой операции следующие:
Клиентская программа объединяет информацию о регистрации учетной записи в сообщение SOAP.
Это сообщение SOAP отправляется веб-службе как тело запроса HTTP POST.
Веб-служба распаковывает запрос SOAP и преобразует его в команду, понятную приложению.
Приложение обрабатывает информацию по мере необходимости и отвечает новым уникальным номером счета для этого клиента.
Затем веб-служба упаковывает ответ в другое сообщение SOAP, которое отправляет обратно клиентской программе в ответ на свой HTTP-запрос.
Клиентская программа распаковывает сообщение SOAP, чтобы получить результаты процесса регистрации учетной записи.
Вот преимущества использования веб-служб -
Отображение существующей функции в сети
Веб-служба - это единица управляемого кода, которую можно вызывать удаленно с помощью HTTP. То есть его можно активировать с помощью HTTP-запросов. Веб-сервисы позволяют вам раскрыть функциональность вашего существующего кода по сети. После того, как он появится в сети, другие приложения смогут использовать функциональные возможности вашей программы.
Совместимость
Веб-сервисы позволяют различным приложениям общаться друг с другом и обмениваться данными и услугами между собой. Другие приложения также могут использовать веб-службы. Например, приложение VB или .NET может взаимодействовать с веб-службами Java и наоборот. Веб-службы используются, чтобы сделать платформу приложений и технологии независимыми.
Стандартизированный протокол
Веб-службы используют для связи стандартизированный промышленный протокол. Все четыре уровня (уровни Service Transport, XML Messaging, Service Description и Service Discovery) используют четко определенные протоколы в стеке протоколов веб-служб. Эта стандартизация стека протоколов дает бизнесу множество преимуществ, таких как широкий выбор вариантов, снижение стоимости из-за конкуренции и повышение качества.
Низкая стоимость коммуникации
Веб-службы используют протокол SOAP через HTTP, поэтому вы можете использовать существующий недорогой Интернет для реализации веб-служб. Это решение намного дешевле по сравнению с проприетарными решениями, такими как EDI / B2B. Помимо SOAP через HTTP, веб-службы также могут быть реализованы на других надежных транспортных механизмах, таких как FTP.
Веб-сервисы обладают следующими особенностями поведения:
На основе XML
Веб-службы используют XML на уровнях представления данных и передачи данных. Использование XML исключает привязку к сети, операционной системе или платформе. Приложения на основе веб-сервисов обладают высокой степенью совместимости на своем базовом уровне.
Слабо связанный
Потребитель веб-службы не привязан напрямую к этой веб-службе. Интерфейс веб-службы может меняться с течением времени без ущерба для возможности взаимодействия клиента со службой. Тесно связанная система подразумевает, что логика клиента и сервера тесно связана друг с другом, что подразумевает, что при изменении одного интерфейса необходимо обновить другой. Применение слабосвязанной архитектуры делает программные системы более управляемыми и упрощает интеграцию между различными системами.
Крупнозернистый
Объектно-ориентированные технологии, такие как Java, предоставляют свои услуги отдельными методами. Отдельный метод - это слишком тонкая операция, чтобы обеспечить какую-либо полезную возможность на корпоративном уровне. Создание программы Java с нуля требует создания нескольких детализированных методов, которые затем объединяются в крупнозернистую службу, которая используется либо клиентом, либо другой службой.
Компании и интерфейсы, которые они предоставляют, должны быть крупнозернистыми. Технология веб-сервисов обеспечивает естественный способ определения крупномасштабных сервисов, которые обращаются к нужному количеству бизнес-логики.
Возможность быть синхронным или асинхронным
Синхронность относится к привязке клиента к выполнению услуги. При синхронных вызовах клиент блокирует и ожидает, пока служба завершит свою работу, прежде чем продолжить. Асинхронные операции позволяют клиенту вызывать службу, а затем выполнять другие функции.
Асинхронные клиенты получают свой результат позже, в то время как синхронные клиенты получают свой результат после завершения службы. Асинхронные возможности - ключевой фактор для создания слабосвязанных систем.
Поддерживает удаленные вызовы процедур (RPC)
Веб-службы позволяют клиентам вызывать процедуры, функции и методы удаленных объектов с использованием протокола на основе XML. Удаленные процедуры предоставляют параметры ввода и вывода, которые должна поддерживать веб-служба.
Разработка компонентов с помощью Enterprise JavaBeans (EJB) и компонентов .NET все чаще становится частью архитектур и корпоративных развертываний за последние пару лет. Обе технологии распространяются и доступны через различные механизмы RPC.
Веб-служба поддерживает RPC, предоставляя собственные службы, эквивалентные службам традиционного компонента, или путем преобразования входящих вызовов в вызов EJB или компонента .NET.
Поддерживает обмен документами
Одно из ключевых преимуществ XML - это универсальный способ представления не только данных, но и сложных документов. Эти документы могут быть такими простыми, как представление текущего адреса, или сложными, как представление всей книги или запроса предложения (RFQ). Веб-сервисы поддерживают прозрачный обмен документами для облегчения интеграции бизнеса.
Есть два способа просмотреть архитектуру веб-сервиса:
- Первый - изучить индивидуальные роли каждого участника веб-службы.
- Второй - изучить формирующийся стек протоколов веб-сервисов.
Роли веб-сервисов
В архитектуре веб-сервисов есть три основные роли:
Поставщик услуг
Это поставщик веб-службы. Поставщик услуг реализует услугу и делает ее доступной в Интернете.
Запрос на обслуживание
Это любой потребитель веб-службы. Запрашивающая сторона использует существующую веб-службу, открывая сетевое соединение и отправляя XML-запрос.
Реестр услуг
Это логически централизованный каталог услуг. Реестр представляет собой центральное место, где разработчики могут публиковать новые службы или находить существующие. Таким образом, он служит централизованной расчетной палатой для компаний и их услуг.
Стек протоколов веб-служб
Второй вариант просмотра архитектуры веб-сервисов - это изучение нового стека протоколов веб-сервисов. Стек все еще развивается, но в настоящее время состоит из четырех основных слоев.
Сервисный транспорт
Этот уровень отвечает за транспортировку сообщений между приложениями. В настоящее время этот уровень включает в себя протокол передачи гипертекста (HTTP), простой протокол передачи почты (SMTP), протокол передачи файлов (FTP) и новые протоколы, такие как протокол расширяемого обмена блоками (BEEP).
Обмен сообщениями XML
Этот уровень отвечает за кодирование сообщений в общем формате XML, чтобы сообщения можно было понять с любой стороны. В настоящее время этот уровень включает XML-RPC и SOAP.
Описание услуг
Этот уровень отвечает за описание открытого интерфейса конкретной веб-службы. В настоящее время описание службы обрабатывается с помощью языка описания веб-служб (WSDL).
Обнаружение услуг
Этот уровень отвечает за централизацию служб в общем реестре и обеспечивает простую функцию публикации / поиска. В настоящее время обнаружение сервисов осуществляется через универсальное описание, обнаружение и интеграцию (UDDI).
По мере развития веб-сервисов могут добавляться дополнительные уровни и к каждому уровню могут добавляться дополнительные технологии.
В следующей главе объясняются компоненты веб-сервисов.
Несколько слов о служебном транспорте
Нижняя часть стека протоколов веб-служб - это транспортная служба. Этот уровень отвечает за фактическую передачу сообщений XML между двумя компьютерами.
Протокол передачи гипертекста (HTTP)
В настоящее время HTTP - самый популярный вариант для служебного транспорта. HTTP прост, стабилен и широко используется. Более того, большинство брандмауэров разрешают HTTP-трафик. Это позволяет сообщениям XMLRPC или SOAP маскироваться под сообщения HTTP. Это хорошо, если вы хотите интегрировать удаленные приложения, но это вызывает ряд проблем с безопасностью, в том числе ряд проблем с безопасностью.
Блокирует расширяемый протокол обмена (BEEP)
Это многообещающая альтернатива HTTP. BEEP - это новая структура инженерной группы Интернета (IETF) для создания новых протоколов. BEEP наложен непосредственно на TCP и включает ряд встроенных функций, включая протокол первоначального установления связи, аутентификацию, безопасность и обработку ошибок. Используя BEEP, можно создавать новые протоколы для множества приложений, включая обмен мгновенными сообщениями, передачу файлов, распространение контента и управление сетью.
SOAP не привязан к какому-либо конкретному транспортному протоколу. Фактически, вы можете использовать SOAP через HTTP, SMTP или FTP. Поэтому одна многообещающая идея - использовать SOAP вместо BEEP.
За последние несколько лет три основных технологии превратились в мировые стандарты, составляющие основу современных технологий веб-сервисов. Эти технологии обсуждаются ниже.
XML-RPC
Это простейший протокол на основе XML для обмена информацией между компьютерами.
XML-RPC - это простой протокол, который использует сообщения XML для выполнения RPC.
Запросы кодируются в XML и отправляются через HTTP POST.
Ответы XML встроены в тело ответа HTTP.
XML-RPC не зависит от платформы.
XML-RPC позволяет взаимодействовать различным приложениям.
Клиент Java может передавать XML-RPC серверу Perl.
XML-RPC - это самый простой способ начать работу с веб-службами.
Чтобы узнать больше о XML-RPC, посетите наш учебник XML-RPC .
МЫЛО
SOAP - это протокол на основе XML для обмена информацией между компьютерами.
SOAP - это протокол связи.
SOAP предназначен для связи между приложениями.
SOAP - это формат для отправки сообщений.
SOAP предназначен для связи через Интернет.
SOAP не зависит от платформы.
SOAP не зависит от языка.
SOAP прост и расширяем.
SOAP позволяет обойти брандмауэры.
SOAP будет разработан как стандарт W3C.
Чтобы узнать больше о SOAP, посетите наш учебник по SOAP .
WSDL
WSDL - это язык на основе XML для описания веб-сервисов и способов доступа к ним.
WSDL означает язык описания веб-служб.
WSDL был разработан совместно Microsoft и IBM.
WSDL - это протокол на основе XML для обмена информацией в децентрализованных и распределенных средах.
WSDL - это стандартный формат для описания веб-службы.
Определение WSDL описывает, как получить доступ к веб-сервису и какие операции он будет выполнять.
WSDL - это язык для описания взаимодействия со службами на основе XML.
WSDL является неотъемлемой частью UDDI, всемирного бизнес-реестра на основе XML.
WSDL - это язык, который использует UDDI.
WSDL произносится как «глупый» и пишется как «WSD-L».
Чтобы узнать больше о WSDL, посетите наш учебник по WSDL .
UDDI
UDDI - это стандарт на основе XML для описания, публикации и поиска веб-сервисов.
UDDI означает универсальное описание, открытие и интеграция.
UDDI - это спецификация распределенного реестра веб-сервисов.
UDDI - это открытая платформа, независимая от платформы.
UDDI может взаимодействовать через протокол SOAP, CORBA и Java RMI.
UDDI использует WSDL для описания интерфейсов к веб-службам.
UDDI рассматривается с SOAP и WSDL как один из трех основных стандартов веб-сервисов.
UDDI - это открытая отраслевая инициатива, позволяющая компаниям узнавать друг друга и определять, как они взаимодействуют через Интернет.
Чтобы узнать больше о UDDI, посетите наш учебник по UDDI .
На основе архитектуры веб-сервисов мы создаем следующие два компонента как часть реализации веб-сервисов:
Поставщик услуг или издатель
Это поставщик веб-службы. Поставщик услуг реализует услугу и делает ее доступной в Интернете или интранете.
Мы напишем и опубликуем простой веб-сервис с использованием .NET SDK.
Запрашивающая услуга или потребитель
Это любой потребитель веб-службы. Запрашивающая сторона использует существующую веб-службу, открывая сетевое соединение и отправляя XML-запрос.
Мы также напишем два запросчика веб-службы: один потребитель на базе веб (приложение ASP.NET) и другой потребитель на основе приложения Windows.
Ниже приведен наш первый пример веб-службы, которая работает как поставщик услуг и предоставляет два метода (add и SayHello) в качестве веб-служб, которые будут использоваться приложениями. Это стандартный шаблон для веб-сервиса. Веб-службы .NET используют расширение .asmx. Обратите внимание, что метод, представленный как веб-служба, имеет атрибут WebMethod. Сохраните этот файл как FirstService.asmx в виртуальном каталоге IIS (как описано в разделе настройки IIS; например, c: \ MyWebSerces).
FirstService.asmx
<%@ WebService language = "C#" class = "FirstService" %>
using System;
using System.Web.Services;
using System.Xml.Serialization;
[WebService(Namespace = "http://localhost/MyWebServices/")]
public class FirstService : WebService{
[WebMethod]
public int Add(int a, int b) {
return a + b;
}
[WebMethod]
public String SayHello() {
return "Hello World";
}
}
Чтобы протестировать веб-службу, ее необходимо опубликовать. Веб-сервис может быть опубликован либо в интрасети, либо в Интернете. Мы опубликуем эту веб-службу в IIS, работающем на локальном компьютере. Начнем с настройки IIS.
Откройте Пуск → Настройка → Панель управления → Администрирование → Диспетчер служб Интернета.
Разверните и щелкните правой кнопкой мыши веб-сайт по умолчанию; выберите Новый & # rarr; Виртуальный каталог. Откроется мастер создания виртуального каталога. Нажмите "Далее.
Откроется экран «Псевдоним виртуального каталога». Введите имя виртуального каталога. Например, MyWebServices. Нажмите "Далее.
Откроется экран «Каталог содержимого веб-сайта».
Введите путь к виртуальному каталогу. Например, c: \ MyWebServices. Нажмите "Далее.
Откроется экран «Разрешение доступа». Измените настройки в соответствии с вашими требованиями. Для этого упражнения оставим настройки по умолчанию.
Щелкните кнопку Далее. На этом настройка IIS завершена.
Нажмите Готово, чтобы завершить настройку.
Чтобы проверить, правильно ли настроен IIS, скопируйте файл HTML (например, x.html) в виртуальный каталог (C: \ MyWebServices), созданный выше. Теперь откройте Internet Explorer и введитеhttp://localhost/MyWebServices/x.html. Он должен открыть файл x.html.
Note- Если это не сработает, попробуйте заменить localhost на IP-адрес вашего компьютера. Если по-прежнему не работает, проверьте, работает ли IIS; вам может потребоваться перенастроить IIS и виртуальный каталог.
Чтобы протестировать эту веб-службу, скопируйте FirstService.asmx в виртуальный каталог IIS, созданный выше (C: \ MyWebServices). Откройте веб-службу в Internet Explorer (http: //localhost/MyWebServices/FirstService.asmx). Он должен открыть страницу вашего веб-сервиса. На странице должны быть ссылки на два метода, представленных нашим приложением как веб-службы. Поздравляю! Вы написали свой первый веб-сервис!
Тестирование веб-службы
Как мы только что убедились, писать веб-службы в .NET Framework легко. В .NET framework также легко писать потребителей веб-сервисов; однако это немного сложнее. Как было сказано ранее, мы напишем два типа потребителей услуг: один на основе веб-интерфейса, а другой - на основе приложения Windows. Давайте напишем нашего первого потребителя веб-сервиса.
Потребитель веб-сервисов
Напишите интернет-потребителя, как указано ниже. Назовите его WebApp.aspx. Обратите внимание, что это приложение ASP.NET. Сохраните это в виртуальном каталоге веб-службы (c: \ MyWebServices \ WebApp.axpx).
Это приложение имеет два текстовых поля, которые используются для получения чисел от добавляемого пользователя. У него есть одна кнопка «Выполнить», при нажатии на которую появляются веб-службы «Добавить» и «Привет».
WebApp.aspx
<%@ Page Language = "C#" %>
<script runat = "server">
void runSrvice_Click(Object sender, EventArgs e) {
FirstService mySvc = new FirstService();
Label1.Text = mySvc.SayHello();
Label2.Text = mySvc.Add(Int32.Parse(txtNum1.Text), Int32.Parse(txtNum2.Text)).ToString();
}
</script>
<html>
<head> </head>
<body>
<form runat = "server">
<p>
<em>First Number to Add </em>:
<asp:TextBox id = "txtNum1" runat = "server" Width = "43px">4< /asp:TextBox>
</p>
<p>
<em>Second Number To Add </em>:
<asp:TextBox id = "txtNum2" runat = "server" Width = "44px">5</asp:TextBox>
</p>
<p>
<strong><u>Web Service Result -</u></strong>
</p>
<p>
<em>Hello world Service</em> :
<asp:Label id = "Label1" runat = "server" Font-Underline = "True">Label< /asp:Label>
</p>
<p>
<em>Add Service</em> :
& <asp:Label id = "Label2" runat = "server" Font-Underline = "True">Label</asp:Label>
</p>
<p align = "left">
<asp:Button id = "runSrvice" onclick = "runSrvice_Click" runat = "server" Text = "Execute"></asp:Button>
</p>
</form>
</body>
</html>
После создания потребителя нам нужно создать прокси для использования веб-службы. Эта работа выполняется автоматически Visual Studio .NET для нас при обращении к добавленной веб-службе. Вот шаги, которым нужно следовать -
Создайте прокси для использования веб-службы. Прокси-сервер создается с помощью утилиты WSDL, поставляемой с .NET SDK. Эта утилита извлекает информацию из веб-службы и создает прокси. Прокси-сервер действителен только для определенной веб-службы. Если вам нужно использовать другие веб-службы, вам также необходимо создать прокси для этой службы. Visual Studio .NET автоматически создает прокси-сервер при добавлении ссылки на веб-службу. Создайте прокси для веб-службы с помощью утилиты WSDL, поставляемой с .NET SDK. Он создаст файл FirstSevice.cs в текущем каталоге. Нам нужно скомпилировать его, чтобы создать FirstService.dll (прокси) для веб-службы.
c:> WSDL http://localhost/MyWebServices/FirstService.asmx?WSDL
c:> csc /t:library FirstService.cs
Поместите скомпилированный прокси в каталог bin виртуального каталога веб-службы (c: \ MyWebServices \ bin). Информационные службы Интернета (IIS) ищут прокси в этом каталоге.
Создайте потребителя сервиса так же, как мы это уже сделали. Обратите внимание, что объект прокси-сервера веб-службы создается в потребителе. Этот прокси отвечает за взаимодействие с сервисом.
Введите URL-адрес потребителя в IE, чтобы проверить его (например, http: //localhost/MyWebServices/WebApp.aspx).
Потребитель веб-служб на основе приложений Windows
Написание потребителя веб-службы на основе приложения Windows аналогично написанию любого другого приложения Windows. Вам нужно только создать прокси (что мы уже сделали) и ссылаться на этот прокси при компиляции приложения. Ниже представлено наше приложение для Windows, использующее веб-службу. Это приложение создает объект веб-службы (конечно, прокси) и вызывает для него методы SayHello и Add.
WinApp.cs
using System;
using System.IO;
namespace SvcConsumer {
class SvcEater {
public static void Main(String[] args) {
FirstService mySvc = new FirstService();
Console.WriteLine("Calling Hello World Service: " + mySvc.SayHello());
Console.WriteLine("Calling Add(2, 3) Service: " + mySvc.Add(2, 3).ToString());
}
}
}
Скомпилируйте его, используя c:\>csc /r:FirstService.dll WinApp.cs
. Будет создан WinApp.exe. Запустите его, чтобы протестировать приложение и веб-службу.
Теперь возникает вопрос: как вы можете быть уверены, что это приложение действительно вызывает веб-службу?
Проверить несложно. Остановите свой веб-сервер, чтобы с ним нельзя было связаться. Теперь запустите приложение WinApp. Это вызовет исключение времени выполнения. Теперь снова запустите веб-сервер. Он должен работать.
Безопасность критически важна для веб-сервисов. Однако ни спецификации XML-RPC, ни SOAP не содержат явных требований к безопасности или аутентификации.
Существует три конкретных проблемы безопасности с веб-службами:
- Confidentiality
- Authentication
- Сетевая безопасность
Конфиденциальность
Если клиент отправляет XML-запрос на сервер, можем ли мы гарантировать конфиденциальность связи?
Ответ лежит здесь -
- XML-RPC и SOAP в основном работают поверх HTTP.
- HTTP имеет поддержку Secure Sockets Layer (SSL).
- Связь может быть зашифрована через SSL.
- SSL - проверенная и широко распространенная технология.
Один веб-сервис может состоять из цепочки приложений. Например, одна большая служба может связывать вместе службы трех других приложений. В этом случае SSL не подходит; сообщения должны быть зашифрованы на каждом узле на пути обслуживания, и каждый узел представляет собой потенциально слабое звено в цепочке. В настоящее время не существует согласованного решения этой проблемы, но одним из многообещающих решений является стандарт шифрования XML W3C. Этот стандарт обеспечивает основу для шифрования и дешифрования целых XML-документов или только частей XML-документа. Вы можете проверить это на сайте www.w3.org/Encryption.
Аутентификация
Если клиент подключается к веб-службе, как мы можем идентифицировать пользователя? Имеет ли пользователь право пользоваться услугой?
Могут быть рассмотрены следующие варианты, но нет четкого консенсуса в отношении строгой схемы аутентификации.
HTTP включает встроенную поддержку базовой и дайджест-аутентификации, поэтому службы могут быть защищены во многом так же, как в настоящее время защищаются документы HTML.
Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Это позволяет клиенту или серверу проверять личность другой стороны. Проверьте это на www.w3.org/TR/SOAP-dsig .
Организация по развитию стандартов структурированной информации (OASIS) работает над языком разметки утверждений безопасности (SAML).
Сетевая безопасность
В настоящее время нет простого ответа на эту проблему, и она является предметом многочисленных споров. На данный момент, если вы действительно намерены отфильтровать сообщения SOAP или XML-RPC, одна из возможностей - отфильтровать все запросы HTTP POST, которые устанавливают их тип содержимого как text / xml.
Другой альтернативой является фильтрация атрибута заголовка HTTP SOAPAction. Поставщики межсетевых экранов также в настоящее время разрабатывают инструменты, специально предназначенные для фильтрации трафика веб-служб.
Эта глава дает вам представление обо всех последних стандартах, относящихся к веб-службам.
Транспорт
BEEP, расширяемый протокол обмена блоками (ранее называвшийся BXXP), представляет собой основу для создания протоколов приложений. Он был стандартизирован IETF и делает для интернет-протоколов то же, что XML для данных.
Блокирует расширяемый протокол обмена (BEEP)
Обмен сообщениями
Эти стандарты и спецификации обмена сообщениями предназначены для создания основы для обмена информацией в децентрализованной распределенной среде.
SOAP 1.1 (Примечание)
SOAP 1.2 (Спецификация)
Профиль вложений веб-служб 1.0
Механизм оптимизации передачи сообщений SOAP
Описание и открытие
Веб-сервисы имеют смысл только в том случае, если потенциальные пользователи могут найти информацию, достаточную для их выполнения. Основное внимание в этих спецификациях и стандартах уделяется определению набора служб, поддерживающих описание и обнаружение предприятий, организаций и других поставщиков веб-служб; предоставляемые ими веб-службы; и технические интерфейсы, которые могут использоваться для доступа к этим услугам.
UDDI 3.0
WSDL 1.1 (Примечание)
WSDL 1.2 (рабочий проект)
WSDL 2.0 (рабочая группа)
Безопасность
Используя эти спецификации безопасности, приложения могут участвовать в безопасном обмене данными, предназначенными для работы с общей структурой веб-служб.
Безопасность веб-служб 1.0
Язык разметки утверждения безопасности (SAML)
Управление
Управляемость веб-сервисов определяется как набор возможностей для обнаружения существования, доступности, работоспособности, производительности, использования, а также контроля и настройки веб-сервиса в архитектуре веб-сервисов. Поскольку веб-сервисы становятся повсеместными и критически важными для бизнес-операций, задача управления ими и их реализации становится обязательной для успеха бизнес-операций.
Распределенное управление веб-службами
В этом руководстве вы узнали, как использовать веб-службы. Однако веб-сервис также включает в себя такие компоненты, как WSDL, UDDI и SOAP, которые делают его активным. Следующим шагом будет изучение WSDL, UDDI и SOAP.
WSDL
WSDL - это язык на основе XML для описания веб-сервисов и способов доступа к ним.
WSDL описывает веб-службу, а также сведения о формате сообщения и протоколе для веб-службы.
Чтобы узнать больше о WSDL, посетите наш учебник по WSDL .
UDDI
UDDI - это стандарт на основе XML для описания, публикации и поиска веб-сервисов.
Чтобы узнать больше о UDDI, посетите наш учебник по UDDI .
МЫЛО
SOAP - это простой протокол на основе XML, который позволяет приложениям обмениваться информацией через HTTP.
Чтобы узнать больше о SOAP, посетите наш учебник по SOAP .