Question

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.

Était-ce utile?

La solution

Une API (Application Programming Interface) est le moyen par lequel des tiers peuvent écrire un code s’interfaçant 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). La définition officielle du W3C indique que les services Web n'utilisent pas nécessairement HTTP, mais il s'agit presque toujours le cas et est généralement présumé, sauf indication contraire.

Pour des exemples de services Web en particulier, voir SOAP , REST , et XML-RPC . Pour obtenir un exemple d'un autre type d'API, celle écrite en C destinée à être utilisée sur une machine locale, voir la 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 la communication sur un réseau. Les API en général peuvent utiliser tous les moyens de communication de leur choix. L’API du noyau Linux, par exemple, utilise Interruptions pour appeler les appels système qui composent son API pour les appels. depuis l'espace utilisateur.

Autres conseils

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

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

Les définitions techniques (gracieuseté de Wikipedia) sont les suivantes:

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 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 prendre en charge une interaction interopérable de machine à machine sur un réseau"

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

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 permettant 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 dans laquelle l'interface est définie au moyen d'un WSDL. Cela permet d'appeler une interface via HTTP à distance.

Si Doubleclick implémentait son interface en tant que service Web, il utiliserait un logiciel similaire à Axis2 exécuté dans Tomcat.

L'utilisateur distant appelle le service Web

par exemple. appelez GetNumberClicksWebService (nom d'utilisateur)

et le service GetNumberClicksWebService appellent GetNumberClicks localement.

API (Application Programming Interface), le formulaire complet lui-même suggère 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.

Pour afficher les taux de change mis à jour sur votre site Web, il vous faudrait une interface tierce, sauf si vous envisagez de créer votre propre base de données avec les taux de change et les 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 terminal n’est rien d’autre que l’interface de leur application sur laquelle vous pouvez programmer, par conséquent, l’API.

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.

Pensez au service Web en tant qu'API Web. L’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 depuis le réseau via divers protocoles.

Cochez cette http://en.wikipedia.org/wiki/Web_service

Comme le lien mentionné, Web API est un développement de services Web qui se rapporte le plus probablement 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 nécessitent pas de définitions d’API de service XML, SOAP ou WSDL. Il s’agit donc d’une différence majeure par rapport au service Web traditionnel.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top