Non puoi confrontare REST e SOAP. REST è uno stile architettonico mentre SOAP è un protocollo.
Sfortunatamente, REST è diventato un sinonimo colloquiale sinonimo di servizio HTTP RESTful, ovvero una realizzazione dell'architettura in stile REST con protocollo HTTP come (applicazione).
REST si basa sui seguenti principi (vincoli ed elementi) (tra parentesi la realizzazione in HTTP RESTful) [1] .
- Stateless (HTTP è un protocollo stateless)
- Risorsa (identificata dagli URI)
- Interfaccia uniforme (metodi HTTP)
- Rappresentazione (MIME-TYPE)
- HATEOS (collegamenti ipertestuali)
- Cache (cache HTTP)
Dall'altro lato, molte persone intendono dire SOAP un servizio web basato su WSDL e SOAP che fanno parte dell'architettura del servizio web W3C [2] .
- SOAP viene utilizzato come protocollo per lo scambio di informazioni (fondamentalmente nome del metodo, parametri, valori di ritorno, tipi di dati, ...).
- WSDL una lingua di definizione dell'interfaccia per descrivere il servizio Web.
What is the present-day significance of SOAP*?
SOAP è uno standard W3C ed è utilizzato come formato di scambio di informazioni nei servizi Web W3C. Quei servizi web erano - specialmente durante l'hype delle SOA (archi- tetture orientate ai servizi) intorno al 2008 (+ - 3 anni) - e (sfortunatamente) sono ancora implementati principalmente nelle applicazioni aziendali.
Questo ha diverse ragioni. Allora HTTP RESTful non era ben noto ed è stato frainteso. Sfortunatamente, è ancora incompreso per dare un'occhiata alle altre risposte
„[...]REST is much more limited than SOAP[...].“
„The primary purpose of REST is to represent resources on the Internet[...].“
Inoltre, SOAP (e WSDL) fanno parte dello stack di protocolli del servizio Web W3C che fornisce ancora più standard per l'implementazione di un servizio Web.
Are people still developing new SOAP-based APIs, or it's mostly a
legacy now?
Quindi sì, ci sono ancora e ci saranno anche nei sistemi futuri là fuori che stanno usando SOAP (almeno nei sistemi aziendali, soprattutto dietro le porte). Ma la maggior parte sta cercando di fare una specie di "REST" al giorno d'oggi.
Can someone please correct me if I am wrong about this difference
between SOAP and REST?
Dire REST è un'architettura stateless più flessibile per il trasferimento dei dati non è una buona spiegazione. REST semplicemente parlato è uno stile di architettura con vincoli ed elementi specifici. Considerando che SOAP è un protocollo di scambio di informazioni.
Come ho già scritto, non puoi confrontarli. Ma puoi confrontare un servizio Web HTTP RESTful con un servizio Web SOAP / WSDL.