API vs Web Services. Who is who?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Всем привет! Меня зовут Арина. В тестировании я работаю 11 лет. Сейчас работаю Lead QA в мобильной команде в финтехе. Последние три года работаю наставником в Yandex.Practicum. В последние месяцы начала писать статьи-пояснения для своих студентов. Теперь решила делиться ими и на habr. А еще у меня есть уютных телеграм канал про тестирование toQAit (откуашь это!).

Когда-то в университете у меня был такой предмет - логика. Сам предмет прошел почти мимо - но одну задачку я почему-то очень помню. Про тигров. Там было что-то про путаницу и пересечение понятий. И звучало примерно так: "Все тигры - полосаты, но не все полосатые - тигры". Сейчас я ее часто вспоминаю, когда мне приходится иметь дело с понятиями грань между которыми достаточно невнятна и размыта.

Разница между API и web services - как раз про это. Я даже фразу на эту тему прочла:

Все веб-сервисы являются API-интерфейсами, но не все API-интерфейсы являются веб-сервисами

Давайте разбираться.

Определения

Итак это два термина, которые часто употребляются в интернет-разработке. Они оба используются для передачи данных между приложениями, но имеют некоторые ключевые различия.

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

Веб-сервисы – это набор открытых протоколов и стандартов, которые широко используются для обмена данными между системами или приложениями.

Программные приложения написаны с использованием различных языков программирования и работают на нескольких платформах. Это позволяет использовать веб-сервисы для обмена данными по компьютерным сетям.
Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.
Веб-сервисы должны быть реализованы различными способами. Двумя типами широко используемых веб-сервисов являются веб-сервисы SOAP и RESTful.

Отличия

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

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

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

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

Суммируем и упростим

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

  • Веб-сервис используется для REST, SOAP и XML-RPC для связи, в то время как API используется для любого стиля связи.

  • Веб-сервис поддерживает только протокол HTTP, тогда как API поддерживает протокол HTTP / HTTPS.

  • Все веб-сервисы являются API-интерфейсами, но все API-интерфейсы не являются веб-сервисами.

Рубрика вопрос-ответ

REST api это веб-сервисы?

Да.

Soap api это веб-сервисы?

Да.

WS это web services?

Не факт. В разработке и, соответственно, на собесах WS - это web socket. WebSocket - протокол для общения между клиентом и сервером, предоставляющий двухсторонне общение сверх протокола TCP.

Источник: https://habr.com/ru/articles/730364/


Интересные статьи

Интересные статьи

Знаете ли вы, что можно выделять сегменты памяти, которые больше, чем физический размер оперативной памяти вашего компьютера, и даже больше, чем размер всей вашей файловой системы? Прочтите эту статью...
Всем привет, я — Кирилл Мыльников, frontend разработчик компании Usetech.Сегодня хочу рассказать о полифилах JavaScript: что это и зачем они нужны? На практике мы реализуем несколько полифилов: map, f...
Разрабатывая продукт, в какой-то момент задумываешься о поддержке языков. И, казалось бы, что могло пойти не так? А так можно было? Рейтинг 0 Просмотры 14 Добавить в закладки 0
За последние несколько лет плотной работы с LINSTOR и DRBD9 у меня накопилось достаточное количество проблем и рецептов решения для них, что мне захотелось оформить их в небольшую стать...
Визуальное программирование? Серьезно?! Я что-то пропустил? Кто-то изобрел программирование на ощупь? Или по запахам? Нет? Все программируют глазами? А почему тогда мы ис...