Domanda

C'è una polemica che vedo in utilizzando le API Web (servizio RESTful) per accedere infrastracture remoto. Le sarei grato, se si potesse lasciare un commento, esso. La raccomandazione proveniente dal articolo "RESTful Web Services vs "grandi" Web Services: Rendere la decisione architettonica destra" [1] è quello di utilizzare le API Web piuttosto per l'integrazione ad hoc (a la' mashup) e la prototipazione rapida. Studi empirici effettuati in [2] mostra questi raccomandazione è seguita in scenarious di riutilizzare le informazioni e le funzionalità esistenti. Tuttavia, ri-utilizzando l'infrastruttura con le API Web non si adatta bene al compito di integrazione ad hoc. La mia impressione è piuttosto che l'infrastruttura è di solito ri-utilizzato in scenari in cui le risorse che ho non scala bene per il problema che voglio risolvere: gran numero di dati, elevata larghezza di banda, concorrenza elevata. Tuttavia, Amazon fornisce l'accesso remoto alla propria infrastruttura (spazio di archiviazione, il messaggio queueuing) sia attraverso:

  • Web service SOAP classica (cosiddetti servizi Web Grandi) e
  • illuminazione servizi Web RESTful (così chiamato Web API).

Anche se non c'è nulla di scritto se i clienti (descritti in casi di studio di Amazon Web Services) impiegano i servizi Web Grandi o Web API, il fatto che Amazon offre l'accesso al proprio infrastracture in forma di API Web come alternativa deve essere significativo.

Sapete cosa può essere la loro motivazione? Sapete tutti i casi in cui le persone riutilizzati infrastracture solo per la prototipazione rapida? O forse per il test? In altre parole, se mi piacerebbe ri-utilizzo delle infrastrutture offerte dal Amazon, che lo stile API devo usare SOAP o REST in quali ad esempio situazioni?

EDIT: Anche in questo caso un'infrastruttura che volevo dire: lo spazio di archiviazione, potenza di calcolo, la larghezza di banda Internet. Così mi chiedo se tali risorse vengono riutilizzati nel processo di integrazione ad hoc.


  1. Cesare Pautasso, Olaf Zimmermann, Frank Leymann, RESTful Web Services vs "grandi" Web Services:. Rendere la decisione architettonica Destra , pp 805-814, Jinpeng Huai, Robin Chen , Hsiao-Wuen Hon, Yunhao Liu, Wei-Ying Ma, Andrew Tomkins, Xiaodong Zhang (Ed.), Atti del 17 ° Internazionale World Wide Web Conference , ACM Press, Pechino, Cina, aprile 2008 .

  2. Hartmann, Bjorn & Doorley, Scott & Klemmer, Scott R., Hacking, schiacciare, incollaggio: Comprendere Opportunistic design , IEEE Pervasive Computing , vol. 7, n. 3, 46-54 (2008).

È stato utile?

Soluzione

La chiave per capire quale versione utilizzare sta nel capire una cosa - se avete bisogno di eseguire operazioni complesse attraverso il web con gerarchie di oggetti profondamente radicate, allora si sono effettivamente costretti ad utilizzare i servizi web. RIPOSO è eccezionalmente capace quando si tratta di eseguire operazioni semplici, ma operazioni complesse rompere fuori della sua competenza.

Io di solito piace immaginare sistemi RESTful come quelle che posso testare solo invocando un comando attraverso la barra dei comandi del browser. applicazioni RESTful sono davvero facili da testare, e sono generalmente molto adatto per testare via beffardo.

Altri suggerimenti

Credo che quando si parla di sfruttare l'infrastruttura esistente con i servizi web RESTful significano che possono usare cose esistenti pensati per il web, piuttosto che dover utilizzare software appositamente costruito per i servizi web. Per esempio se ho un servizio Web mediante REST posso approfittare di cose come caching proxy HTTP, dove poter ottenere la funzionalità equivalente con SOAP avrei bisogno di qualcosa specializzata.

REST è infinitamente più facile da usare rispetto SOAP. FWIW, Google non usa più SOAP, REST è tutto.

L'unico vantaggio per SOAP è che si ottiene oggetti da utilizzare a destra, fuori dalla scatola. Con il riposo, vi sia bisogno di un quadro, come JAX-RS, per creare questi oggetti per te, o analizzare manualmente.

Un altro enorme vantaggio di riposo, è che si può effettivamente vedere le richieste nei log di accesso. La maggior parte delle richieste SOAP POST per l'esatto stesso endpoint, quindi è una tonnellata di più per determinare ciò che si stava tentando di fare. D'altra parte, RESTO tipicamente messaggi a endpoint specifici, in modo da poter effettivamente colpire dal vostro web browser w / o la necessità di un'applicazione di fantasia.

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