U laičkom smislu, koja je razlika između REST-a i SOAP-a?


Odgovor 1:

SOAP (Jednostavni protokol pristupa objektu) i REST (prijenos države države) oba su protokola komunikacije web usluga.

SOAP je protokol gdje je REST arhitektonski stil. Jednostavnije rečeno, REST pristupa podacima dok SOAP izvodi operacije kroz standardiziraniji skup obrazaca poruka. Ipak, u većini slučajeva se REST ili SOAP mogu upotrijebiti za postizanje istog rezultata (a oba su beskrajno skalabilna), s određenim razlikama u načinu konfiguriranja.

Prednosti REST-a preko SOAP-a

Osim korištenja HTTP-a za jednostavnost, REST nudi i niz drugih prednosti putem SOAP-a:

  • REST omogućuje veću raznolikost formata podataka, dok SOAP dopušta samo XML. Spojen s JSON-om (koji obično bolje funkcionira s podacima i nudi brži analizu), REST se općenito smatra lakšim za rad. Zahvaljujući JSON-u, REST nudi bolju podršku pregledniku client.REST pruža vrhunske performanse, posebno kroz keširanje informacija koje nisu izmijenjene i nisu dinamične. REST je protokol koji se najčešće koristi za glavne usluge poput Yahoo, Ebay, Amazon, pa čak i Google.REST je općenito brži i koristi manju propusnost. Lakša je i integracija s postojećim web mjestima bez potrebe za ponovnom faktoriranjem web mjesta. To omogućuje programerima da brže rade nego troše vrijeme na prepisivanje web mjesta ispočetka. Umjesto toga, oni mogu jednostavno dodati dodatnu funkcionalnost.

Prednosti SOAP-a preko REST-a

Budući da većinu rezultata možete postići korištenjem bilo kojeg protokola, to je ponekad stvar osobnih preferencija. Međutim, postoje neki slučajevi upotrebe za koje je SOAP obično prikladniji. Na primjer, ako vam treba snažnija sigurnost, SOAP-ova podrška za WS-sigurnost može vam dobro doći. To nudi dodatna jamstva za privatnost podataka i integritet. Također pruža podršku za provjeru identiteta putem posrednika, a ne samo od točke do točke, što pruža SSL (što podržavaju i SOAP i REST).

Još jedna prednost SOAP-a je što nudi ugrađenu logiku pokušaja da nadoknadi neuspjelu komunikaciju. REST, s druge strane, nema ugrađeni sustav za razmjenu poruka. Ako komunikacija ne uspije, klijent se mora suočiti s ponovnim pokušajem. Također ne postoji standardni skup pravila za REST. To znači da obje strane (usluga i potrošač) moraju razumjeti i sadržaj i kontekst.

Ostale prednosti SOAP-a uključuju:

  • SOAP-ov standardni HTTP protokol olakšava mu rad kroz vatrozidove i proxyje bez izmjena samog SOAP protokola. No, budući da koristi složeni XML format, ima tendenciju sporijeg u usporedbi s srednjim softverom kao što su ICE i COBRA. Osim toga, iako je to rijetko potrebno, neki slučajevi upotrebe zahtijevaju veću transakcijsku pouzdanost od one koja se može postići HTTP-om (što ograničava REST u ovom kapacitet). Ako su vam potrebne transakcije u skladu s ACID-om, SOAP je put. U nekim slučajevima, projektiranje SOAP usluga može biti manje složeno u odnosu na REST. Za web usluge koje podržavaju složene operacije, za koje je potreban održavanje sadržaja i konteksta, projektiranje SOAP usluge zahtijeva manje kodiranja u aplikacijskom sloju za transakcije, sigurnost, povjerenje i druge elemente. SOAP je vrlo proširiv kroz druge protokole i tehnologije. Osim WS-sigurnosti, SOAP podržava WS-adresiranje, WS-koordinaciju, WS-pouzdano Messaging i mnoštvo drugih standarda web usluga, čiji popis možete pronaći na W3C-u.

Pokušao sam to učiniti jednostavnim koliko god mogu, nadam se da će vam to pomoći da shvatite.

Sretno učenje :)