Domanda

Qual è la differenza tra un servizio web e un'API? La differenza è maggiore del protocollo utilizzato per trasferire i dati? Grazie.

È stato utile?

Soluzione

Un'API (Application Programming Interface) è il mezzo con cui terze parti possono scrivere codice che si interfaccia con un altro codice. Un servizio Web è un tipo di API, che funziona quasi sempre su HTTP (anche se alcuni, come SOAP, possono utilizzare trasporti alternativi, come SMTP). La definizione ufficiale del W3C menziona che i servizi Web non utilizzano necessariamente HTTP, ma questo è quasi sempre il caso e di solito è assunto se non diversamente indicato.

Per esempi specifici di servizi Web, vedere SOAP , REST e XML-RPC . Per un esempio di un altro tipo di API, uno scritto in C per l'uso su un computer locale, consultare API del kernel Linux .

Per quanto riguarda il protocollo, un'API di servizi Web utilizza quasi sempre HTTP (quindi la web part) e implica sicuramente la comunicazione su una rete. Le API in generale possono utilizzare qualsiasi mezzo di comunicazione che desiderano. L'API del kernel Linux, ad esempio, utilizza Interrupts per invocare le chiamate di sistema che comprendono la sua API per le chiamate dallo spazio utente.

Altri suggerimenti

Fondamentalmente, un servizio web è un metodo di comunicazione tra due macchine mentre un'API è un livello esposto che consente di programmare contro qualcosa.

Potresti benissimo avere un'API e il metodo principale per interagire con quell'API è tramite un servizio web.

Le definizioni tecniche (per gentile concessione di Wikipedia) sono:

API

  

Un'interfaccia di programmazione dell'applicazione (API) è un insieme di routine, strutture di dati, classi di oggetti e / o protocolli forniti da librerie e / o servizi del sistema operativo al fine di supportare la creazione di applicazioni.

Webservice

  

Un servizio Web (anche un servizio Web) è definito dal W3C come "un sistema software progettato per supportare l'interazione interoperabile macchina-macchina su una rete"

In senso generico un servizio web È un'API su HTTP. Spesso utilizzano JSON o XML, ma ci sono anche altri approcci.

Le API sono un'interfaccia pubblicata che definisce il modo in cui il componente A comunica con il componente B.

Ad esempio, DoubleClick ha un'API Java pubblicata che consente agli utenti di interrogare le tabelle del database per ottenere informazioni sulla propria campagna pubblicitaria online.

es. chiama GetNumberClicks (nome utente)

Per implementare l'API, devi aggiungere il file .jar di DoubleClick al percorso della tua classe. La chiamata è locale.

Un servizio Web è una forma di API in cui l'interfaccia è definita mediante un WSDL. Ciò consente la chiamata remota di un'interfaccia su HTTP.

Se DoubleClick implementasse la propria interfaccia come servizio Web, utilizzerebbe qualcosa come Axis2 in esecuzione all'interno di Tomcat.

L'utente remoto chiamerebbe il servizio web

es. chiama GetNumberClicksWebService (nome utente)

e il servizio GetNumberClicksWebService chiamerebbe GetNumberClicks localmente.

API (Application Programming Interface), il modulo completo stesso suggerisce che si tratta di un'interfaccia che ti consente di programmare per la tua applicazione con l'aiuto o il supporto di qualche altra interfaccia dell'applicazione che espone una sorta di funzionalità utile alla tua applicazione.

Ad esempio, per mostrare i tassi di cambio aggiornati sul tuo sito Web, è necessario programmare un'interfaccia di terze parti a meno che tu non preveda di avere il tuo database con tassi di cambio e aggiornamenti regolari allo stesso. Questo set di funzionalità è quando è già disponibile con qualcun altro e quando vogliono condividerlo con gli altri devono avere un endpoint per comunicare con gli altri che sono interessati a tali interazioni in modo da distribuirlo sul web tramite web- Servizi. Questo end point non è altro che un'interfaccia della loro applicazione che è possibile programmare contro quindi API.

L'API è l'integrazione basata su codice mentre il servizio Web è l'integrazione basata su messaggi con standard interoperabili che hanno un contratto come WSDL.

Pensa al servizio Web come api web. L'API è un termine così generico ora, quindi un servizio Web è un'interfaccia per funzionalità, generalmente correlata al business, a cui è possibile accedere dalla rete tramite una varietà di protocolli.

Controlla http://en.wikipedia.org/wiki/Web_service

Come indicato nel link, l'API Web è uno sviluppo nei servizi Web che molto probabilmente si riferisce al Web 2.0, mentre i servizi basati su SOAP sono sostituiti da comunicazioni basate su REST. Si noti che i servizi REST non richiedono definizioni di API di servizio XML, SOAP o WSDL, quindi questo è molto diverso dal servizio web tradizionale.

un altro esempio: google map api vs google direction api web service, mentre il primo serve (consegna) file javascript al sito (che può quindi essere usato come api per creare nuove funzioni), il successivo è un servizio web Rest consegna dei dati (in formato json o xml), che possono essere elaborati (ma non utilizzati in senso API).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top