SOAP WS supporta sia gli stili di integrazione delle chiamate di procedura remota (cioè RPC) che del middleware orientato ai messaggi (MOM). Restful Web Service supporta solo lo stile di integrazione RPC.
SOAP WS è neutrale rispetto al protocollo di trasporto. Supporta più protocolli come HTTP (S), Messaggistica, TCP, UDP SMTP, ecc. REST è specifico del protocollo di trasporto. Supporta solo i protocolli HTTP o HTTPS.
SOAP WS consente solo il formato dati XML. Si definiscono le operazioni, che passano attraverso il POST. L'attenzione si concentra sull'accesso alle operazioni denominate e sull'esposizione della logica dell'applicazione come servizio. REST consente più formati di dati come XML, dati JSON, testo, HTML, ecc. È possibile utilizzare qualsiasi browser poiché l'approccio REST utilizza le operazioni Web standard GET, PUT, POST e DELETE. L'obiettivo è l'accesso alle risorse denominate e l'esposizione dei dati come servizio. REST ha il supporto AJAX. Può utilizzare l'oggetto XMLHttpRequest. Ideale per operazioni CRUD (Crea, Lettura, Aggiorna ed Elimina) senza stato. GET - rappresenta () POST - acceptRepresention () PUT - storeRepresention () DELETE - removeRepresention ()
Le letture basate su SOAP non possono essere memorizzate nella cache. Le letture basate su REST possono essere memorizzate nella cache. Funziona e scala meglio. SOAP WS supporta sia la sicurezza SSL che WS-security, che aggiunge alcune funzionalità di sicurezza aziendale come mantenere la sicurezza fino al punto in cui è necessario, mantenere le identità tramite intermediari e non solo punto a punto solo SSL, proteggendo parti diverse del messaggio con diversi algoritmi di sicurezza, ecc. REST supporta solo la sicurezza SSL point-to-point. SSL crittografa l'intero messaggio, sia che sia sensibile o meno. SOAP offre un supporto completo sia per la gestione delle transazioni basata su ACID per transazioni di breve durata che per la gestione delle transazioni basate sulla compensazione per transazioni di lunga durata. Supporta anche il commit in due fasi tra le risorse distribuite. Il REST supporta le transazioni,
SOAP ha una logica di successo o ripetizione incorporata e fornisce affidabilità end-to-end anche tramite intermediari SOAP. REST non dispone di un sistema di messaggistica standard e si aspetta che i client che invocano il servizio gestiscano gli errori di comunicazione riprovando.
fonte http://java-success.blogspot.in/2012/02/java-web-services-interview-questions.html