Forskjellen mellom REST og SOAP

Introduksjon

Denne artikkelen diskuterer to protokoller for tilgang til Internett-tjenester, SÅPE ("Simple Object Access Protocol") og HVILE ("Representant State Transfer").

Nettjenester

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 dataregning 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 ville 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.

Måten data håndteres i webtjenester bestemmes av om SOAP eller REST er implementert.

SOA og BPMN

Et program bygget på kjørbare prosesser er basert på a Service Orientert Arkitektur ( “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, dvs. bedriftsanalytikeren. Ved hjelp av BPMN, Forretningsmodeller (for tjenester) tolkes lett av utviklere som implementerer modellen som en kjørbar prosess, og disse prosessene kan eller krever kanskje ikke menneskelig interaksjon.

Enkel objekttilgangsprotokoll (SOAP)

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

Originalt utviklet av Microsoft på grunn av tilkomsten av internett, erstattet SOAP den gamle DCOM og CORBA teknologier, og det har eksistert mye lenger enn REST.

SOAP betraktes som tyngre enn REST, dvs. 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 meldingsresponsen, 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 Beskrivelse Språk ("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 bruk HTTP (HyperText Transfer Protocol) utelukkende; Den kan brukes over SMTP, og andre transportprotokoller.

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

HVILE

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

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

I motsetning til SOAP bruker REST ikke XML utelukkende; vanlig tekst, CSV, og RSS kan brukes, så vel som 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 effektivisering 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åket som brukes i organisasjonen, applikasjonsmiljøet og søknadskravene.