REST против SOAP. Это уже давно стало проблемой. И на самом деле это всего лишь два ответа на один и тот же вопрос: как получить доступ к веб-сервисам. Но выбор одного над другим может быть на удивление трудным. SOAP (Simple Object Access Protocol) — это основанный на стандартах протокол доступа к веб-сервисам, который существует уже давно. Первоначально разработанный Microsoft, SOAP не так прост, как можно было бы предположить из аббревиатуры. REST (передача репрезентативного состояния) — это еще один стандарт, созданный в ответ на недостатки SOAP. Он стремится исправить проблемы с SOAP и предоставить более простой метод доступа к веб-сервисам. Как насчет GraphQL? Конечно, в последнее время GraphQL произвел огромный фурор, о чем мы подробно говорили в других статьях. Но он все еще не так стандартизирован, как REST и SOAP, поэтому в этой статье мы сосредоточимся только на этих двух. И SOAP, и REST имеют проблемы, которые необходимо учитывать при выборе протокола.
Введите расширяемый язык разметки или XML. XML-данные хранятся в виде простого текста. Он читается как человеком, так и машиной и не зависит от аппаратного обеспечения, что делает XML-данные очень переносимыми. Используя XML API, вы можете легко обмениваться данными XML между различными приложениями, браузерами или операционными системами. API XML получает данные из базы данных, а затем преобразует их в формат XML для отправки в другое приложение, принимающее входные данные XML. Это эффективно позволяет вам обращаться с вашей базой данных, как если бы она была структурирована в XML.
Интерфейс прикладного программирования (API) — это способ взаимодействия двух или более компьютерных программ друг с другом. Это тип программного интерфейса, предлагающий услуги другим программам. Документ или стандарт, описывающий, как построить или использовать такое соединение или интерфейс, называется спецификацией API. Говорят, что компьютерная система, соответствующая этому стандарту, реализует или предоставляет API. Термин API может относиться либо к спецификации, либо к реализации.
В отличие от пользовательского интерфейса, который соединяет компьютер с человеком, интерфейс прикладного программирования соединяет компьютеры или части программного обеспечения друг с другом. Он не предназначен для непосредственного использования лицом (конечным пользователем), кроме программиста, который включает его в программное обеспечение. API часто состоит из разных частей, которые действуют как инструменты или сервисы, доступные программисту. Говорят, что программа или программист, который использует одну из этих частей, вызывает эту часть API. Вызовы, составляющие API, также известны как подпрограммы, методы, запросы или конечные точки. Спецификация API определяет эти вызовы, то есть объясняет, как их использовать или реализовывать.
Одна из целей API – скрыть внутренние детали работы системы, открыв только те части, которые программист сочтет полезными и понятными. сохраняя их согласованность, даже если внутренние детали позже изменятся. API может быть создан специально для определенной пары систем или может быть общим стандартом, позволяющим взаимодействовать между многими системами.