Y a-t-il une différence entre une API Web et un service Web ? Ou sont-ils identiques?
Y a-t-il une différence entre une API Web et un service Web ? Ou sont-ils identiques?
Réponses:
Un service Web propose généralement un WSDL à partir duquel vous pouvez créer automatiquement des stubs client. Les services Web sont basés sur le protocole SOAP . L'API Web ASP.NET est un nouveau framework Microsoft qui vous aide à créer des interfaces basées sur REST . La réponse peut être JSON ou XML, mais il n'existe aucun moyen de générer automatiquement des clients car l'API Web n'offre pas de description de service comme le WSDL des services Web. Cela dépend donc de vos besoins et de l'une des techniques que vous souhaitez utiliser. Peut-être même WCF répond-il mieux à vos besoins, il suffit de consulter la documentation MSDN.
La différence fondamentale entre les services Web et les API Web
Service Web:
1) Il s'agit d'un service basé sur SOAP et renvoie des données au format XML.
2) Il ne prend en charge que le protocole HTTP.
3) Il n'est pas open source mais peut être utilisé par tout client qui comprend XML.
5) Il nécessite un protocole SOAP pour recevoir et envoyer des données sur le réseau, ce n'est donc pas une architecture légère.
API Web:
1) Une API Web est un service basé sur HTTP et renvoie des données JSON ou XML par défaut.
2) Il prend en charge le protocole HTTP.
3) Il peut être hébergé dans une application ou IIS.
4) Il est open source et il peut être utilisé par n'importe quel client qui comprend JSON ou XML.
5) Il a une architecture légère et convient aux appareils qui ont une bande passante limitée, comme les appareils mobiles.
Je viens de coller le résumé de l'article lié:
Résumé:
Tous les services Web sont des API mais toutes les API ne sont pas des services Web.
Les services Web peuvent ne pas effectuer toutes les opérations qu'une API effectuerait.
Un service Web n'utilise que trois styles d'utilisation: SOAP, REST et XML-RPC pour la communication, tandis que l'API peut utiliser n'importe quel style pour la communication.
Un service Web a toujours besoin d'un réseau pour son fonctionnement alors qu'une API n'a pas besoin d'un réseau pour son fonctionnement.
Une API facilite l'interfaçage directement avec une application alors qu'un service Web est un ...
Lire la suite: Différence entre API et service Web | Différence entre | API vs service Web http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Voir le lien ci-dessus pour la réponse complète.
Un service Web si vous le souhaitez est une API Web. Plus précisément, API Web signifie généralement service Web RESTful (basé sur HTTP) et Service Web signifie généralement SOAP + WSDL (+ HTTP ou SMTP ou JMS ..).
Typiquement, les services Web RESTful sont opposés aux services Web (WSDL, SOAP), mais il a récemment été introduit le terme services Web RESTful (avec 'W' en majuscule) qui signifie RESTful + WSDL + SOAP.
Consultez ce tableau pour les différences entre les trois concepts: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
J'espère que ça aide!
Le service Web est absolument identique à l'API Web - juste un peu plus restreint en termes de format de données sous-jacent. Les deux utilisent le protocole HTTP et les deux permettent de créer des services RESTful. Et n'oubliez pas les autres protocoles comme JSON-RPC - peut-être qu'ils s'adaptent mieux.
Dans le contexte d'ASP.Net, une API Web est un contrôleur dont la classe de base est ApiController et n'utilise pas de vues. Un service Web est une classe dérivée de WebService et dispose d'une génération WSDL automatique. Par défaut, il s'agit d'une API SOAP, mais vous pouvez également utiliser JSON en ajoutant un ScriptServiceAttribute .
L'API et le service Web servent de moyen de communication.
La seule différence est qu'un service Web facilite l'interaction entre deux machines sur un réseau. Une API agit comme une interface entre deux applications différentes afin qu'elles puissent communiquer entre elles . Une API est une méthode par laquelle des fournisseurs tiers peuvent écrire des programmes qui s'interfacent facilement avec d'autres programmes. Un service Web est conçu pour avoir une interface qui est représentée dans un format traitable par machine généralement spécifié dans le langage de description de service Web (WSDL)
Tous les services Web sont des API, mais toutes les API ne sont pas des services Web.
Un service Web est simplement une API enveloppée dans HTTP.
Cet article ici fournit de bonnes connaissances sur le service Web et l'API.
Eh bien, TMK a peut-être raison dans le monde Microsoft, mais dans le monde de tous les logiciels, y compris Java / Python / etc, je pense qu'il n'y a pas de différence. C'est la même chose.
/software/38691/difference-between-web-api-and-web-service
Services Web - c'est la norme définie par le W3C, afin qu'ils soient accessibles de manière semi-automatique ou automatique (WSDL / UDDI). Le tout est basé sur XML, donc n'importe qui peut l'appeler. Et chaque aspect du service est très bien défini. Il y a la norme de description des paramètres, la norme de passage des paramètres, la norme de réponse, la norme de découverte, etc. etc. Vous pourriez probablement écrire un livre de 2000 pages décrivant la norme. Il existe même des normes "supplémentaires" pour faire des choses "standard", comme l'authentification.
Malgré le fait que l'appel et la découverte automatiques fonctionnent à peine car les clients sont plutôt pauvres et vous n'avez aucune garantie réelle que n'importe quel service peut être appelé depuis n'importe quel client.
L'API Web est généralement exécutée comme HTTP / REST, rien n'est défini, la sortie peut être par exemple. JSON / XML, l'entrée peut être XML / JSON / ou des données simples. Il n'y a aucune norme pour quoi que ce soit => pas d'appel et de découverte automatiques. Vous pouvez fournir une description dans un fichier texte ou PDF, vous pouvez renvoyer les données dans Windows-1250 au lieu d'unicode, etc. Pour décrire la norme, ce serait une brochure de 2 pages avec quelques informations simples et vous définirez tout le reste.
Le Web passe à l'API Web / REST. Les services Web ne sont vraiment pas meilleurs que l'API Web. Très compliqués à développer et ils consomment beaucoup plus de ressources (bande passante et RAM) ... et à cause de toutes les conversions de données (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) sont très lent.
Par exemple. Dans WebAPI, vous pouvez emballer les données, les envoyer compressées et décompresser + décompresser sur le client. Dans SOAP, vous ne pouviez compresser que la requête HTML.
Tous les WebServices sont des API mais toutes les API ne sont pas des WebServices, les API qui sont exposées sur le Web sont appelées services Web.
Deux choses sont très simples à comprendre,
Remarque: tous les services Web sont des API, mais toutes les API ne sont pas des services Web