C'è qualche differenza tra un'API Web e un servizio Web ? O sono la stessa cosa?
C'è qualche differenza tra un'API Web e un servizio Web ? O sono la stessa cosa?
Risposte:
Un servizio Web offre in genere un WSDL da cui è possibile creare automaticamente stub client. I servizi Web si basano sul protocollo SOAP . L'API Web ASP.NET è un framework Microsoft più recente che consente di creare interfacce basate su REST . La risposta può essere JSON o XML, ma non è possibile generare automaticamente i client poiché l'API Web non offre una descrizione del servizio come WSDL dai servizi Web. Quindi dipende dalle tue esigenze quale delle tecniche che vuoi usare. Forse anche WCF soddisfa meglio le tue esigenze, basta guardare la documentazione MSDN.
La differenza di base tra servizi Web e API Web
Servizio web:
1) È un servizio basato su SOAP e restituisce i dati come XML.
2) Supporta solo il protocollo HTTP.
3) Non è open source ma può essere utilizzato da qualsiasi client che comprenda XML.
5) Richiede un protocollo SOAP per ricevere e inviare dati sulla rete, quindi non è un'architettura leggera.
API Web:
1) Un'API Web è un servizio basato su HTTP e restituisce i dati JSON o XML per impostazione predefinita.
2) Supporta il protocollo HTTP.
3) Può essere ospitato all'interno di un'applicazione o IIS.
4) È open source e può essere utilizzato da qualsiasi client che comprenda JSON o XML.
5) Ha un'architettura leggera e buona per i dispositivi che hanno una larghezza di banda limitata, come i dispositivi mobili.
Ho appena incollato il riepilogo dell'articolo collegato:
Sommario:
Tutti i servizi Web sono API ma tutte le API non sono servizi Web.
I servizi Web potrebbero non eseguire tutte le operazioni eseguite da un'API.
Un servizio Web utilizza solo tre stili di utilizzo: SOAP, REST e XML-RPC per la comunicazione, mentre l'API può utilizzare qualsiasi stile per la comunicazione.
Un servizio Web ha sempre bisogno di una rete per il suo funzionamento mentre un'API non ha bisogno di una rete per il suo funzionamento.
Un'API facilita l'interfacciamento diretto con un'applicazione mentre un servizio Web è un ...
Ulteriori informazioni: differenza tra API e servizio Web | Differenza tra | API vs Web Service http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Vedi il link sopra per la risposta completa.
Un servizio Web se si desidera è un'API Web. In particolare, l'API Web di solito significa servizio Web RESTful (basato su HTTP) e Servizio Web di solito significa SOAP + WSDL (+ HTTP o SMTP o JMS ..).
I servizi Web tipicamente RESTful si contrappongono ai servizi Web (WSDL, SOAP) ma recentemente è stato introdotto il termine servizi Web RESTful (con 'W' maiuscola) che significa RESTful + WSDL + SOAP ..
Dai un'occhiata a questo grafico per le differenze tra i tre concetti: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Spero che sia d'aiuto!
Il servizio Web è assolutamente uguale all'API Web, solo un po 'più limitato in termini di formato dei dati sottostanti. Entrambi utilizzano il protocollo HTTP ed entrambi consentono di creare servizi RESTful. E non dimenticare per altri protocolli come JSON-RPC - forse si adattano meglio.
Nel contesto di ASP.Net un'API Web è un controller la cui classe base è ApiController e non utilizza Views. Un servizio Web è una classe derivata da WebService e ha una generazione WSDL automatica. Per impostazione predefinita è un'API SOAP, ma è anche possibile utilizzare JSON aggiungendo un ScriptServiceAttribute .
L'API e il servizio Web servono come mezzo di comunicazione.
L'unica differenza è che un servizio Web facilita l'interazione tra due macchine su una rete. Un'API funge da interfaccia tra due diverse applicazioni in modo che possano comunicare tra loro . Un'API è un metodo mediante il quale i fornitori di terze parti possono scrivere programmi che si interfacciano facilmente con altri programmi. Un servizio Web è progettato per avere un'interfaccia rappresentata in un formato elaborabile dalla macchina, generalmente specificato in WSDL (Web Service Description Language)
Tutti i servizi Web sono API ma non tutte le API sono servizi Web.
Un servizio Web è semplicemente un'API racchiusa in HTTP.
Questo qui articolo fornisce una buona conoscenza per quanto riguarda il servizio web e API.
Bene, TMK potrebbe essere proprio nel mondo Microsoft, ma nel mondo di tutti i software inclusi Java / Python / ecc., Credo che non ci siano differenze. Sono la stessa cosa.
/software/38691/difference-between-web-api-and-web-service
Servizi Web: standard definito da W3C, pertanto è possibile accedervi in modo semi-automatico o automatico (WSDL / UDDI). Il tutto si basa su XML, quindi chiunque può chiamarlo. E ogni aspetto del servizio è molto ben definito. Ci sono standard di descrizione dei parametri, standard di passaggio dei parametri, standard di risposta, standard di scoperta, ecc. Probabilmente potresti scrivere un libro di 2000 pagine che descriverà lo standard. Ci sono anche alcuni standard "aggiuntivi" per fare cose "standard", come l'autenticazione.
Nonostante il fatto che il richiamo e la scoperta automatici stiano funzionando a malapena perché i clienti sono piuttosto poveri e non hai alcuna reale garanzia che qualsiasi servizio possa essere chiamato da qualsiasi client.
L'API Web viene in genere eseguita come HTTP / REST, non viene definito nulla, l'output può essere ad es. JSON / XML, l'input può essere XML / JSON / o dati semplici. Non ci sono standard per nulla => nessuna chiamata e scoperta automatica. Puoi fornire una descrizione in file di testo o PDF, puoi restituire i dati in Windows-1250 invece di unicode, ecc. Per descrivere lo standard sarebbe una brochure di 2 pagine con alcune semplici informazioni e definirai tutto il resto.
Il Web sta passando all'API / REST Web. I servizi Web non sono davvero migliori dell'API Web. Molto complicato da sviluppare e consumano molte più risorse (larghezza di banda e RAM) ... e a causa di tutte le conversioni di dati (RICHIESTA-> XML-> DATI-> RISPOSTA-> XML-> VALIDAZIONE-> CONVERSIONE-> DATI) sono molto lento.
Per esempio. In WebAPI è possibile comprimere i dati, inviarli compressi e decomprimere + decomprimere sul client. In SOAP puoi solo comprimere la richiesta HTML.
Tutti i WebServices sono API ma tutte le API non sono WebServices, l'API esposta sul Web è denominata servizi Web.
Due cose sono molto semplici da capire,
Nota: tutti i servizi Web sono API ma non tutte le API sono servizi Web