Ero REST ja SOAP välillä

esittely

Tässä artikkelissa käsitellään kahta verkkopalvelupalveluprotokollaa, SAIPPUA (”Yksinkertainen objektin käyttöprotokolla”) ja LEVÄTÄ (”Edustava valtion siirto”).

Web palvelut

Verkkopalvelut määritetään hakemaan, lukemaan tai siirtämään tietoja aktiivisesti määritellystä lähteestä tietyn lopputuloksen - tuloksen - tuottamiseksi.

Seuraava alkeellinen esimerkki osoittaa verkkopalveluiden peruskäytön ennen kuin ymmärretään, miten tiedot siirretään verkkopalveluun ja siitä, SOAP- tai REST-käytön avulla.

Jos kehittäjä kirjoittaa sovelluksen, joka vaatii jonkin verran datan laskemista yhteen paikkaan, hän kirjoittaa laskentamenetelmän koodiin samassa paikassa. Jos tietojen laskentaa tarvitaan muissa sovelluksen osissa, olisi kuitenkin tehotonta ja epäkäytännöllistä ylläpitää, jos kehittäjä sijoittaa laskentamenetelmän jokaiselle tarvittavalle alueelle..

Yhden muutoksen tekeminen tähän menetelmään edellyttäisi jokaisen kopion löytämistä muokattavaksi (ja testattavaksi uudelleen). Tämä skenaario hyötyisi verkkopalvelun käytöstä optimaalisen toiminnan ja liiketoiminnan ketteryyden parantamiseksi.

Luomalla yhden verkkopalvelun, jolla on saatavissa olevia tapoja lisätä, vähentää, jakaa ja kertoa, sovellus kytkeytyy kyseiseen verkkopalveluun aina, kun tietojen laskemista vaaditaan. se kutsuu verkkopalvelua tekemään laskelman ja tuottamaan tuloksen. Joten kehittäjällä on vain yksi paikka ylläpitää tietojen laskentamenetelmää.

Tietojen käsittelytapa verkkopalveluissa määräytyy sen mukaan, toteutetaanko SOAP vai REST.

SOA ja BPMN

Suoritettaviin prosesseihin rakennettu sovellus perustuu Palveluorientoitu arkkitehtuuri ( ”SOA”). Se on lähestymistapa palveluiden käyttöön, joka siirtää, tuottaa, validoi tai laskee tietoja.

SOA on tulossa yhä suotuisammaksi parannella kehityksen laatua ja aikaa sekä parantaa sovellusten suorituskykyä ja skaalautuvuutta.

Liiketoimintaprosessien mallintaminen (”BPMN”) mallii palvelua tai liiketoimintaprosessia, jonka voivat tehdä muut kuin tekniset henkilöt, ts. Yritysanalyytikko. käyttämällä BPMN, kehittäjät, jotka toteuttavat mallin toteutettavana prosessina, tulkitsevat liiketoimintamalleja (palveluille) helposti, ja nämä prosessit saattavat edellyttää ihmisten vuorovaikutusta.

Yksinkertainen objektin käyttöprotokolla (SOAP)

SOAP on menetelmä tiedonsiirtoon Internetin kautta.

Alun perin Microsoftin kehittämä Internetin tulon vuoksi SOAP korvasi vanhan DCOM ja CORBA tekniikoita, ja se on ollut olemassa paljon kauemmin kuin REST.

SOAP: ta pidetään raskaampana kuin REST, ts. Datan siirtämiseen tarvitaan enemmän matkatavaraa, mikä tarkoittaa sitä, että viestipyyntöä varten tarvitaan enemmän kaistanleveyttä ja tietolähteellä ja kohteilla on enemmän työtä datan pakkaamisessa ja vastaanottamisessa.

SOAP käyttää vain XML Internet-viestintäpalveluille ja XML-viestipyynnöt voivat olla hyvin monimutkaisia, ja jos niitä kehitetään manuaalisesti, vaaditaan tarkkaavaisuutta, koska SOAP on joustamaton virheineen.

On mahdollista automatisoida SOAP-viestipyynnöt .NET-kielillä (esimerkki), jolloin kehittäjien ei tarvitse työskennellä XML: n kanssa, koska se luodaan automaattisesti taustalla.

Jos viestipyynnössä kohdataan ongelmia, yksityiskohtainen virheinformaatio palautetaan viestivastauksessa, ja tämä prosessi voidaan myös automatisoida viittaamalla viestivastauksessa annettuihin vakiovirhekoodeihin..

Siksi käytetty ohjelmointikieli on ratkaiseva tekijä siinä, kuinka vaikeaa on toteuttaa SOAP.

Yksi SOAP-viestin mukana olevista matkatavarakokoista on Verkkopalvelujen kuvaus kieli (”WSDL”) selittääksesi verkkopalvelun toiminnan. Kun sovellus viittaa verkkopalveluun, se lukee ja ymmärtää, mitä Web-palveluun tehdään.

SOAP ei ole pakollista käyttää HTTP (HyperText Transfer Protocol) yksinomaan; sitä voidaan käyttää SMTP: n ja muiden siirtoprotokollien kautta.

Koska SOAP standardisoitiin, se on jäykempi kuin REST, vaikka molemmat riippuvatkin vakiintuneista säännöistä.

LEVÄTÄ

REST on SOAP: n uudempi ja tyylikäs serkku, josta tulee nopeasti valinta useimpiin verkko- ja mobiilisovelluksiin.

Yli vuosikymmen sen käyttöönoton jälkeen REST on kevyempi, ylläpidettävämpi ja skaalautuvampi tapa toimia vuorovaikutuksessa verkkopalvelujen kanssa.

Toisin kuin SOAP, REST ei käytä XML yksinomaan; pelkkä teksti, CSV, ja RSS voidaan käyttää samoin JSON AJAX-puheluille; niin kauan kuin sekä lähde että kohteet ymmärtävät käytetyt muodot.

REST on vähemmän monimutkainen ja sitä pidetään pienemmänä käyränä kuin verrattuna SOAP: iin. Useimmissa nykyaikaisissa ohjelmointikielissä on kirjastoja ja kehyksiä REST (RESTful) -palvelujen helpottamiseksi, kuten C #, Python, Java ja Perl.

REST on nopeampi minimaalisen käsittelyn ansiosta, ja se on tehokkaampaa eri viestimuodoissa.

Molemmilla on etuja ja haittoja, joten harkittaessa käytettävää käyttöprotokollaa harkitse organisaatiossa käytettäviä ohjelmointikieliä, sovellusympäristöä ja sovellusvaatimuksia.