SOAP, что означает протокол простого доступа к объектам, - это еще один тип API, используемый ведущими компаниями. Но он уже не так популярен, так как его использование в современных приложениях сокращается. Хотите узнать больше об этой классической архитектуре API, несмотря на то, что вы фанат REST?
Сидите спокойно, пока мы объясним, что такое SOAP, и посмотрим, используется ли он до сих пор.
Что такое SOAP API и как он работает?
SOAP полагается на язык описания веб-сервисов (WSDL), расширяемый язык разметки (XML) для передачи данных между программами.
А учитывая жесткую структуру XML, данные, передаваемые через SOAP API, многословны и выглядят более сложными, чем более модная архитектура репрезентативной передачи состояния (REST).
При отправке или получении данных от SOAP API вы передаете плотно упакованные элементы, заключенные в отдельные идентифицирующие теги. Организация данных в протоколе SOAP соответствует жесткому шаблону доступа и структуре в специальном файле. Это делает SOAP сильно управляемым протоколом.
Помимо передачи данных по протоколу передачи гипертекста (HTTP), SOAP также поддерживает более примитивные протоколы, включая протокол передачи файлов (FTP), протокол управления передачей (TCP) и простой протокол передачи почты. (SMTP). Таким образом, он предлагает гибкость передачи между различными сетями и платформами.
Тем не менее, в то время как другие протоколы передачи делают возможным примитивный обмен данными, более практично обслуживать SOAP через сеть HTTPS.
SOAP использует безопасность веб-служб (WS), специальное расширение для шифрования сообщений. Таким образом, это заполняет пробел при отправке данных с использованием протоколов передачи данных, отличных от HTTPS.
Он также сочетает это с безопасным уровнем сокетов (SSL), токеном безопасности, который обслуживает веб-сайты по HTTPS. Таким образом, с точки зрения безопасности SOAP имеет преимущество перед REST, который полагается исключительно на HTTPS для обеспечения безопасности.
Связанный:Что такое XML-файл и как его открыть и использовать?
Кроме того, легко запрограммировать формат данных, возвращаемых SOAP API. Это позволяет легко интегрировать несколько технологий программирования.
Таким образом, SOAP API является расширяемым, независимым и нейтральным по отношению к протоколу.
Архитектура SOAP
SOAP, как и любая инфраструктура API, имеет общую структуру. Тем не менее, архитектура SOAP API аналогична архитектуре HTML DOM.
SOAP API имеет следующую структуру:
- Конверт: Это говорит вам, что входящий или исходящий XML - это данные SOAP. Вы можете думать об этом как о голове в HTML DOM.
- Заголовок: Он содержит дополнительную информацию о заголовке XML.
- Тело: Это полезная нагрузка или основное содержимое сообщения SOAP.
- Вина: Обрабатывает ошибки и статусы запросов в SOAP API.
Используется ли SOAP API сегодня и почему?
Первоначально разработанный и впервые использованный Microsoft в 1998 году, протокол SOAP считается устаревшим и сложным. И она была радикально заменена более гибкой архитектурой REST, которая сегодня обслуживает более 70 процентов общедоступных API.
Тем не менее, некоторые ведущие компании по-прежнему используют протокол SOAP, особенно в качестве агента передачи между внутренними службами.
SOAP API поддерживает связь как без сохранения состояния, так и с отслеживанием состояния. Эта двухфазная способность - еще одна причина, по которой в некоторых случаях она остается предпочтительной структурой.
Когда вы используете его при обмене данными с отслеживанием состояния, он позволяет эффективно отслеживать информацию по нескольким запросам. Хотя эта сложная операция может засорить сервер, она по-прежнему делает SOAP предпочтительным вариантом при создании сложных приложений, которым требуется дополнительный уровень безопасности и цепочки.
С другой стороны, передача без сохранения состояния не перегружает память сервера. Таким образом, эта функция одинаково удобна, если целью является сокращение времени выполнения и повышение производительности сервера.
Но вместо того, чтобы использовать SOAP для обработки связи без сохранения состояния, веб-службы теперь предпочитают использовать структуру REST, которая является более гибкой и полностью не имеет состояния.
Например, программа Microsoft Dynamics использует SOAP API для предоставления бизнес-решений крупным компаниям.
Поскольку SOAP является ACID-совместимым, отслеживает состояние, предлагает шифрование безопасности WS и поставляется с SSL, это популярная архитектура API для транзакций банковских и финансовых приложений.
Состояние SOAP API поддерживает целостность базы данных во время транзакций. Даже когда в запросе возникает ошибка, он отслеживает ее и отменяет скомпрометированные данные.
Связанный:Что означает API? Примеры использования API
Неизменно это объясняет значение его соответствия концепции ACID (атомарность, согласованность, целостность и долговечность):
- Атомарность: Назначает релевантность каждому процессу в запросе. Таким образом, сбой блока запроса аннулирует весь процесс.
- Последовательность: Гарантирует, что запросы и методы базы данных соответствуют определенным правилам.
- Честность: Поддерживает состояние базы данных даже при одновременных запросах.
- Долговечность: Сохраняет успешный запрос в своем состоянии, даже когда сервер выходит из строя.
Следует ли использовать SOAP API в своих программах?
SOAP царит в домене API как один из самых безопасных каналов обмена сообщениями между программным обеспечением. Несмотря на то, что он сложный, медленный, старый и тяжелый, сегодня он по-прежнему незаменим во многих компаниях. Хотя современные API-интерфейсы просты в использовании, в конце концов, SOAP API может быть вашим лучшим выбором в некоторых ситуациях.
И помимо того, что вы создаете его самостоятельно, вы можете оказаться в сценарии, в котором это единственный применимый вариант, который может предоставить решение в вашем программном обеспечении. Так что изучение SOAP станет ценным дополнением к вашим знаниям об API.
Если вы ищете объяснение того, что такое Rest API и как его использовать, вы попали в нужное место.
Читать далее
- Программирование
- API
- Сбор данных
- Веб-аналитика

Идову увлечен интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться