Я много слышал о веб-сервисах и веб-API, есть ли разница между ними или они одинаковы?
Я много слышал о веб-сервисах и веб-API, есть ли разница между ними или они одинаковы?
Ответы:
Веб-сервисы - это стандарт, определенный W3C, поэтому к ним можно получить полуавтоматический или автоматический доступ (WSDL / UDDI). Все это основано на XML, так что каждый может его назвать. И каждый аспект сервиса очень четко определен. Есть стандарт описания параметров, стандарт передачи параметров, стандарт ответа, стандарт обнаружения и т. Д. И т. Д. Вы, вероятно, могли бы написать книгу на 2000 страниц, которая бы описывала стандарт. Есть даже некоторые «дополнительные» стандарты для выполнения «стандартных» вещей, таких как аутентификация.
Несмотря на то, что автоматический вызов и обнаружение едва работает, потому что клиенты довольно бедны, и у вас нет реальной гарантии, что любая служба может быть вызвана с любого клиента.
Web API обычно выполняется как HTTP / REST, ничего не определено, вывод может быть, например. JSON / XML, входные данные могут быть XML / JSON / или обычные данные. Нет никаких стандартов для чего-либо => нет автоматического вызова и обнаружения. Вы можете предоставить некоторое описание в текстовом файле или PDF, вы можете вернуть данные в Windows-1250 вместо юникода и т. Д. Для описания стандарта это будет двухстраничная брошюра с некоторой простой информацией, и вы определите все остальное.
Интернет переключается на веб-API / REST. Веб-сервисы действительно не лучше, чем веб-API. Очень сложны в разработке, и они потребляют гораздо больше ресурсов (пропускная способность и оперативная память) ... и из-за всех преобразований данных (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) очень медленный.
Например. В WebAPI вы можете упаковать данные, отправить их в сжатом виде и распаковать + распаковать на клиенте. В SOAP вы могли только сжимать HTML-запрос.
Веб-сервис обеспечивает межмашинное взаимодействие по HTTP. Веб-API - это подмножество веб-сервисов, использующих соглашения REST (подведение итогов статьи из Википедии ). Понятия определенно пересекаются. Я полагаю, что в умах большинства людей все еще есть ссылка -> SOAP / XML-RPC, которая может излишне запутывать вопросы.
В конце вам придется задать несколько вопросов, чтобы уточнить, что люди имеют в виду. Не каждый проводит различие или использует термины взаимозаменяемо.
Веб-сервисы - это определенная архитектура и подход к проблемной области, заявленные W3C .
Веб-сервисы предоставляют стандартные средства взаимодействия между различными программными приложениями, работающими на различных платформах и / или инфраструктуре.
Web API - это концепция, которая абстрагирует средства ее реализации.
С точки зрения непрофессионала ... веб-API для мотора, а WS для BMW N53 .