Kas ir REST un SOAP
REST (Representational State Transfer) ir arhitektūras stils, kas izmanto standarta HTTP metodes (GET, POST, PUT, DELETE), lai mijiedarbotos ar resursiem, kurus identificē URL. Tas ir viegls, bezstāvokļa un dabiski strādā ar JSON, kas padara to par noklusējuma izvēli lielākajai daļai modernu tīmekļa un mobilo aplikāciju.
SOAP (Simple Object Access Protocol) ir protokols ar stingriem standartiem. Tas izmanto tikai XML, prasa WSDL (Web Services Description Language) līgumu un atbalsta iebūvētu kļūdu apstrādi, drošību (WS-Security) un darījumu pārvaldību. Tas ir smagāks, bet stingrāks.
Veiktspēja un datu formātu salīdzinājums
REST parasti darbojas labāk tīmeklim orientētām aplikācijām. JSON datu pakas ir mazākas par XML, parsēšana ir ātrāka un kešošana dabiski darbojas caur HTTP galvenēm. Mobilai lietotnei, kas veic simtiem API izsaukumu, atšķirība ir ievērojama.
SOAP ir lielāka papildslodze katram pieprasījumam XML aploksnes struktūras un apstrādes dēļ. Tomēr tas efektīvi atbalsta bināros datu pielikumus (MTOM) un nodrošina iebūvētas kompresijas iespējas. Lielapjoma datu pārsūtīšanai starp aizmugursistēmām veiktspējas atšķirība ievērojami samazinās.
Drošība un uzticamība
REST balstās uz transporta līmeņa drošību (HTTPS/TLS) un uz marķieriem balstītu autentifikāciju (OAuth 2.0, JWT). Tas ir pietiekami vairumam aplikāciju. SOAP piedāvā WS-Security, kas nodrošina ziņojumu līmeņa drošību. Tas nozīmē, ka pats ziņojums ir šifrēts un parakstīts, ne tikai transporta kanāls. Finansu pakalpojumiem, veselības aprūpei un valdības sistēmām, kur ziņojumi iet caur vairākiem starpniekiem, šī atšķirība ir būtiska.
SOAP arī atbalsta WS-ReliableMessaging un WS-AtomicTransaction garantētai piegādei un sadalītiem darījumiem. REST nav līdzīga iebūvēta mehānisma, lai gan var manuāli ieviest atkārtojumu loģiku un idempotences modeļus.
Kad izvēlēties kuru
Izmantojiet REST, veidojot publiskas API, mobilo lietotņu aizmugursistēmas, vienas lapas aplikācijas, mikropakalpojumu arhitektūras vai jebkuru sistēmu, kur izstrādātāju pieredze un vienkāršība ir svarīga. REST ir ātrāk ieviešams, vieglāk atkļūdojams un tam ir labāks rīku atbalsts visās programmēšanas valodās.
Izmantojiet SOAP, strādājot ar uzņēmumu sistēmām, kam nepieciešami formāli līgumi, banku un maksājumu apstrādi ar stingrām atbilstības prasībām, mantotās sistēmas integrāciju, kur SOAP galapunkti jau eksistē, vai scenārijiem, kam nepieciešams iebūvēts darījumu atbalsts. iConcept strādā ar abiem. Daudziem mūsu uzņēmumu klientiem ir esošas SOAP sistēmas viņu banku vai ERP sistēmās. Mēs būvējam modernas REST API viņu klientiem paredzētajām aplikācijām un veidojam integrācijas slāņus, kas tīri savieno abas pasaules.
