Forskjell mellom REST og SOAP Forskjellen mellom

Anonim

Innledning

Denne artikkelen diskuterer to webtjenestegangsprotokoller, SOAP ("Simple Object Access Protocol") og REST ("Representant State Transfer").

Webtjenester

Webtjenester defineres for å aktivt hente, lese eller overføre data fra en definert kilde for å produsere et bestemt utfall - et resultat.

Følgende rudimentære eksempel viser en grunnleggende bruk av webtjenester før du forstår hvordan dataene overføres til og fra webtjenesten, ved hjelp av SOAP eller REST.

Hvis en utvikler skriver et program som krever noe databeregning på ett sted, skriver skriveren beregningsmetoden i koden, på det ene stedet. Men hvis databeregningen er nødvendig i andre deler av søknaden, ville det være ineffektivt og upraktisk å opprettholde om utvikleren plasserte beregningsmetoden i alle områder det trengs.

Å måtte gjøre en endring til den metoden vil kreve å finne hver forekomst for å redigere (og retest). Dette scenariet ville ha nytte av å bruke en webtjeneste for å fungere optimalt og forbedre forretningsmessig fleksibilitet.

Ved å opprette en webtjeneste med tilgjengelige metoder for å legge til, trekke, dele og formere, vil applikasjonen engasjere seg med den webtjenesten når databeregning kreves. det kaller webtjenesten for å gjøre beregningen og produsere resultatet. Så det er bare ett sted for utvikleren å opprettholde databeregningsmetoden.

Veidataene håndteres i webtjenester, avhengig av om SOAP eller REST er implementert.

SOA og BPMN

En applikasjon bygget på kjørbare prosesser er basert på en Service Oriented Architecture ("SOA"). Det er en tilnærming til hvordan du bruker tjenester som overfører, produserer, validerer eller beregner data.

SOA blir mer og mer gunstig for å forbedre utviklingskvalitet og tid, og forbedre applikasjonsytelsen og skalerbarheten.

Business Process Modelling Notation ("BPMN") er modellering av en tjeneste eller forretningsprosess, som kan gjøres av ikke-tekniske personer jeg. e. forretningsanalytikeren. Ved bruk av BPMN , blir forretningsmodeller (for tjenester) lett tolket av utviklere som implementerer modellen som en kjørbar prosess, og disse prosessene kan eller ikke krever menneskelig interaksjon.

Enkel objekttilgangsprotokoll (SOAP)

SOAP er en metode for overføring av data over internett.

SOAP erstattet den gamle DCOM og CORBA -teknologien, og den har eksistert mye lenger enn REST.

SOAP regnes som tyngre enn REST i.e. Det er mer bagasje som kreves for å overføre data, noe som betyr at mer båndbredde er nødvendig per meldingsforespørsel, og datakilden og målene har mer arbeid å gjøre når de pakkes og mottar dataene.

SOAP bruker bare XML for meldingstjenester over Internett, og XML-meldingsforespørsler kan være svært komplekse og hvis utviklet manuelt, er det nødvendig med forsiktig oppmerksomhet fordi SOAP er ufleksibel med feil.

Det er mulig å automatisere SOAP-meldingsforespørsler ved hjelp av. NET-språk (som et eksempel), der utviklere ikke trenger å jobbe med XML da det genereres automatisk i bakgrunnen.

Hvis det oppstår problemer med meldingsforespørselen, returneres detaljert feilinformasjon i meldingssvaret, og denne prosessen kan også automatiseres ved å referere til standard feilkoder som er oppgitt i meldingsresponsen.

Derfor brukes programmeringsspråket som en avgjørende faktor i hvor vanskelig det vil være å implementere SOAP.

En av bagasjen som følger med en SOAP-melding, er Web Services Description Language ("WSDL") for å forklare hvordan webtjenesten fungerer. Når et program refererer til webtjenesten, leser og forstår det hva som skal gjøres med webtjenesten.

SOAP er ikke bundet til å bruke HTTP (HyperText Transfer Protocol) utelukkende; Den kan brukes over SMTP, og andre transportprotokoller.

Som SOAP ble standardisert, er den mer stiv enn REST, selv om begge er avhengige av etablerte regler.

REST

REST er den nyere og mer slanke kusinen til SOAP, og blir raskt et valg for de fleste web- og mobilapplikasjoner.

REST er mer enn et tiår etter introduksjonen, og er en lettere, mer vedlikeholdbar og skalerbar måte å samhandle med webtjenester på.

I motsetning til SOAP bruker ikke REST utelukkende XML ; vanlig tekst , CSV og RSS kan brukes, samt JSON for AJAX-samtaler; så lenge både kilden og målene kan forstå formatene som brukes.

REST er mindre kompleks og regnes som en mindre læringskurve enn i forhold til SOAP. De fleste moderne programmeringsspråk har biblioteker og rammer for å lette REST (RESTful) tjenester, som C #, Python, Java og Perl.

REST er raskere på grunn av minimal behandling og blir mer effektiv ved hjelp av forskjellige meldingsformater.

Det er fordeler og ulemper for begge, så når du vurderer hvilken tilgangsprotokoll som skal brukes, bør du vurdere programmeringsspråkene som brukes i organisasjonen, applikasjonsmiljøet og applikasjonskravene.