API против Webservice

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

Ответ 1

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

Примеры веб-сервисов, например, см. SOAP, REST и XML-RPC. Для примера другого типа API, написанного на C для использования на локальной машине, см. API ядра ядра.

Что касается протокола, API веб-сервиса почти всегда использует HTTP (следовательно, веб-часть) и определенно включает в себя связь по сети. API в целом может использовать любые средства связи, которые они хотят. Например, API ядра Linux использует Прерывания для вызова системных вызовов, которые включают его API для вызовов из пользовательского пространства.

Ответ 2

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

У вас вполне может быть API, и основной способ взаимодействия с этим API - через webservice.

Технические определения (любезно предоставлены Википедии):

API

Интерфейс прикладного программирования (API) представляет собой набор подпрограмм, структур данных, классов объектов и/или протоколов, предоставляемых библиотеками и/или службами операционной системы, для поддержки построения приложений.

Веб-сервис

Веб-сервис (также веб-сервис) определяется W3C как "программная система, предназначенная для поддержки взаимодействия между машинами и машинами в сети"

Ответ 3

В общем смысле вебсервис IS API через HTTP. Они часто используют JSON или XML, но есть и другие подходы.

Ответ 4

API - это опубликованный интерфейс, который определяет, как компонент A связывается с компонентом B.

Например, Doubleclick имеет опубликованный Java API, который позволяет пользователям опросить таблицы базы данных, чтобы получить информацию об их рекламной кампании в Интернете.

например. вызов GetNumberClicks (имя пользователя)

Чтобы реализовать API, вы должны добавить файл Doubleclick.jar в свой путь к классу. Вызов локальный.

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

Если Doubleclick реализовал свой интерфейс как веб-сервис, он будет использовать что-то вроде Axis2, работающего внутри Tomcat.

Удаленный пользователь вызовет веб-службу

например. вызов GetNumberClicksWebService (имя пользователя)

и служба GetNumberClicksWebService будет локально вызывать GetNumberClicks.

Ответ 5

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

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

Ответ 6

API - это интеграция на основе кода, в то время как веб-сервис представляет собой интеграцию на основе сообщений с совместимыми стандартами, имеющими контракт, такой как WSDL.

Ответ 7

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

Ответ 8

Отметьте http://en.wikipedia.org/wiki/Web_service

Как упоминалось в ссылке, Web API - это разработка веб-сервисов, которая, скорее всего, относится к Web 2.0, тогда как службы на основе SOAP заменяются сообщениями на основе REST. Обратите внимание, что службы REST не требуют определений API-служб XML, SOAP или WSDL, поэтому это существенно отличается от традиционного веб-сервиса.

Ответ 9

еще один пример: google map api vs google direction api web service, в то время как первый служит (доставляет) javascript файл на сайт (который затем можно использовать как api для создания новых функций), более поздняя веб-служба Rest предоставление данных (в формате json или xml), которые могут обрабатываться (но не используются в смысле api).