Что нового

Article [ENSA] CCNA [68. API-интерфейсы]

Epsilon 0

Epsilon

Команда форума
10.11.2019
267
318
Основы API

API встречаются практически везде. Веб-службы Amazon, Facebook и устройства домашней автоматизации, такие как термостаты, холодильники и беспроводные системы освещения, используют API. Они также используются для построения программируемых сетей автоматизации.

API - это программное обеспечение, которое позволяет другим приложениям получать доступ к его данным или услугам. Это набор правил, описывающих, как одно приложение может взаимодействовать с другим, и инструкции, позволяющие этому взаимодействию происходить. Пользователь отправляет запрос API на сервер, запрашивая конкретную информацию, и получает в ответ API от сервера вместе с запрошенной информацией.

Пример API

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

На рисунке показан пример использования API для бронирования авиабилетов. В примере четыре шага. Первым шагом является ввод информации на сайте авиакомпании, чтобы сделать запрос на бронирование. Показаны параметры: город отправления, город назначения, дата отправления и дата возвращения. Второй шаг - прямой доступ/взаимодействие с базой данных авиакомпании. Третий шаг - возврат информации, соответствующей запросу пользователя. Четвертый отображает информацию для пользователя, такую как исходящие рейсы, обратные рейсы, время, стоимость и т. д.

1636040527664.png

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

Веб-сайт туристического сервиса взаимодействует с различными базами данных авиакомпаний, используя API, предоставляемые каждой авиакомпанией. Служба путешествий использует API каждой авиакомпании для запроса информации от этой конкретной авиакомпании, а затем отображает информацию от всех авиакомпаний на своей веб-странице.

1636040547226.png

Открытые, внутренние и партнерские API

При разработке API важно учитывать различие между открытым, внутренним и партнерским API:
  • Открытые API или публичные API - Эти API общедоступны и могут использоваться без ограничений. API Международной космической станции является примером публичного API. Поскольку эти API являются общедоступными, многие поставщики API, такие как Google Maps, требуют, чтобы пользователь получил бесплатный ключ или токен перед использованием API. Это помогает контролировать количество запросов API, которые они получают и обрабатывают. Найдите в Интернете список общедоступных API.
  • Внутренние или частные API - это API, которые используются организацией или компанией для доступа к данным и услугам только для внутреннего использования. Примером внутреннего API является предоставление авторизованным продавцам доступа к внутренним данным о продажах на своих мобильных устройствах.
  • Партнерские API-интерфейсы - Это API-интерфейсы, которые используются между компанией и ее деловыми партнерами или подрядчиками для облегчения деловых отношений между ними. Деловой партнер должен иметь лицензию или другую форму разрешения на использование API. Туристический сервис, использующий API авиакомпании, является примером партнерского API.
1636040564420.png

Типы веб-сервисов API

Веб-сервис - это сервис, доступный через Интернет с использованием Всемирной паутины. Существует четыре типа веб-сервисов API:
  • Simple Object Access Protocol (SOAP)
  • Representational State Transfer (REST)
  • eXtensible Markup Language-Remote Procedure Call (XML-RPC)
  • JavaScript Object Notation-Remote Procedure Call (JSON-RPC)

ХарактеристикаSOAPАрхитектура RESTXML-RPCJSON-RPC
Формат данныхXMLJSON, XML, YAML и другиеXMLJSON
Первый выпуск1998200019982005
Сильные стороныХорошо зарекомендовавший себяГибкое форматирование, наиболее широко используемыйХорошо зарекомендовавший себя, простотаПростота

SOAP - это протокол обмена сообщениями со структурированной XML-информацией, чаще всего по протоколу HTTP или SMTP. Разработанные Microsoft в 1998 году API-интерфейсы SOAP считаются медленными для разбора, сложными и жесткими.

Это привело к разработке более простой среды REST API, которая не требует XML. REST использует HTTP, менее многословен и более прост в использовании, чем SOAP. REST относится к стилю архитектуры программного обеспечения, он стал популярным благодаря своей производительности, масштабируемости, простоте и надежности.

REST - наиболее часто используемая веб-служба API, на ее долю приходится более 80% всех используемых типов API. REST будет дополнительно обсуждаться в этом модуле.

RPC - это когда одна система запрашивает другую, чтобы та выполнила некоторый код и вернула информацию. Это делается без необходимости разбираться в деталях сети. Это работает так же, как REST API, но есть различия, касающиеся форматирования и гибкости. XML-RPC - это протокол, разработанный до SOAP, а затем развившийся в то, что стало SOAP. JSON-RPC - это очень простой протокол, похожий на XML-RPC.
 
Последнее редактирование модератором:
Верх Низ