Questo probabilmente appartiene davvero ai commenti in molti dei post sopra, ma non ho ancora il rappresentante per farlo, quindi ecco qui.
Penso che sia interessante che molti dei pro e dei contro spesso citati per SOAP e REST abbiano (IMO) molto poco a che fare con i valori o i limiti effettivi delle due tecnologie. Probabilmente il pro più citato per REST è che è "leggero" o tende ad essere più "leggibile dall'uomo". A un livello questo è certamente vero, REST ha una barriera inferiore all'ingresso - c'è una struttura meno richiesta di SOAP (anche se sono d'accordo con coloro che hanno detto che un buon tooling è in gran parte la risposta qui - peccato che gran parte degli strumenti SOAP sia piuttosto terribile).
Tuttavia, al di là del costo di ingresso iniziale, penso che l'impressione REST derivi da una combinazione della forma degli URL di richiesta e della complessità dei dati scambiati dalla maggior parte dei servizi REST. REST tende a incoraggiare URL di richiesta più semplici e più leggibili dall'uomo e anche i dati tendono ad essere più digeribili. In che misura, tuttavia, sono inerenti a REST e in che misura sono semplicemente accidentali. La struttura URL più semplice è un risultato diretto dell'architettura, ma potrebbe essere ugualmente ben applicata ai servizi basati su SOAP. È più probabile che i dati più digeribili siano il risultato della mancanza di una struttura definita. Ciò significa che faresti meglio a mantenere semplici i formati dei dati o dovrai lavorare molto. Quindi qui la struttura aggiuntiva di SOAP,
Quindi per l'uso nello scambio di dati strutturati tra sistemi informatici non sono sicuro che REST sia intrinsecamente migliore di SOAP (o viceversa), sono semplicemente diversi. Penso che il confronto sopra tra REST e SOAP con la digitazione dinamica e quella statica sia buono. Dove i linguaggi dinmici tendono ad avere problemi è nella manutenzione a lungo termine e nella manutenzione di un sistema (e a lungo termine non sto parlando di un anno o 2, sto parlando di 5 o 10). Sarà interessante vedere se REST incontra le stesse sfide nel tempo. Tendo a pensare che lo sarà, quindi se dovessi costruire un sistema di elaborazione delle informazioni distribuito, graviterei su SOAP come meccanismo di comunicazione (anche a causa della trasmissione e della stratificazione del protocollo applicativo e della flessibilità che offre, come è stato menzionato sopra).
In altri posti, però, REST sembra più appropriato. AJAX tra il client e il suo server (indipendentemente dal payload) è un importante esempio. Non mi interessa molto la longevità di questo tipo di connessione e la facilità d'uso e la flessibilità sono al minimo. Allo stesso modo, se avessi bisogno di un accesso rapido a qualche servizio esterno e non pensavo che mi sarei preoccupato della manutenibilità dell'interazione nel tempo (di nuovo presumo che questo sia il punto in cui REST finirà per costarmi di più, in un modo o un altro), quindi potrei scegliere RIPOSO solo per poter entrare e uscire rapidamente.
Ad ogni modo, sono entrambe tecnologie praticabili e, a seconda dei compromessi che vuoi fare per una data applicazione, possono servirti bene (o male).