web-dev-qa-db-fra.com

API vs service Web

Quelle est la différence entre un service Web et une API? La différence est-elle supérieure au protocole utilisé pour transférer des données? Merci.

201
chips

Une API (Application Programming Interface) est le moyen par lequel des tiers peuvent écrire du code qui s'interface avec un autre code. Un service Web est un type d'API, qui fonctionne presque toujours sur HTTP (bien que certains, comme SOAP, puissent utiliser des transports alternatifs, tels que SMTP). Le définition officielle du W3C indique que les services Web n'utilisent pas nécessairement HTTP, mais c'est presque toujours le cas et est généralement présumé, sauf indication contraire.

Pour des exemples de services Web en particulier, voir SOAP , RESTE et XML-RPC . Pour obtenir un exemple d'un autre type d'API, écrit en C destiné à être utilisé sur une machine locale, voir API du noyau Linux .

En ce qui concerne le protocole, une API de service Web utilise presque toujours HTTP (donc la partie Web) et implique définitivement une communication sur un réseau. Les API en général peuvent utiliser n'importe quel moyen de communication qu'ils souhaitent. L'API du noyau Linux, par exemple, utilise Interrupts pour appeler les appels système qui composent son API pour les appels de l'espace utilisateur.

168
Andrew Cholakian

Fondamentalement, un service Web est une méthode de communication entre deux machines alors qu'une API est une couche exposée vous permettant de programmer contre quelque chose.

Vous pourriez très bien avoir une API et la principale méthode pour interagir avec cette API est via un service Web.

Les définitions techniques (courtoisie de Wikipedia) sont:

API

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

Webservice

Un service Web (également un service Web) est défini par le W3C comme "un système logiciel conçu pour prendre en charge une interaction interopérable de machine à machine sur un réseau".

52
Mark Biek

De manière générique, un service Web EST une API sur HTTP. Ils utilisent souvent JSON ou XML, mais il existe également d'autres approches.

39
cgp

Les API sont une interface publiée qui définit comment le composant A communique avec le composant B.

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

par exemple. appelez GetNumberClicks (nom d'utilisateur)

Pour implémenter l'API, vous devez ajouter le fichier .jar Doubleclick à 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 WSDL. Cela permet d'appeler à distance une interface via HTTP.

Si Doubleclick implémentait leur interface en tant que service Web, ils utiliseraient par exemple Axis2 sous Tomcat.

L'utilisateur distant appelle le service Web

par exemple. appelez GetNumberClicksWebService (nom d'utilisateur)

et le service GetNumberClicksWebService appelle GetNumberClicks localement.

10
nzpcmad

API (Application Programming Interface), le formulaire complet lui-même suggère qu’il s’agisse d’une interface qui vous permet de programmer pour votre application avec l’aide ou le support d’une autre interface d’application, qui présente une sorte de fonctionnalité utile à votre application.

Par exemple, si vous affichez des taux de change de devise mis à jour sur votre site Web, il vous faudra une interface tierce, sauf si vous envisagez de créer votre propre base de données avec les taux de change et des mises à jour régulières. Cet ensemble de fonctionnalités existe déjà lorsqu'elles sont disponibles avec quelqu'un d'autre et lorsqu'il souhaite le partager avec d'autres, il doit disposer d'un terminal permettant de communiquer avec les autres personnes intéressées par de telles interactions, de manière à ce qu'elles soient déployées sur le Web via le Web. prestations de service. Ce point final n'est rien d'autre qu'une interface de leur application sur laquelle vous pouvez programmer, par conséquent, une API.

7
Manoj Dwivedi

L'API est une intégration basée sur un code alors que le service Web est une intégration basée sur un message avec des normes interopérables ayant un contrat tel que WSDL.

4
Pingala

Pensez au service Web en tant qu'API Web. API est un terme tellement général qu’un service Web est une interface vers des fonctionnalités, généralement liées aux entreprises, auxquelles vous pouvez accéder à partir du réseau via divers protocoles.

3
Joshua Belden

Vérifiez ceci http://en.wikipedia.org/wiki/Web_service

En tant que lien mentionné, Web API est un développement de services Web qui est très probablement lié au Web 2.0, alors que les services basés sur SOAP sont remplacés par des communications basées sur REST. Notez que les services REST ne requièrent pas de définitions d'API de service XML, SOAP ou WSDL, de sorte que ce service est différent du service Web traditionnel.

1
longbkit

un autre exemple: api google map vs service web google direction api, alors que le premier sert à transmettre un fichier javascript au site (qui peut ensuite être utilisé comme une api pour créer de nouvelles fonctions), ce dernier est un service Web Rest fournissant des données ( au format json ou xml), qui peuvent être traités (mais ne sont pas utilisés dans un sens api).

0
anu