Forskel mellem REST og SOAP Forskel mellem
Introduktion
Denne artikel omhandler to webtjenesteadgangsprotokoller, SOAP ("Simple Object Access Protocol") og REST ("Repræsentativ statsoverførsel").
Web Services
Webtjenester defineres til aktivt at hente, læse eller overføre data fra en defineret kilde for at producere et bestemt resultat - et resultat.
Det følgende rudimentære eksempel viser en grundlæggende brug af webtjenester, før man forstår, hvordan dataene overføres til og fra webtjenesten ved hjælp af SOAP eller REST.
Hvis en udvikler skriver et program, der kræver en vis dataregning på ét sted, skriver vilen beregningsmetoden i koden på det ene sted. Men hvis databeregningen er nødvendig i andre dele af ansøgningen, ville det være ineffektivt og upraktisk at opretholde, hvis bygherren placerede beregningsmetoden på alle områder, det er nødvendigt.
At skulle lave en ændring til den metode ville kræve, at alle forekomster skal redigeres (og retest). Dette scenario ville have gavn af at bruge en webservice til at fungere optimalt og forbedre virksomhedens fleksibilitet.
Ved at oprette en webservice med tilgængelige metoder til at tilføje, subtrahere, opdele og formere, vil applikationen indgive den pågældende webtjeneste, når databeregning er påkrævet; det kalder webtjenesten til at foretage beregningen og producere resultatet. Så der er kun ét sted for bygherren at opretholde databeregningsmetoden.
Måden data behandles i webtjenester bestemmes af, om SOAP eller REST er implementeret.
SOA og BPMN
En applikation bygget på eksekverbare processer er baseret på en Service Oriented Architecture ("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 udviklingskvalitet og tid og forbedre applikationsydelsen og skalerbarheden.
Notering af forretningsprocessmodellering ("BPMN") modellerer en service eller forretningsproces, som kan udføres af ikke-tekniske personer i. e. forretningsanalytikeren. Ved brug af BPMN kan forretningsmodeller (for tjenester) fortolkes let af udviklere, der implementerer modellen som en eksekverbar proces, og disse processer kan eller måske ikke kræve menneskelig interaktion.
Simple Object Access Protocol (SOAP)
SOAP er en metode til overførsel af data over internettet.
Originalt udviklet af Microsoft på grund af fremkomsten af internettet erstattede SOAP de gamle DCOM og CORBA teknologier, og det har eksisteret meget længere end REST.
SOAP betragtes som tungere end REST i.e. der er mere bagage, der kræves for at overføre data, hvilket betyder, at der er brug for mere båndbredde pr. beskedanmodning, og datakilden og målene har mere arbejde at gøre, når de pakker og modtager dataene.
SOAP bruger kun XML til messaging-tjenester via internettet, og XML-meddelelsesforespørgsler kan være meget komplekse, og hvis man udvikler manuelt, kræves der omhyggelig opmærksomhed, fordi SOAP er ufleksibel med fejl.
Det er muligt at automatisere SOAP-meddelelsesforespørgsler ved hjælp af. NET-sprog (som et eksempel), hvor udviklere ikke behøver at arbejde med XML som det genereres automatisk i baggrunden.
Hvis der opstår problemer med meddelelsesforespørgslen, returneres detaljerede fejloplysninger i meddelelsesresponsen, og denne proces kan også automatiseres ved at henvise til standardfejlkoderne i meddelelsesresponsen.
Derfor er det anvendte programmeringssprog en afgørende faktor i, hvor svært det vil være at implementere SOAP.
Et af bagageemballagen, der ledsager en SOAP-besked, er Web Services Beskrivelse Sprog ("WSDL") for at forklare, hvordan webtjenesten fungerer. Når en applikation refererer til webtjenesten, læser den og forstår hvad der skal gøres med webtjenesten.
SOAP er ikke forpligtet til udelukkende at bruge HTTP (HyperText Transfer Protocol); den kan bruges over SMTP og andre transportprotokoller.
Som SOAP blev standardiseret, er den mere stiv end REST, selv om begge afhænger af etablerede regler.
REST
REST er den nyere og mere slanke kusine af SOAP, og bliver hurtigt valg for de fleste web- og mobilapplikationer.
REST er mere end et årti efter introduktionen, og er en lettere, mere vedligeholdelig og skalerbar måde at interagere med webtjenester.
I modsætning til SOAP bruger REST ikke udelukkende XML ; almindelig 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 komplekse og betragtes som en mindre læringskurve end sammenlignet med SOAP. De fleste moderne programmeringssprog har biblioteker og rammer til at lette REST (RESTful) tjenester, som f.eks. C #, Python, Java og Perl.
REST er hurtigere på grund af minimal behandling og effektivitet ved brug af forskellige meddelelsesformater.
Der er fordele og ulemper for begge, så når man overvejer hvilken adgangsprotokol der skal bruges, skal man overveje programmeringssprogene, der anvendes i organisationen, applikationsmiljøet og applikationskravene.