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 des données? Merci.
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 des données? Merci.
Réponses:
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, comme SMTP). La définition officielle du W3C mentionne que les services Web n'utilisent pas nécessairement HTTP, mais c'est presque toujours le cas et est généralement supposé sauf indication contraire.
Pour des exemples de services Web en particulier, voir SOAP , REST et XML-RPC . Pour un exemple d'un autre type d'API, une écrite en C pour une utilisation sur une machine locale, voir l' API du noyau Linux .
En ce qui concerne le protocole, une API de service Web utilise presque toujours HTTP (d'où la partie Web) et implique définitivement une 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 des interruptions pour appeler les appels système qui composent son API pour les appels depuis l'espace utilisateur.
Fondamentalement, un webservice est une méthode de communication entre deux machines tandis 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 d'interaction avec cette API est via un webservice.
Les définitions techniques (gracieuseté de Wikipedia) sont:
Une interface de programmation d'applications (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 de système d'exploitation afin de prendre en charge la création d'applications.
Un service Web (également Web Service) est défini par le W3C comme "un système logiciel conçu pour prendre en charge l'interaction interopérable de machine à machine sur un réseau"
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.
Les API sont une interface publiée qui définit comment le composant A communique avec le composant B.
Par exemple, Doubleclick possède une API Java publiée 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 appelez GetNumberClicks (nom d'utilisateur)
Pour implémenter l'API, vous devez ajouter le fichier Doubleclick .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 WSDL. Cela permet l'appel à distance d'une interface via HTTP.
Si Doubleclick implémentait son interface en tant que service Web, ils utiliseraient quelque chose comme Axis2 fonctionnant dans Tomcat.
L'utilisateur distant appelle le service Web
par exemple appeler GetNumberClicksWebService (nom d'utilisateur)
et le service GetNumberClicksWebService appellerait GetNumberClicks localement.
API (Application Programming Interface), le formulaire complet lui-même suggère qu'il s'agit d'une interface qui vous permet de programmer pour votre application avec l'aide ou le support d'une autre interface d'application qui expose une sorte de fonctionnalité utile à votre application.
Par exemple, afficher les taux de change mis à jour sur votre site Web nécessiterait une interface tierce pour la programmation, à moins que vous ne prévoyiez d'avoir votre propre base de données avec des taux de change et des mises à jour régulières. Cet ensemble de fonctionnalités est lorsqu'il est déjà disponible avec quelqu'un d'autre et lorsqu'il veut le partager avec d'autres, il doit avoir un point de terminaison pour communiquer avec les autres qui sont intéressés par de telles interactions afin de le déployer sur le Web au moyen du Web. prestations de service. Ce point final n'est rien d'autre que l'interface de leur application contre laquelle vous pouvez programmer, d'où l'API.
Considérez le service Web comme une API Web. L'API est désormais un terme si général qu'un service Web est une interface vers des fonctionnalités, généralement liées à l'entreprise, auxquelles vous pouvez accéder à partir du réseau via une variété de protocoles.
Consultez ce http://en.wikipedia.org/wiki/Web_service
Comme le lien mentionné, l'API Web est un développement de services Web qui se rapporte probablement au Web 2.0, tandis 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 XML, SOAP ou WSDL de service-API, ce qui est très différent du service Web traditionnel.
un autre exemple: google map api vs google direction api web service, tandis que le premier sert (délivre) un fichier javascript au site (qui peut ensuite être utilisé comme api pour créer de nouvelles fonctions), le dernier est un service Web Rest fournissant des données ( au format json ou xml), qui peut être traité (mais pas utilisé dans un sens api).