Источник: https://ru.wikipedia.org/wiki/SOAP
SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам — протокол обмена структурированными сообщениями в распределённой вычислительной среде.
Распределительная вычислительная среда (англ. Distributed Computing Environment, сокр. DCE) — система программного обеспечения. DCE предоставляет фреймворк и средства разработки клиент-серверных приложений.Фреймворк (англицизм, неологизм от framework — остов, каркас, рама, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур.
RPC - удалённый вызов процедур (иногда вызов удалённых процедур; RPC от англ. remote procedure call) — класс технологий, позволяющих программам вызывать функции или процедуры в другом адресном пространстве (на удалённых узлах, либо в независимой сторонней системе на том же узле).
SOAP является расширением протокола XML-RPC.
XML-RPC (от англ. eXtensible Markup Language Remote Procedure Call — XML-вызов удалённых процедур) — стандарт/протокол вызова удалённых процедур, использующий XML для кодирования своих сообщений и HTTP в качестве транспортного механизма. Является прародителем SOAP, отличается исключительной простотой в применении. XML-RPC, как и любой другой интерфейс Remote Procedure Call (RPC), определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети.
SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.
SOAP является одним из стандартов, на которых базируются технологии веб-служб.
Источник: https://wiki.merionet.ru/servernye-resheniya/28/soap-protokol-imeni-mylnoj-opery/
SOAP (Simple Object Access Protocol). Это протокол обмена сообщениями в вычислительной среде, созданный в 1998.
Simple Object Access Protocol - протокол доступности объектов. Это называлось протоколом версии SOAP 1.1. Данное наименование отражает его значимость - обращение к различным методам для удаленных объектов. В настоящее время имя протокола SOAP сильно поменялось, и поэтому вы можете услышать другое имя от разработчиков.
Сообщение SOAP - это документ XML, информация которого складывается из трех основных элементов: конверта, заголовка и тела.
Далее про ошибки в SOAP-сообщениях
Источник: https://www.ibm.com/docs/ru/rsas/7.5.0?topic=standards-soap
SOAP (прежнее название - Simple Object Access Protocol) - это упрощенный протокол обмена информацией в распределенной среде без централизованного управления. Для передачи информации между отправителем и получателем применяются сообщения SOAP. Путем объединения нескольких сообщений SOAP можно создавать шаблоны запрос-ответ.
Несмотря на отсутствие зависимости от конкретного транспортного протокола, в большинстве случаев протокол SOAP используется совместно с протоколом HTTP для обеспечения поддержки существующей инфраструктуры сети Internet. SOAP позволяет создавать привязки и использовать обнаруженные Web-службы, описывая пути для маршрутизации сообщений.
SOAP - это протокол на основе XML, описывающий три части каждого сообщения:
Пакет.
Пакет задает среду для описания содержимого сообщения и способа его обработки. Сообщение SOAP представляет собой пакет, содержащий произвольное число заголовков и одно тело. Пакет является элементом верхнего уровня документа XML и выполняет роль контейнера, содержащего информацию об управлении, адрес сообщения и текст сообщения. В заголовках передается информация об управлении, такая как атрибуты QoS. Тело содержит идентификационные данные сообщения и его параметры. Заголовки и тело являются дочерними элементами пакета.
Правила кодировки.
Набор правил кодировки описывает экземпляры типов данных приложения. Правила кодировки задают механизм сериализации для обмена экземплярами типов данных приложения. SOAP задает независимую от языка программирования схему типов данных на основе XSD, а также набор правил кодировки для всех типов данных.
Стили взаимодействия.
Операции взаимодействия можно реализовать в формате вызова удаленных процедур (RPC) или обмена сообщениями (документами).
Стили связывания: SOAP поддерживает два стиля взаимодействия:
- Вызов удаленных процедур (RPC): Вызов операции с возвратом результата.
- Обмен документами: Этот стиль предусматривает обмен документами или сообщениями
SOAP API
Источник: https://blog.skillfactory.ru/glossary/soap-api/
SOAP — это протокол, по которому веб-сервисы взаимодействуют друг с другом или с клиентами. Название происходит от сокращения Simple Object Access Protocol («простой протокол доступа к объектам»). SOAP API — это веб-сервис, использующий протокол SOAP для обмена сообщениями между серверами и клиентами. При этом сообщения должны быть написаны на языке XML в соответствии со строгими стандартами, иначе сервер вернет ошибку.
Особенности SOAP API
SOAP может использоваться с протоколами SMTP, FTP, HTTP, HTTPS. Чаще всего — с HTTP как с наиболее универсальным: его поддерживают все браузеры и серверы. Корректное SOAP-сообщение состоит из нескольких структурных элементов: Envelope, Header, Body и Fault.
Envelope («конверт»). Это корневой элемент. Определяет XML-документ как сообщение SOAP с помощью пространства имен xmlns_soap=»http://www.w3.org/2003/05/soap-envelope/». Если в определении будет указан другой адрес, сервер вернет ошибку.
Header («заголовок»). Включает в себя атрибуты сообщения, связанные с конкретным приложением (аутентификация, проведение платежей и так далее). В заголовке могут использоваться три атрибута, которые указывают, как принимающая сторона должна обрабатывать сообщение, — mustUnderstand, actor и encodingStyle. Значение mustUnderstand — 1 или 0 — говорит принимающему приложению о том, следует ли распознавать заголовок в обязательном или опциональном порядке. Атрибут actor задает конкретную конечную точку для сообщения. Атрибут encodingStyle устанавливает специфическую кодировку для элемента. По умолчанию SOAP-сообщение не имеет определенной кодировки.
Body («тело»). Сообщение, которое передает веб-приложение. Может содержать запрос к серверу или ответ от него.
Fault («ошибка»). Опциональный элемент. Передает уведомление об ошибках, если они возникли в ходе обработки сообщения. Может содержать вложенные элементы, которые проясняют причину возникновения ошибки:
- faultcode — код неполадки;
- faultstring — «человекопонятное» описание проблемы;
- faultactor — информация о программном компоненте, который вызвал ошибку;
- detail — дополнительные сведения о месте возникновения неполадки.
Отличия SOAP от REST
SOAP — протокол, а REST — архитектурный стиль, набор правил по написанию кода. REST был представлен в 2000 году. К этому времени недостатки SOAP были очевидны:
- объемные сообщения;
- поддержка только одного формата — XML;
- схема работы по принципу «один запрос — один ответ»;
- смена описания веб-сервиса может нарушить работу клиента.
В каких случаях используют SOAP
- Асинхронная обработка и последующий вызов. Стандарт SOAP 1.2 обеспечивает клиенту гарантированный уровень надежности и безопасности.
- Формальное средство коммуникации. Если клиент и сервер имеют соглашение о формате обмена, то SOAP 1.2 предоставляет жесткие спецификации для такого типа взаимодействия.
- Операции с состоянием. Если приложение требует, чтобы состояние сохранялось от одного запроса к другому, то стандарт SOAP 1.2 предоставляет структуру для поддержки таких требований.
Применение SOAP при интеграции систем
Источник: https://systems.education/soap-integration
SOAP основывается на технологии удаленного вызова процедур.
Каждый раз, при обращении, необходимо указывать название процедуры, то есть название функции, которую нужно вызвать, потому что функций там может быть несколько.
Пример:
Я открываю на своем компьютере браузер, который является клиентом. По протоколу HTTP он обращается к серверу (назовем его HTTP-server).
На этом HTTP-сервере живёт приложение, которое отдает мне информацию, о том, что акция Компании стоит, к примеру, 252 доллара. Однако, откуда само приложение, живущее на HTTP-сервере, знает стоимость акции?
А все очень просто — приложение в данном случае выступило как SOAP-client и запросило эту информацию на другом сервере (назовем его SOAP-server).
Взаимодействие SOAP-client и SOAP-server происходит по протоколу SOAP поверх HTTP. Что значит поверх? Это значит, что клиент и сервер общаются по протоколу HTTP, но по этому протоколу передаётся не просто стандартное сообщение HTTP, а некий конвертик с письмом, причем это письмо написано по правилам протокола SOAP.
То есть сайт, который передал мне информацию о Компании, сам запросил SOAP-server (то есть биржу акций) по протоколу HTTP и вложил сообщение в конвертик SOAP.
Таким образом, информация о курсе акции пришла ко мне не напрямую с биржи, а через посредника — через SOAP-client.
Стек протоколов веб-сервисов
- Каждый открывающий тег должен иметь соответствующий закрывающий тег.
- Теги не могут перекрывать друг друга.
- XML- документы должны иметь только один корневой элемент.
- Регистр символов (верхний/нижний) для XML существенен.
- Message — сообщения, используемые web-сервисом.
- PortType — список операций, которые могут быть выполнены с
- сообщениями.
- Binding — способ, которым сообщение будет доставлено.
- Надёжность (за счёт отсутствия необходимости сохранять информацию о состоянии клиента, которая может быть утеряна).
- Производительность (за счёт использования кеша).
- Масштабируемость.
- Прозрачность взаимодействия между системами по сети.
- Простота интерфейсов.
- Портативность компонентов.
- Лёгкость внесения изменений.
- Способность эволюционировать, приспосабливаясь к новым требованиям.
Комментариев нет:
Отправить комментарий