Разница между терминами взаимодействия при разработке программного обеспечения: API, Web API, REST API, Web Services, SOAP Services - PullRequest
0 голосов
/ 09 мая 2020

API против веб-API против REST API против веб-сервисов против SOAP услуг

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

Я просмотрел много контента в Интернете, но я так и не нашел на любой странице, где все эти термины хорошо объяснены в одном месте.

Может ли кто-нибудь объяснить эти термины и их взаимосвязь?

1 Ответ

0 голосов
/ 09 мая 2020

Я думаю, проблема в том, что эти термины используются так взаимозаменяемо, что на самом деле не так много строгого определения.

На мой взгляд, API - это почти все, что вы используете для взаимодействия с другим программным обеспечением / оборудование. Это может быть командная строка, HTTP API, собственные мобильные API, собственные веб-API, методы взаимодействия с GPIO, L2 C, ... различные протоколы.

Большая часть того, что запрограммировано, использует множество уровней различных API (абстракций), метод технически API. Вы уловили суть?

Веб-API обычно использует HTTP (S) или аналогичную технологию для предоставления доступа к API. Вы могли бы также рассматривать "веб-API" как что-нибудь, что предоставляет его API через inte rnet, например, через TCP, или используя gRP C, et c ..

REST API - это особый тип веб-API, определяющий стандарт для проектирования / разработки API без сохранения состояния, предоставляемых через HTTP (s), этот стандарт принят большинством современных API, хотя некоторые из них не являются RESTful, скорее RESTi sh, но я отвлекся. [1] API-интерфейсы RESTful будут иметь такие конечные точки, как: GET /users/1 для выполнения операций CRUD, и обычно принимают / ответ JSON.

Веб-сервисы == Веб-API, на мой взгляд, не большая разница, сервис (на мой взгляд) может быть API, может также быть сервисом, который не предоставляет API и только повторяет задачу.

Я не собираюсь комментировать SOAP, я был очень молод, когда SOAP был рядом, но я считаю, что он использовал XML.

РЕДАКТИРОВАТЬ: Это очень широкая тема c, которая, честно говоря, вызовет некоторые обсуждения в зависимости от возраста, опыта и фона. Но это мое мнение относительно терминов, которые вы изложили выше.

[1] https://en.wikipedia.org/wiki/Representational_state_transfer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...