Forskellen mellem REST og SOAP

Introduktion

Denne artikel diskuterer to protokoller til adgang til webtjenester, SÆBE ("Simple Object Access Protocol") og HVILE ("Representativ statsoverførsel").

Webtjenester

Webtjenester defineres til aktivt at hente, læse eller overføre data fra en defineret kilde for at producere et specificeret resultat - et resultat.

Følgende rudimentære eksempel viser en grundlæggende anvendelse af webservices, inden du forstår, hvordan dataene overføres til og fra webtjenesten ved hjælp af SOAP eller REST.

Hvis en udvikler skriver en applikation, der kræver en vis dataregning ét sted, skriver den beregningsmetoden i koden på det ene sted. Hvis dataregningen imidlertid er nødvendig i andre dele af applikationen, ville det være ineffektivt og upraktisk at vedligeholde, hvis udvikleren placerede beregningsmetoden i hvert område, det er nødvendigt.

At skulle foretage en ændring af den metode ville kræve at man finder alle instanser til redigering (og gentest). Dette scenarie ville drage fordel af at bruge en webtjeneste til at fungere optimalt og forbedre forretningens agility.

Ved at oprette en webtjeneste med tilgængelige metoder til at tilføje, subtrahere, opdele og multiplicere, vil applikationen indgå i denne webtjeneste, når dateberegning er påkrævet; den kalder webtjenesten til at udføre beregningen og fremstille resultatet. Så der er kun et sted for udvikleren til at vedligeholde metoden til beregning af data.

Den måde, hvorpå data håndteres i webtjenester, bestemmes af, om SOAP eller REST er implementeret.

SOA og BPMN

En applikation, der er bygget på eksekverbare processer, er baseret på en Serviceorienteret arkitektur ( ”SOA”). Det er en tilgang til, hvordan man bruger tjenester, der overfører, producerer, validerer eller beregner data.

SOA bliver mere og mere gunstig for at forbedre udviklingskvaliteten og tiden og forbedre applikationsydelsen og skalerbarheden.

Notering til modellering af forretningsprocesser (“BPMN”) modellerer en service- eller forretningsproces, som kan udføres af ikke-tekniske personer, dvs. forretningsanalytikeren. Ved brug af BPMN, forretningsmodeller (til tjenester) kan let tolkes af udviklere, der implementerer modellen som en eksekverbar proces, og disse processer kræver muligvis ikke menneskelig interaktion.

Simple Object Access Protocol (SOAP)

SOAP er en metode til overførsel af data over internettet.

Oprindeligt udviklet af Microsoft på grund af fremkomsten af ​​internettet, erstattede SOAP den gamle DCOM og CORBA teknologier, og det har eksisteret meget længere end REST.

SOAP betragtes som tungere end REST, dvs. der er mere bagage påkrævet for at overføre data, hvilket betyder, at der er behov for mere båndbredde pr. Meddelelsesanmodning, og datakilden og målene har mere arbejde at gøre, når man pakker og modtager dataene.

SOAP bruger kun XML til messaging-tjenester over internettet, og anmodninger om XML-meddelelser kan være meget komplekse, og hvis de udvikles manuelt, kræves der omhyggelig opmærksomhed, fordi SOAP er ubøjelig med fejl.

Det er muligt at automatisere SOAP-meddelelsesanmodninger ved hjælp af .NET-sprog (som eksempel), hvor udviklere ikke behøver at arbejde med XML, da det genereres automatisk i baggrunden.

Hvis der opstår problemer med meddelelsesanmodningen, returneres detaljerede fejloplysninger i meddelelsesresponsen, og denne proces kan også automatiseres ved at henvise til de standardfejlkoder, der findes i meddelelsessvaret.

Derfor er det anvendte programmeringssprog en afgørende faktor for, hvor vanskeligt det vil være at implementere SOAP.

En af de stykker bagage, der ledsager en SOAP-meddelelse, er Web Services Beskrivelse Sprog (“WSDL”) for at forklare, hvordan webtjenesten fungerer. Når en applikation henviser til webtjenesten, læser den og forstår, hvad den skal gøre med webtjenesten.

SOAP er ikke bundet til at bruge HTTP (HyperText Transfer Protocol) udelukkende; det kan bruges via SMTP og andre transportprotokoller.

Da SOAP blev standardiseret, er det mere stift end REST, selvom begge to afhænger af etablerede regler.

HVILE

REST er den nyere og mere slanke fætter til SOAP og bliver hurtigt valget til de fleste web- og mobilapplikationer.

Mere end et årti efter introduktionen er REST en lettere, mere vedligeholdelig og skalerbar måde at interagere med webtjenester på.

I modsætning til SOAP bruger REST ikke XML udelukkende; simpel tekst, CSV, og RSS kan bruges såvel som JSON til AJAX-opkald; så længe både kilden og målene kan forstå de anvendte formater.

REST er mindre kompleks og betragtes som en mindre indlæringskurve end sammenlignet med SOAP. De fleste moderne programmeringssprog har biblioteker og rammer for at lette REST (RESTful) tjenester, såsom C #, Python, Java og Perl.

REST er hurtigere på grund af minimal behandling og ved at være mere effektiv ved hjælp af forskellige meddelelsesformater.

Der er fordele og ulemper ved begge dele, så når du overvejer hvilken adgangsprotokol, du skal bruge, skal du overveje de programmeringssprog, der bruges i organisationen, applikationsmiljøet og applikationskrav..