213 votes

API vs Webservice

Quelle est la différence entre un webservice et une API? La différence est-elle plus importante que le protocole utilisé pour transférer les données? Merci.

180voto

Andrew Cholakian Points 1100

Une API est une Interface de Programmation d'Application, c'est le moyen par lequel des tiers peuvent écrire du code que les interfaces avec d'autres codes. Un Service Web est un type d'API, presque toujours une qui fonctionne sur HTTP (même Si certains, comme le SAVON, peuvent utiliser d'autres transports, comme SMTP). L' Officiel du W3C Définition mentionne que les Services Web ne sont pas forcément d'utiliser le protocole HTTP, mais c'est presque toujours le cas et on le suppose généralement, sauf mention contraire.

Pour des exemples de services web spécifiquement SOAP, REST, et XML-RPC

Comme un exemple d'un autre type d'API, l'une écrite en C pour une utilisation sur une machine locale, voir le Noyau Linux API

Aussi loin que le protocole va, un Service web API utilise presque toujours HTTP (donc la partie Web), et nul doute que la communication sur un réseau. Api en général peut utiliser tous les moyens de communication qu'ils souhaitent. Le noyau Linux API par exemple utilise les Interruptions d'invoquer les appels système qui composent son API pour les appels à partir de l'espace utilisateur.

56voto

Mark Biek Points 41769

Fondamentalement, un service web est une méthode de communication entre les deux machines en une API est un exposé de la couche, vous permettant de programme contre quelque chose.

Vous pourriez très bien avoir une API et la principale méthode d'interaction avec l'API est via un webservice.

Les définitions techniques (avec l'aimable autorisation de Wikipedia):

API

Une interface de programmation d'application (API) est un ensemble de routines, de structures de données, les classes d'objets et/ou des protocoles fournis par les bibliothèques et/ou services du système d'exploitation afin de soutenir la construction d'applications.

Webservice

Un service Web (également un Service Web) est défini par le W3C comme "un système logiciel conçu pour soutenir interopérables machine-to-machine interaction sur un réseau"

44voto

altCognito Points 23944

Dans un sens générique, un webservice est une API sur HTTP. Ils utilisent souvent JSON ou XML, mais il existe également d'autres approches.

10voto

nzpcmad Points 15270

Les API sont une publication de l'interface qui définit la manière dont Un composant communique avec le composant B.

Par exemple, Doubleclick publié API Java qui permet aux utilisateurs d'interroger les tables de base de données pour obtenir des informations sur leur campagne de publicité en ligne.

par exemple, appeler GetNumberClicks (nom d'utilisateur)

Pour mettre en œuvre l'API, vous devez ajouter le Doubleclick .le fichier jar à votre chemin de classe. L'appel est local.

Un service web est une forme d'API, où l'interface est définie au moyen d'un document WSDL. Cela permet d'appel à distance d'une interface HTTP.

Si Doubleclick mise en œuvre de leur interface d'un service web, ils utilisent quelque chose comme Axis2 cours d'exécution à l'intérieur de Tomcat.

L'utilisateur distant serait d'appeler le service web

par exemple, appeler GetNumberClicksWebService (nom d'utilisateur)

et le GetNumberClicksWebService service d'appel GetNumberClicks localement.

3voto

Joshua Belden Points 3492

Pensez au service Web comme une API Web. L'API est un terme si général que maintenant, un service Web est une interface vers des fonctionnalités, généralement liées à l'entreprise, auxquelles vous pouvez accéder depuis le réseau via divers protocoles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X