Differenza tra API Web e servizio Web?

81

Ho sentito parlare molto di Web Services e Web API, c'è qualche differenza tra loro o sono gli stessi?

    
posta Harish Kurup 21.01.2011 - 15:12
fonte

3 risposte

83

Servizi Web - definito dallo standard W3C, in modo che possano essere accessibili in modo semi-automatico o automatico (WSDL / UDDI). Il tutto è basato su XML, quindi chiunque può chiamarlo. E ogni aspetto del servizio è molto ben definito. Vi sono la descrizione dei parametri standard, il passaggio dei parametri standard, lo standard di risposta, lo standard di rilevamento, ecc. Ecc. Probabilmente si potrebbe scrivere un libro di 2000 pagine che descriva lo standard. Ci sono persino alcuni standard "aggiuntivi" per fare cose "standard", come l'autenticazione.

Nonostante il fatto che invocazione automatica e scoperta stiano funzionando a malapena perché i clienti sono piuttosto scadenti e non si ha alcuna garanzia reale che qualsiasi servizio possa essere chiamato da qualsiasi client.

L'API Web viene tipicamente eseguita come HTTP / REST, non viene definito nulla, l'output può essere ad esempio. JSON / XML, l'input può essere XML / JSON / o dati semplici. Non ci sono standard per niente = > nessuna chiamata automatica e scoperta. Puoi fornire una descrizione nel 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 informazioni semplici e tu definirai tutto il resto.

Il Web sta passando a Web API / REST. I servizi Web non sono davvero migliori dell'API Web. Molto complicato da sviluppare e mangia molte più risorse (larghezza di banda e RAM) ... e a causa di tutte le conversioni di dati (REQUEST- > XML- > DATA- > RESPONSE- > XML- > VALIDATION- > CONVERSION - > DATA) sono molto lenti.

Eg. In WebAPI è possibile comprimere i dati, inviarli compressi e decomprimi + decomprimi sul client. In SOAP è possibile comprimere solo la richiesta HTML.

    
risposta data 21.01.2011 - 19:16
fonte
20

Un servizio Web consente alle macchine di comunicare tramite HTTP. Un'API Web è un sottoinsieme di servizi Web che utilizzano le convenzioni REST (Riepilogando l' articolo di Wikipedia ). I concetti si sovrappongono definitivamente. Credo che ci sia ancora un collegamento nella mente di molti dei servizi web - > SOAP / XML-RPC che può inutilmente confondere questioni.

Alla fine, dovrai fare alcune domande per chiarire cosa intendono le persone. Non tutti fanno una distinzione o usano i termini in modo intercambiabile.

    
risposta data 21.01.2011 - 15:50
fonte
6

I servizi Web sono un'architettura definita e un approccio a un dominio problematico, come indicato dal W3C .

Web services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or framework

L'API Web è un concetto e astrae i mezzi su come il concetto è implementato.

In parole povere ... l'API web è per motore mentre WS è per BMW N53 .

    
risposta data 21.01.2011 - 18:17
fonte

Leggi altre domande sui tag