Razlika med REST in SOAP

Uvod

Ta članek obravnava dva protokola za dostop do spletnih storitev, MALO ("Enostavni protokol za dostop do predmetov") in POČITI („Reprezentativni prenos države“).

Spletne storitve

Spletne storitve so opredeljene za aktivno pridobivanje, branje ali prenos podatkov iz določenega vira, da se ustvari določen rezultat - rezultat.

Naslednji osnovni primer prikazuje osnovno uporabo spletnih storitev, preden razumete, kako se podatki prenašajo v spletno storitev in iz nje z uporabo SOAP ali REST.

Če razvijalec na eno mesto napiše aplikacijo, ki zahteva nekaj izračuna podatkov, bo metoda zapisa zapisala v kodo na to mesto. Če pa je izračun podatkov potreben v drugih delih aplikacije, bi bilo neučinkovito in nepraktično vzdrževati, če bi razvijalci način izračuna postavil na vsa področja, ki jih potrebujejo.

Če želite spremeniti to metodo, bi bilo treba najti vsak primerek za urejanje (in ponovno preskušanje). Ta scenarij bi koristil uporabi spletne storitve za optimalno delovanje in izboljšanje poslovne okretnosti.

Z ustvarjanjem ene spletne storitve z dostopnimi metodami za dodajanje, odštevanje, deljenje in množenje bo aplikacija sodelovala s to spletno storitvijo, kadar koli je potreben izračun podatkov; pozove spletno storitev, da opravi izračun in ustvari rezultat. Torej je razvijalcu na voljo le eno mesto za vzdrževanje metode izračuna podatkov.

Način ravnanja s podatki v spletnih storitvah določa, ali se izvaja SOAP ali REST.

SOA in BPMN

Aplikacija, zgrajena na izvedljivih procesih, temelji na a Storitveno usmerjena arhitektura (»SOA«). Gre za pristop, kako uporabljati storitve, ki prenašajo, proizvajajo, potrjujejo ali izračunavajo podatke.

SOA postaja vse bolj ugodno izboljšati kakovost in čas razvoja ter izboljšati uspešnost in razširljivost aplikacij.

Zapis o modeliranju poslovnih procesov („BPMN“) modelira storitev ali poslovni proces, ki ga lahko opravijo netehnični ljudje, tj. Poslovni analitik. Uporaba BPMN, razvijalci, ki model izvajajo kot izvršljiv postopek, poslovne modele (za storitve) zlahka razlagajo, ti procesi pa lahko zahtevajo ali ne zahtevajo človekove interakcije.

Enostaven protokol za dostop do objekta (SOAP)

SOAP je način prenosa podatkov po internetu.

Prvotno jih je razvil Microsoft zaradi pojava interneta, SOAP je nadomestil staro DCOM in CORBA tehnologij in je že precej dlje kot REST.

SOAP velja za težjega kot REST, tj. Za prenos podatkov je potrebnih več prtljage, kar pomeni, da je potrebna večja pasovna širina na zahtevo po sporočilu, vir podatkov in cilji pa imajo še več dela pri pakiranju in prejemanju podatkov.

SOAP uporablja samo XML za storitve sporočanja prek interneta in zahteve po sporočilu XML so lahko zelo zapletene, če pa jih razvijamo ročno, je potrebna skrbna pozornost, ker SOAP ni prilagodljiv napakam.

Možno je avtomatizirati zahteve za sporočila SOAP s pomočjo jezikov .NET (kot primer), kjer razvijalcem ni treba delati z XML, saj se samodejno ustvarja v ozadju.

Če se pri zahtevi za sporočilo pojavijo kakršne koli težave, se v odgovoru sporočila vrnejo podrobne informacije o napaki, ta postopek pa je mogoče avtomatizirati tudi s sklicevanjem na standardne kode napak, navedene v odgovoru na sporočilo.

Zato je uporabljeni programski jezik odločilni dejavnik, kako težko bo izvajati SOAP.

Eden od kosov prtljage, ki spremlja sporočilo SOAP, je Opis spletnih storitev Jezik ("WSDL"), da pojasni, kako deluje spletna storitev. Ko se aplikacija sklicuje na spletno storitev, prebere in razume, kaj storiti s spletno storitvijo.

SOAP ni vezan na uporabo HTTP (HyperText Transfer Protocol) izključno; lahko se uporablja prek SMTP in drugih transportnih protokolov.

Ker je bil SOAP standardiziran, je tožji od REST-a, čeprav sta oba odvisna od ustaljenih pravil.

POČITI

REST je novejši in elegantnejši bratranec SOAP-a in hitro postaja izbira za večino spletnih in mobilnih aplikacij.

Več kot desetletje po uvedbi je REST lažji, bolj vzdržen in razširljiv način interakcije s spletnimi storitvami.

Za razliko od SOAP-a, REST ne uporablja XML ekskluzivno; golo besedilo, CSV, in RSS se lahko uporablja, kot tudi JSON za klice AJAX; dokler lahko izvor in cilji razumejo uporabljene formate.

REST je manj zapleten in velja za manjšo krivuljo učenja kot v primerjavi z SOAP. Večina sodobnih programskih jezikov ima knjižnice in okvire za lažje storitve REST (RESTful), kot so C #, Python, Java in Perl.

REST je hitrejši zaradi minimalne obdelave in učinkovitejši z uporabo različnih formatov sporočil.

Oba imata prednosti in slabosti, zato pri razmisleku, kateri protokol dostopa uporabiti, upoštevajte programske jezike, ki se uporabljajo v organizaciji, aplikacijsko okolje in zahteve aplikacije.