Що таке API? | Швидке визначення

Що таке API?

Введення

Кількома клацаннями на робочому столі чи пристрої можна будь-коли купити, продати чи опублікувати будь-що. Як саме це відбувається? Як інформація дістатися звідси туди? Нерозпізнаним героєм є API.

Що таке API?

API розшифровується як an ІНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАМУВАННЯ. API виражає програмний компонент, його операції, входи, виходи та базові типи. Але як пояснити API простою англійською? API функціонує як месенджер, який передає ваш запит із програми та доставляє вам відповідь.

Приклад 1: Коли ви шукаєте авіаквитки в Інтернеті. Ви взаємодієте з веб-сайтом авіакомпанії. На веб-сайті наведено інформацію про місця та вартість рейсу на певну дату та час. Ви обираєте їжу чи місця, багаж чи запити на домашніх тварин.

Але якщо ви не користуєтеся прямим веб-сайтом авіакомпанії або користуєтеся онлайн-туристичним агентом, який поєднує дані багатьох авіакомпаній. Щоб отримати інформацію, додаток взаємодіє з API авіакомпанії. API — це інтерфейс, який передає дані з веб-сайту турагента в систему авіакомпанії.

 

Він також приймає відповідь авіакомпанії та негайно доставляє назад. Це полегшує взаємодію між туристичною службою та системами авіакомпанії для бронювання рейсу. API включає в себе бібліотеку для процедур, структур даних, класів об’єктів і змінних. Наприклад, служби SOAP і REST.

 

Приклад 2: На своєму веб-сайті Best Buy пропонує спеціальну цінову пропозицію «Угода дня». Ці ж дані є в його мобільному додатку. Додаток не хвилюється про внутрішню систему ціноутворення – він може викликати Deal of the Day API і запитати, яка ціна особлива? Best Buy відповідає запитуваною інформацією в стандартному форматі, який додаток відображає кінцевому користувачеві.

 

Example3:  API для соціальних медіа мають вирішальне значення. Користувачі можуть отримати доступ до вмісту та зменшити кількість облікових записів і паролів, які вони відстежують, щоб вони могли спростити роботу.

  • Twitter API: взаємодія з більшістю функцій Twitter
  • Facebook API: для платежів, даних користувача та входу 
  • API Instagram: позначайте користувачів, переглядайте популярні фотографії

А як щодо REST & SOAP API?

SOAP та REST використовувати службу, що використовує API, відому як Web API. Веб-служба не залежить від попереднього знання інформації. SOAP — це протокол веб-сервісу, який не залежить від платформи. SOAP — це протокол обміну повідомленнями на основі XML. На відміну від веб-сервісу SOAP, сервіс Restful використовує архітектуру REST, створену для зв’язку «точка-точка».

Веб-сервіс SOAP

Простий протокол доступу до об’єктів (SOAP) використовує протоколи HTTP, щоб дозволити програмам спілкуватися. SOAP — це спрямований зв’язок між вузлами без збереження стану. Є 3 типи вузлів SOAP:

  1. SOAP Sender – створення та передача повідомлення.

  2. SOAP Receiver – отримує та обробляє повідомлення.

  3. Посередник SOAP - отримує та обробляє блоки заголовків.

Веб-сервіс RESTful

Передача стану представлення (REST) ​​пов’язана зі зв’язком між клієнтом і сервером і процесом обробки стану. Архітектура Rest, сервер REST надає доступ до ресурсів клієнту. Rest керує читанням і зміною або записом ресурсів. Уніфікований ідентифікатор (URI) визначає ресурси, які містять документ. Це зафіксує стан ресурсу.

REST легший за архітектуру SOAP. Він аналізує JSON, зрозумілу людині мову, яка дозволяє обмінюватися даними та простіше використовувати дані замість XML, який використовується в архітектурі SOAP.

Існує кілька принципів розробки веб-сервісу Restful, а саме:

  • Адресність – кожен ресурс повинен мати принаймні одну URL-адресу.
  • Без громадянства – послуга Restful є послугою без громадянства. Запит не залежить від попередніх запитів служби. HTTP є протоколом без стану.
  • Кешовані – дані, позначені як кешовані, зберігаються в системі та повторно використовуються в майбутньому. Як відповідь на той самий запит замість отримання тих самих результатів. Обмеження кешу дозволяють позначати дані відповіді як такі, що кешуються, або як такі, що не кешуються.
  • Уніфікований інтерфейс – дозволяє використовувати загальний стандартизований інтерфейс для доступу. Використання визначеної колекції методів HTTP. Дотримання цих концепцій гарантує, що реалізація REST є легкою.

Переваги REST

  • Використовує простіший формат для повідомлень
  • Пропонує сильнішу довгострокову ефективність
  • Він підтримує зв'язок без стану
  • Використовуйте стандарти HTTP та граматику
  • Дані доступні як ресурс

Недоліки REST

  • Помилка стандартів веб-служб, таких як транзакції безпеки тощо.
  • Запити REST не масштабуються

Порівняння REST і SOAP

Відмінності між веб-службами SOAP і REST.

 

Веб-сервіс SOAP

Веб-сервіс Rest

Вимагає значного вхідного навантаження порівняно з REST.

REST легкий, оскільки використовує URI для форм даних.

Зміни в службах SOAP часто призводять до значних змін у коді на стороні клієнта.

На клієнтський код не впливають зміни в службах веб-ініціалізації REST.

Тип повернення завжди тип XML.

Забезпечує універсальність щодо форми повернутих даних.

Протокол повідомлень на основі XML

Архітектурний протокол

Потрібна бібліотека SOAP на кінці клієнта.

Підтримка бібліотек не потрібна, як правило, використовується через HTTP.

Підтримує WS-Security і SSL.

Підтримує SSL і HTTPS.

SOAP визначає власну безпеку.

Веб-служби RESTful успадковують заходи безпеки від основного транспорту.

Типи політик випуску API

Правила випуску для API:

 

Політика приватного випуску: 

API доступний лише для внутрішнього використання компанії.


Правила випуску для партнерів:

API доступний лише для окремих бізнес-партнерів. Компанії можуть контролювати якість API завдяки контролю над тим, хто має до нього доступ.

 

Політика публічного випуску:

API призначений для загального використання. Наявність політики випуску доступна для громадськості. Приклад: API Microsoft Windows і Cocoa від Apple.

Висновок

API присутні скрізь, незалежно від того, бронюєте ви рейс або використовуєте програми соціальних мереж. SOAP API заснований на обміні даними XML, він відрізняється від REST API тим, що не потребує спеціального налаштування.

Розробка веб-сервісів Rest має відповідати певним концепціям, включаючи адресність, відсутність стану, можливість кешування та стандартний інтерфейс. Правила випуску API можна розділити на три категорії: приватні API, партнерські API та публічні API.

Дякуємо, що прочитали цю статтю. Перегляньте нашу статтю про посібник із Безпека API 2022.