Erinevus REST ja SOAP vahel

Sissejuhatus

Selles artiklis käsitletakse kahte veebiteenuse juurdepääsu protokolli, SEEP (“Lihtne objektile juurdepääsu protokoll”) ja PUHKUS („Esinduslik riigiülekanne”).

Veebiteenused

Veebiteenused on määratletud selleks, et aktiivselt tõmmata, lugeda või edastada andmeid määratletud allikast, et saada kindlaksmääratud tulemus - tulemus.

Järgmine algeline näide näitab veebiteenuste põhikasutust enne, kui saate aru, kuidas andmeid veebiteenusele ja sealt edasi kantakse, kasutades SOAP-i või REST-i.

Kui arendaja kirjutab rakenduse, mis nõuab andmete arvutamist ühes kohas, kirjutab arvutusmeetod koodi ühte kohta. Kui aga andmete arvutamist on vaja rakenduse teistes osades, oleks ebaefektiivne ja ebapraktiline säilitada, kui arendaja paigutaks arvutusmeetodi igasse vajalikku valdkonda..

Selle meetodi ühe muudatuse tegemiseks oleks vaja leida kõik redigeerimise (ja uuesti testimise) esinemisjuhud. Selle stsenaariumi jaoks oleks kasulik veebiteenuse kasutamine optimaalseks toimimiseks ja äritegevuse paindlikkuse suurendamiseks.

Luues ühe juurdepääsetavate meetoditega veebiteenuse liitmiseks, lahutamiseks, jagamiseks ja korrutamiseks, seob rakendus selle veebiteenusega alati, kui on vaja andmete arvutamist; see kutsub veebiteenindust tegema arvutused ja andma tulemuse. Seega on andmete arvutamise meetodi hoidmiseks arendajal ainult üks koht.

Andmete veebiteenustes käsitlemise viis sõltub sellest, kas rakendatakse SOAP või REST.

SOA ja BPMN

Käivitatavatele protsessidele üles ehitatud rakendus põhineb a Teenustele orienteeritud arhitektuur (“SOA”). See on lähenemisviis teenuste kasutamisele, mis edastab, toodab, valideerib või arvutab andmeid.

SOA on muutumas üha soodsamaks arenduskvaliteedi ja aja parandamiseks ning rakenduste toimivuse ja mastaapsuse parandamiseks.

Äriprotsesside modelleerimise märge (BPMN) on teenuse või äriprotsessi modelleerimine, mida saavad teha mittetehnilised inimesed, st ärianalüütik. Kasutades BPMN, ärimudeleid (teenuste jaoks) saavad arendajad, kes rakendavad mudelit käivitatava protsessina, hõlpsalt tõlgendada ja need protsessid võivad vajada või mitte nõuda inimeste sekkumist.

Lihtne objektile juurdepääsu protokoll (SOAP)

SOAP on meetod andmete edastamiseks Interneti kaudu.

Algselt Microsofti poolt välja töötatud Interneti tuleku tõttu asendas SOAP vana DCOM ja CORBA tehnoloogiaid ja see on kestnud palju kauem kui REST.

SOAPi peetakse REST-ist raskemaks, st andmete edastamiseks on vaja rohkem pagasit, mis tähendab, et ühe sõnumitaotluse jaoks on vaja rohkem ribalaiust ning andmeallika ja sihtmärkide jaoks on andmete pakkimisel ja vastuvõtmisel rohkem tööd..

SOAP kasutab ainult XML Interneti-põhiste sõnumiteenuste jaoks ja XML-sõnumite päringud võivad olla väga keerulised ja kui neid käsitsi välja töötada, on vaja hoolikat tähelepanu, kuna SOAP on veatu paindlik.

SOAP-sõnumitaotlusi on võimalik automatiseerida .NET-keelte abil (näiteks), kus arendajad ei pea XML-iga töötama, kuna see genereeritakse taustal automaatselt.

Kui sõnumitaotlusega ilmneb probleeme, tagastatakse sõnumivastuses üksikasjalik veateave ja seda protsessi saab ka automatiseerida, viidates sõnumivastuses pakutavatele standardsetele veakoodidele.

Seetõttu on kasutatav programmeerimiskeel määravaks teguriks, kui keeruline on SOAPi rakendamine.

Üks SOAP-teatega kaasasolevatest pagaritükkidest on Veebiteenuste kirjelduskeel (“WSDL”) veebiteenuse toimimise selgitamiseks. Kui rakendus viitab veebiteenusele, loeb ta ja saab aru, mida veebiteenusega teha.

SOAP ei ole kohustatud kasutama HTTP (HyperText Transfer Protocol) eranditult; seda saab kasutada SMTP ja muude transpordiprotokollide kaudu.

Kuna SOAP standardiseeriti, on see jäigem kui REST, ehkki mõlemad sõltuvad kehtestatud reeglitest.

PUHKUS

REST on SOAPi uuem ja klanitud nõbu ning sellest saab kiiresti enamiku veebi- ja mobiilirakenduste valik.

Rohkem kui kümme aastat pärast kasutuselevõttu on REST veebiteenustega hõlpsam, hooldatavam ja skaleeritavam viis..

Erinevalt SOAP-ist REST ei kasuta XML eranditult; lihttekst, CSV, ja RSS saab kasutada, aga ka JSON AJAX-kõnede jaoks; kui nii allikas kui ka sihtmärgid saavad kasutatavatest vormingutest aru.

REST on vähem keeruline ja seda peetakse väiksemaks õppimiskõveraks, kui võrrelda SOAP-iga. Enamikel tänapäevastel programmeerimiskeeltel on REST (RESTful) teenuste hõlbustamiseks teegid ja raamistikud, näiteks C #, Python, Java ja Perl.

REST on kiirem tänu minimaalsele töötlemisele ja on tõhusam erinevate sõnumivormingute kasutamisel.

Mõlemal on eeliseid ja puudusi, nii et kasutatava pääsuprotokolli kaalumisel kaaluge organisatsioonis kasutatavaid programmeerimiskeeli, rakenduse keskkonda ja rakenduse nõudeid.