Vulete ligà a vostra app à Facebook per pudè generà posti automaticamente, o à Instagram per pudè ripostà e foto cù certi hashtags?
Puderete ancu vulete include video di YouTube in u vostru situ web. L'interfacce di prugrammazione di l'applicazioni permettenu di realizà tutte queste attività è più (API).
Differenti applicazioni ponu "parlà" unu à l'altru in modu sicuru è standardizatu grazia à l'API cum'è l'API Instagram, l'API Facebook è l'API YouTube.
In altri palori, un prugramma pò piglià funzioni o dati da un altru pezzu di software è l'utilizanu per migliurà e so caratteristiche o l'esperienza d'utilizatore. Ma cumu l'applicazioni ponu fà queste dumande, processà, è risponde à elli in una manera chì l'altri ponu capisce?
Questu dipende da cumu hè stata creata l'API. Quandu si parla di disinni di l'API (interfaccia di prugrammazione di l'applicazione), hè di solitu paragunà SOAP versus REST, dui di i paradigmi API più prominenti.
Appena l'API SOAP (Simple Object Access Protocol) hè diventatu u standard d'oru per imprese cum'è Oracle, Sun è PayPal, ci era una risposta uguale è opposta un annu o più tardi versu l'API REST da Google, Amazon è eBay.
In questu post, paragunemu è cuntrasteremu l'API SOAP cù l'API REST per pudè decide quale hè megliu per i vostri scopi.
Cuminciaremu per definisce l'API.
Chì ghjè l'API?
L'interfaccia di prugrammazione di l'applicazione hè chjamata API. L'API sò essenzialmente una cullizzioni di metudi è funzioni chì permettenu u sviluppu di app. Anu accessu à l'infurmazioni è e funzioni di diversi prugrammi, servizii, o sistemi operativi.
Servinu cum'è una sorta di intermediari trà diversi sistemi di software. Permettenu "parlà" trà dui prugrammi micca cunnessi.
Pigliemu l'esempiu di un agente di borsa chì hè attivamente implicatu in u cummerciu è i mercati finanziarii. Una cullizzioni di automatizati algoritmi di cummerciu pò esse cunnessu à a piattaforma di broker di cummerciale preferita di u trader attraversu una API. Questu permette à voi, u trader, di eseguisce transazzioni elettroniche o vede quotazioni in tempu reale è dati di prezzi.
Cosa hè REST?
I veri "servizi web" API includenu REST (Trasferimentu di u Statu di Rappresentazione). L'API REST sò custruiti nantu à URI (Uniform Resource Identifiers, di quale un URL hè un tipu speciale), u protocolu HTTP, è u formatu di dati JSON incredibbilmente compatibile cù u navigatore.
U protocolu SOAP, cum'è avemu digià dichjaratu, puderia ancu esse usatu. L'API REST ponu esse faciuli di creà è di cultivà, ma ponu ancu esse enormi è difficili - tuttu dipende di cumu si sò creati, espansi, è ciò chì sò destinati à fà.
Limitazioni di risorse, esigenze di sicurezza ridotte, cumpatibilità di i clienti di u navigatore, scoprebilità, salute di dati è scalabilità sò alcuni motivi chì vulete sviluppà una API per esse RESTful - cose chì si applicanu in realtà à i servizii web.
REST offre una opzione più ligera. SOAP era difficiule d'utilizà è pesanti per parechji sviluppatori. Per esempiu, l'usu di SOAP cù JavaScript richiede di scrive assai codice per compie operazioni simplici postu chì a struttura XML necessaria deve esse creata ogni volta.
REST (tipicamenti) usa un URL simplice in u locu di una dumanda XML. Ancu s'ellu ci sò rari circustanze quandu avete da offre più dettagli, a maiò parte di i servizii web RESTful utilizanu solu a tecnica URL.
I quattru verbi HTTP 1.1 GET, POST, PUT è DELETE ponu esse utilizati da REST per fà operazioni. A cuntrariu di SOAP, REST ùn hà micca bisognu di a risposta per esse in XML.
I servizii web basati in REST chì emettenu dati in i formati Command Separated Value (CSV), JavaScript Object Notation (JSON) è Really Simple Syndication (RSS) sò dispunibili (RSS).
L'ughjettu hè chì pudete ottene i risultati chì avete bisognu in un furmatu faciule da analizà in a lingua chì aduprate per a vostra applicazione.
Features
- REST enfatiza a simplicità sopra tuttu, per via di i protokolli HTTP.
- U web hè megliu adattatu per REST. Hè compatible cù i navigatori perchè JSON hè utilizatu cum'è u formatu di dati.
- REST hè rinumatu per a so scalabilità è rapidità eccezziunale.
- E cunnessioni cliente-servitore è architetture sò resi più accessibili da l'API REST. S'ellu hè RESTful, hè custruitu cù stu mudellu cliente-servitore, cù viaghji di andata trà e dui partiti chì passanu carichi di dati.
- L'API REST impieganu una interfaccia standard solitaria. Assicurendu chì tutte l'applicazioni si cunnettanu uniformemente è attraversu a stessa porta, simplificà cumu l'applicazioni cumunicanu cù l'API.
Cosa hè SOAP?
U so propiu protokollu, chjamatu SOAP (Simple Object Access Protocol), hè un pocu più cumplicatu di REST, postu chì specifica più standardi, cumpresi quelli chì sò ligati à a sicurità è a spedizione di messagi.
Queste norme inerenti venenu cun un pocu di sopra sopra. In ogni casu, ponu esse un fattore decisivu per l'imprese chì necessitanu capacità più estese di sicurezza, transazzione è ACID (Atomicity, Consistency, Isolation, Durability).
Per a fine di sta paragone, hè impurtante nutà chì parechji di i benefici di SOAP ùn sò micca spessu appiicati à l'applicazioni di servizii web, facendu più adattati per scenarii di tipu d'impresa.
Gradi più altu di sicurità (cum'è quandu a mobile app interagisce cù un bancu), l'applicazioni di messageria chì necessitanu una cumunicazione affidabile, l'interazzione cù i sistemi legacy, o a conformità ACID sò uni pochi di motivi chì vulete cuncepisce una applicazione utilizendu una API SOAP.
E capacità di messageria offerte da SOAP sò interamente basate in XML. Tecnulugii antichi incompatibili cù l'internet cum'è u Modellu d'Oggettu di Componente Distribuita (DCOM) è l'Architettura di Broker di Richiesta d'Oggettu Cumunu sò stati rimpiazzati da SOAP quandu hè statu creatu prima da Microsoft (CORBA).
A fiducia di e cumunicazioni binari face chì questi sistemi fallenu. In Internet, a messageria XML cum'è quella utilizata da SOAP funziona megliu.
Features
- A sicurità di SOAP hè significativamente più stretta. WS-Security hè un standard integratu chì offre SOAP capacità di sicurezza supplementari à livellu di l'impresa se ne necessariu in più di u supportu SSL.
- Ragionamentu successu / riprova per un rendimentu di messageria affidabile. Perchè REST ùn manca un mecanismu di messagiu standardizatu, pò solu ripruvà quandu a cumunicazione falla. Ancu quandu si usa l'intermedi SOAP, SOAP offre una affidabilità end-to-end per via di a so logica integrata di successu / riprova.
- SOAP hè digià cumpletu cù i normi ACID. Dettandu cumu e transazzione ponu interagisce cù a basa di dati, a conformità ACID minimizza l'anomali è salvaguarda a coherenza di una basa di dati. Perchè ACID hè più prudente cà l'altri mudelli di coherenza di dati, hè spessu utilizatu in a gestione di transazzioni sensittivi, finanziarii o altri.
- Hè simplice per i programatori di capiscenu postu chì SOAP hè una cumunicazione totalmente basata in XML.
- U protocolu di messageria XML hè un aghjuntu à u protocolu HTTP.
- A cumunicazione da un computer à l'altru computer pò esse disseminata via messageria SOAP.
- L'architettura cliente-servitore pò ancu esse implementata. Un missaghju di protokollu SOAP pò esse usatu da u cliente per chjamà una chjama di prucedura remota chì si trova in u latu di u servitore.
REST Vs SOAP Differenze
1. Architettura
Un API hè destinatu à mustrà principalmente cumpunenti specifichi di a logica cummerciale di una applicazione in un servitore. Mentre REST usa l'URI per u listessu scopu, SOAP impiega una Interfaccia di serviziu per questu.
L'API REST sò creati dopu à i dati, mentri l'API SOAP sò sviluppati dopu à e funziunalità chì l'API illustra. Paragunatu à SOAP, chì hè più funziunamentu di funzioni, REST hè un disignu più guidatu di dati.
2. Caching
I dati chì sò stati marcati cum'è cacheable ponu esse utilizati da i navigatori di novu senza esse bisognu di fà una nova dumanda à u servitore. U risparmiu di tempu è sforzu hè un benefiziu di questu.
I risposti ùn saranu micca cache à u livellu HTTP postu chì e dumande SOAP sò inviate via richieste POST, chì u standard HTTP considera micca idempotente. Se vulete impiegà a cache, duvete ancu custruisce e tecniche necessarie postu chì l'API REST ùn includenu micca sta implementazione.
3. Resources & Bandwidth
A causa di u trasferimentu di carichi utili in stile di busta utilizatu da SOAP, ci hè un modestu aumentu di l'overhead, chì necessita una larghezza di banda extra. A natura ligera di REST hè un benefiziu in queste situazioni perchè hè generalmente utilizatu per i servizii web.
4. Sistemi
A WS-security, chì SOAP sustene è hè un pocu più cumpletu di SSL à u nivellu di trasportu, hè desideratu. L'incorporazione di misure di sicurezza à livellu di l'impresa hè ancu perfetta.
A criptografia end-to-end cù SSL hè supportata da SOAP è REST, è REST pò aduprà HTTPS, a variante sicura di u protocolu HTTP.
5. Handling Payloads
I dati trasmessi à traversu l'Internet sò riferiti cum'è payload. Una carica utile chì hè cunsiderata "pesante" hà bisognu di risorse supplementari. Paragunatu à SOAP, chì utilizeghja XML, REST spessu usa JSON è HTTP per aiutà à diminuisce a carica.
Una biblioteca di Clienti specializata cù codice generatu deve esse tipicamente utilizata da u Cliente per accede à l'API SOAP per via di u so cuntrattu di cumunicazione estremamente strettu.
In u risultatu, SOAP offre un livellu di astrazione menu di REST è hè più strettamente cunnessu cù u servitore.
Quandu aduprà REST?
- Creazione di API publichi: L'API REST sò preferite per a custruzzione di servizii web publichi perchè sò veduti per esse più simplici d'utilizà è aduttà cà l'API SOAP. Inoltre, SOAP offre parechje misure di sicurezza integrate chì REST ùn hà micca, ancu s'è queste caratteristiche ùn sò micca richieste quandu si travaglia cù dati è servizii aperti.
- Custruisce app mobile: REST hè perfettu per custruisce applicazioni mobili postu chì hè chjucu, efficace, senza statu è cacheable.
- Utilizendu risorse scarse di u servitore è larghezza di banda: Tutte e dumande à una API REST devenu esse senza statu, chì significa chì ogni interazzione hè separata è ogni dumanda è risposta cuntene tutte e dati necessarii per cumpiendu quella interazzione. U servitore ùn salva micca i registri di e dumande precedente postu chì tratta ognuna cum'è una nova dumanda. In u risultatu, u servitore necessita assai menu memoria è opera più rapidamente perchè una dumanda ùn necessita micca più azzione o a ricuperazione di dati storichi.
Quandu aduprà SOAP?
- Creazione di API privati, in particulare per i grandi imprese: SOAP hè perfettu per l'applicazioni corporative postu chì permette u flussu di dati in un ambiente decentralizatu, distribuitu è cuntene parechje funzioni di sicurezza in linea.
- Utilizà un protokollu di trasportu altru ch'è HTTP cum'è a capa sottostante: SOAP ùn hè micca dipendente da HTTP cum'è a capa sottostante. Sicondu a vostra applicazione, pudete aduprà SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), o un altru protocolu di trasportu.
- U travagliu cù operazioni stateful: In cuntrastu à e dumande à l'API REST, e dumande à l'API SOAP sò stateful, vale à dì chì u servitore salva l'infurmazioni nantu à u cliente è l'utiliza in una catena di richieste o operazioni. Ancu s'ellu usa più larghezza di banda è risorse di u servitore, hè cruciale per realizà azioni di rutina o ligate, cum'è trasferimenti bancari.
cunchiusioni
U paragone trà l'API REST è SOAP rende abbastanza evidenti chì REST hè preferibile à SOAP. Ancu ancu, ci sò situazioni induve l'API SOAP hè necessaria. In certi casi, i servizii web sò creati cumminendu REST è SOAP API.
Dunque, u casu d'usu determina quale stile API hà da travaglià u megliu.
Lascia un Audiolibro