Skillnad mellan REST och SOAP Skillnad mellan

Anonim

Inledning

I denna artikel diskuteras två webbtjänståtkomstprotokoll, SOAP ("Simple Object Access Protocol") och REST ("Representativ statsöverföring").

Web Services

Webbservicen definieras för att aktivt hämta, läsa eller överföra data från en definierad källa för att producera ett angivet resultat - ett resultat.

Följande rudimentära exempel visar en grundläggande användning av webbtjänster innan du förstår hur data överförs till och från webbtjänsten med hjälp av SOAP eller REST.

Om en utvecklare skriver en applikation som kräver viss databeräkning på ett ställe, skriver skrivaren beräkningsmetoden i koden, på den ena platsen. Om databeräkningen är nödvändig i andra delar av ansökan, skulle det emellertid vara ineffektivt och opraktiskt att behålla om utvecklaren lade beräkningsmetoden i alla områden som behövs.

Att behöva göra en ändring till den metoden skulle kräva att varje instans ska redigeras (och retest). Detta scenario skulle dra nytta av att använda en webbtjänst för att fungera optimalt och förbättra företagets smidighet.

Genom att skapa en webbtjänst med tillgängliga metoder för att lägga till, subtrahera, dela och multiplicera, kommer applikationen att engagera sig med den webbtjänsten när databeräkning krävs. det kallar webbtjänsten för att göra beräkningen och producera resultatet. Så det finns bara ett ställe för utvecklaren att behålla databeräkningsmetoden.

Hur data hanteras i webbtjänster bestäms av huruvida SOAP eller REST implementeras.

SOA och BPMN

En applikation byggd på körbara processer baseras på en Service Oriented Architecture ("SOA"). Det är ett sätt att använda tjänster som överför, producerar, validerar eller beräknar data.

SOA blir mer och mer gynnsam för att förbättra utvecklingskvalitet och tid och förbättra applikationsprestanda och skalbarhet.

Notering av affärsprocessmodellering ("BPMN") modellerar en tjänst eller affärsprocess som kan göras av icke-tekniska personer i. e. affärsanalysen. Med hjälp av BPMN , kan affärsmodeller (för tjänster) enkelt tolkas av utvecklare som implementerar modellen som en körbar process, och dessa processer kan eller kanske inte kräver mänsklig interaktion.

Enkelt objektåtkomstprotokoll (SOAP)

SOAP är ett sätt att överföra data över internet.

SOAP ersatte den gamla DCOM och CORBA -tekniken, som ursprungligen utvecklats av Microsoft på grund av Internetens framkomst, och det har funnits mycket längre än REST.

SOAP anses vara tyngre än REST i.e. Det behövs mer bagage för att överföra data, vilket innebär att mer bandbredd behövs per meddelandeförfrågan och datakällan och målen har mer arbete att göra när man paketerar och tar emot data.

SOAP använder bara XML för meddelandetjänster via Internet, och XML-meddelandeförfrågningar kan vara mycket komplexa och om man utvecklar manuellt krävs noggrann uppmärksamhet eftersom SOAP är oflexibel med fel.

Det går att automatisera SOAP-meddelandeförfrågningar med. NET-språk (som exempel), där utvecklare inte behöver arbeta med XML eftersom det genereras automatiskt i bakgrunden.

Om det uppstår problem med meddelandebegäran returneras detaljerad felinformation i meddelandesvaret, och denna process kan också automatiseras genom att referera till standardfelkoderna som finns i meddelandesvaret.

Därför är det använda programmeringsspråket en avgörande faktor för hur svårt det är att implementera SOAP.

En av bagagebitarna som följer med ett SOAP-meddelande är Web Services Description Language ("WSDL") för att förklara hur webbtjänsten fungerar. När en applikation hänvisar till webbtjänsten läser och förstår den vad som ska göras med webbtjänsten.

SOAP är inte bunden att använda HTTP (HyperText Transfer Protocol) uteslutande; Det kan användas över SMTP och andra transportprotokoll.

Eftersom SOAP var standardiserat är det mer stel än REST, även om båda beror på etablerade regler.

REST

REST är den nyare och snyggare kusinen till SOAP, och snabbt blir valet för de flesta webb- och mobilapplikationer.

REST är mer än ett decennium efter introduktionen, ett lättare, mer underhållbart och skalbart sätt att interagera med webbtjänster.

Till skillnad från SOAP använder REST inte uteslutande XML ; vanlig text , CSV och RSS kan användas såväl som JSON för AJAX-samtal; så länge som både källan och målen kan förstå de format som används.

REST är mindre komplex och anses vara en mindre inlärningskurva än jämförd med SOAP. De flesta moderna programmeringsspråk har bibliotek och ramverk för att underlätta REST (RESTful) tjänster, som C #, Python, Java och Perl.

REST är snabbare på grund av minimal behandling och effektivare med olika meddelandesformat.

Det finns fördelar och nackdelar för båda, så när man överväger vilket åtkomstprotokoll som ska användas, överväga de programmeringsspråk som används i organisationen, applikationsmiljön och applikationskraven.