REST ja SOAP

Anonim

esittely

Tässä artikkelissa käsitellään kahta verkkopalvelun käyttöprotokollaa, SAIPPUA ("Simple Object Access Protocol") ja LEVÄTÄ ("Edustava valtionsiirto").

Web palvelut

Web-palvelut määritellään aktiivisesti hakeakseen, lukea tai siirtää tietoja määritetystä lähteestä tuottaa määritelty tulos - tulos.

Seuraavassa alkeellisessa esimerkissä esitetään verkkopalvelujen peruskäyttö ennen ymmärrystä siitä, miten tietoja siirretään verkkopalveluun ja sieltä SOAP tai REST avulla.

Jos kehittäjä kirjoittaa sovellusta, joka vaatii jonkin tietolaskennan yhdestä paikasta, kirjoittaja kirjoittaa laskentamenetelmän koodiin tässä paikassa. Kuitenkin, jos tietojen laskeminen tarvitaan muissa sovelluksen osissa, se olisi tehotonta ja epäkäytännöllistä säilyttää, jos kehittäjä asetti laskentamenetelmän kaikilla tarpeellisilla alueilla.

Kun muutat kyseistä menetelmää, tarvitsette etsiä jokaisen tapauksen muokata (ja kokeilla uudelleen). Tämä skenaario hyötyisi siitä, että verkkopalvelu toimii optimaalisesti ja parantaa liiketoiminnan ketteryyttä.

Luomalla yhden verkkopalvelun, jolla on helppokäyttöisiä menetelmiä lisätä, vähentää, jakaa ja monistaa, sovellus sitoutuu kyseisen verkkopalvelun kanssa aina, kun tietojen laskeminen on tarpeen; se kehottaa verkkopalvelua suorittamaan laskennan ja tuottamaan tuloksen. Joten kehittäjälle on vain yksi paikka ylläpitää datan laskentamenetelmää.

Miten tietoja käsitellään verkkopalveluissa, riippuu siitä, toteutetaanko SOAP tai REST.

SOA ja BPMN

Sovellus, joka perustuu suoritettaviin prosesseihin, perustuu Palveluarkkitehtuuri (”SOA”). Se on lähestymistapa palveluiden käytöstä, joka siirtää, tuottaa, validoi tai laskee tietoja.

SOA kehittyy yhä paremmin kehityksen laadun ja ajan parantamiseksi sekä parantaa sovellusten suorituskykyä ja skaalautuvuutta.

Business Process Modeling Notation ("BPMN") mallinnetaan palvelu- tai liiketoimintaprosessia, jota voivat tehdä muut kuin tekniset henkilöt eli yritysanalyytikko. käyttämällä BPMN, liiketoimintamallit (palveluille) tulkitaan helposti kehittäjillä, jotka toteuttavat mallin suoritettavana prosessina, ja nämä prosessit voivat tai eivät välttämättä edellytä ihmisen vuorovaikutusta.

Yksinkertainen Object Access Protocol (SOAP)

SOAP on menetelmä tietojen siirtämiseen Internetin välityksellä.

Alun perin Microsoftin kehittämä Internetin ansiosta SOAP korvasi vanhan DCOM ja CORBA tekniikoita, ja se on ollut paljon pidempään kuin REST.

SOAP: n katsotaan olevan raskaampaa kuin REST eli tiedonsiirtoon vaaditaan enemmän matkatavaroita, mikä tarkoittaa, että tarvitaan enemmän kaistanleveyttä viestin pyynnöstä ja tietolähteistä ja kohteista on tehtävä enemmän töitä pakkauksen ja datan vastaanottamisen yhteydessä.

SOAP käyttää vain XML sanomapalvelut internetissä ja XML-sanomapyynnöt voivat olla hyvin monimutkaisia ​​ja jos niitä kehitetään manuaalisesti, huolellista huomiota tarvitaan, koska SOAP on joustamatonta.

SOAP-sanomaviestejä voidaan automatisoida käyttämällä.NET-kieliä (esimerkkinä), jolloin kehittäjien ei tarvitse työskennellä XML: n kanssa, koska se luodaan automaattisesti taustalla.

Jos viestipyynnöstä ilmenee ongelmia, viestivirheessä palautetaan yksityiskohtaiset virheilmoitukset ja tämä prosessi voidaan myös automatisoida viittaamalla viestivastauksessa annettuihin vakiomuotoisiin virhekoodeihin.

Siksi käytetty ohjelmointikieli on ratkaiseva tekijä SOAP: n toteuttamisessa.

Yksi SOAP-sanomaan liittyvistä matkatavaroista on Verkkopalvelun kuvauskieli ("WSDL") selittää miten verkkopalvelu toimii. Kun sovellus viittaa verkkopalveluun, se lukee ja ymmärtää, mitä tehdä verkkopalvelun kanssa.

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

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

LEVÄTÄ

REST on SOAPin uudempi ja tyylikäs serkku ja nopea valinta useimmille web- ja mobiilisovelluksille.

Yli kymmenen vuotta sen käyttöönoton jälkeen REST on kevyempi, ylläpidettävä ja skaalautuva tapa toimia vuorovaikutuksessa verkkopalvelujen kanssa.

Toisin kuin SOAP, REST ei käytä XML yksinomaan; selkeä teksti, CSV, ja RSS voidaan käyttää, samoin kuin JSON AJAX-puhelut; kunhan sekä lähde että tavoitteet ymmärtävät käytetyt muodot.

REST on vähemmän monimutkainen ja sitä pidetään pienempänä oppimiskäyränä verrattuna SOAP: hen. Useimmissa modernissa ohjelmointikielissä on kirjastoja ja kehyksiä helpottamaan REST (RESTful) -palveluja, kuten C #, Python, Java ja Perl.

REST on nopeampi minimaalisen käsittelyn ansiosta ja se on tehokkaampi eri viestimuotoilla.

On olemassa etuja ja haittoja molemmille, joten harkitessaan käytettävän käyttöoikeusohjelman on otettava huomioon organisaatiossa käytettävät ohjelmointikielet, sovellusympäristö ja sovellusvaatimukset.