REST i SOAP

Anonim

Uvod

Ovaj članak raspravlja o dva protokola pristupa web servisu, SAPUN ("Simple Object Access Protocol") i ODMOR ("Predstavnički državni prijenos").

Web usluge

Web usluge definiraju se kako bi aktivno dohvatili, čitali ili prenijeli podatke iz definiranog izvora kako bi se dobio određeni ishod - rezultat.

Sljedeći rudimentarni primjer pokazuje osnovnu upotrebu web usluga prije nego što razumije kako se podaci prenose na i iz web servisa, koristeći SOAP ili REST.

Ako programer piše aplikaciju koja zahtijeva izračun podataka na jednom mjestu, napisat će metoda izračuna u kodu, na tom jednom mjestu. Međutim, ako je izračun podataka potreban u drugim dijelovima aplikacije, bilo bi neučinkovito i nepraktično održavati se ako programer postavlja metodu izračuna u svakom području koje je potrebno.

Nakon što napravite jednu promjenu na tu metodu, morat ćete pronaći svaki primjer za uređivanje (i ponovno testiranje). Ovaj scenarij bi imao koristi od korištenja web servisa kako bi optimalno funkcionirala i poboljšala poslovnu agilnost.

Stvaranjem jedne web usluge s dostupnim metodama za dodavanje, oduzimanje, dijeljenje i razmnožavanje, aplikacija će se uključiti u tu web uslugu kad god je potrebno izračun podataka; poziva web uslugu da izračuna i proizvede rezultat. Dakle, za razvojnog programera postoji samo jedno mjesto za održavanje metode izračuna podataka.

Način na koji se podaci obrađuju u web uslugama određuje se primjenjuje li SOAP ili REST.

SOA i BPMN

Aplikacija izgrađena na izvršnim procesima temelji se na a Usluga usmjerena arhitektura („SOA”). To je pristup kako koristiti usluge koje prenose, proizvode, provjeravaju ili izračunavaju podatke.

SOA postaje sve povoljnija za poboljšanje kvalitete i vremena razvoja te poboljšava performanse aplikacije i skalabilnost.

Notacija za modeliranje poslovnih procesa ("BPMN") modeliranje usluga ili poslovnog procesa, što može učiniti ne-tehnički ljudi, tj. Poslovni analitičar. koristeći BPMN, poslovni modeli (za usluge) lako se interpretiraju razvojni programeri koji implementiraju model kao izvršni proces, a ti postupci mogu ili ne moraju zahtijevati ljudsku interakciju.

Jednostavni protokol pristupa objektu (SOAP)

SOAP je metoda prijenosa podataka preko interneta.

Izvorno razvijen od strane Microsofta zbog pojave interneta SOAP je zamijenio stare DCOM i CORBA tehnologija, a mnogo je duže nego REST.

SOAP se smatra teškim od REST tj. Više je prtljage potrebna za prijenos podataka, što znači da je potrebna veća propusnost po zahtjevu za poruke, a izvor podataka i ciljevi imaju više posla prilikom pakiranja i primanja podataka.

SOAP koristi samo XML za usluge razmjene poruka preko interneta i zahtjevi za XML poruke mogu biti vrlo složeni i ako se ručno izrade, potrebna je pažljiva pozornost jer je SOAP nefleksibilan s pogreškama.

Moguće je automatizirati SOAP poruke zahtjeva pomoću.NET jezika (kao primjer), gdje programeri ne moraju raditi s XML-om jer se automatski generiraju u pozadini.

Ako se problemi s porukama pojavljuju u vezi s porukama, u odgovoru poruka vraćaju se detaljne informacije o pogrešci, a taj proces se također može automatizirati pozivanjem na standardne šifre pogrešaka navedene u odgovoru poruka.

Stoga je programski jezik koji se koristi determinantan čimbenik u tome kako će biti teško implementirati SOAP.

Jedan od dijelova prtljage koji prati SOAP poruku je Opis jezika za web usluge ("WSDL") kako bi objasnio kako web usluga funkcionira. Kada se aplikacija odnosi na web-uslugu, ona čita i razumije što učiniti s web-uslugom.

SOAP nije vezan za upotrebu HTTP (HyperText Transfer Protocol) isključivo; može se koristiti preko SMTP i drugih transportnih protokola.

Budući da je SOAP bio standardiziran, on je krutiji od REST, iako oboje ovise o utvrđenim pravilima.

ODMOR

REST je novi i elegantniji rođak SOAP-a i brzo postaje izbor za većinu web i mobilnih aplikacija.

Više od desetljeća nakon uvođenja, REST je lakši, održivi i skalabilniji način interakcije s web uslugama.

Za razliku od SOAP, REST ne koristi XML isključivo; običan tekst, CSV, i RSS mogu se koristiti, kao i JSON za AJAX pozive; sve dok izvor i ciljevi mogu razumjeti formate koje se koriste.

REST je manje složen i smatra se manjom krivuljom učenja nego u usporedbi s SOAP-om. Većina modernih programskih jezika imaju knjižnice i okvire za olakšavanje REST (RESTful) usluga, kao što su C #, Python, Java i Perl.

REST je brži zbog minimalne obrade i učinkovitosti korištenjem različitih formata poruka.

Postoje prednosti i nedostaci oboje, pa kada razmatramo koji pristupni protokol treba koristiti, razmotrite programske jezike koji se koriste u organizaciji, okruženju aplikacije i zahtjevima aplikacije.