Skillnad mellan REST och SOAP

Introduktion

I den här artikeln diskuteras två protokoll för webbtjänståtkomst, TVÅL ("Simple Object Access Protocol") och RESTEN ("Representativ statlig överföring").

Webbservice

Webtjänster 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 varje område som behövs.

Att behöva göra en förändring till den metoden skulle kräva att varje fall ska ändras (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 är baserad på a Serviceorienterad arkitektur ( ”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 för affärsprocessmodellering ("BPMN") modellerar en tjänst eller affärsprocess, som kan göras av icke-tekniska personer, dvs affärsanalysören. Använder sig av BPMN, affärsmodeller (för tjänster) tolkas enkelt av utvecklare som implementerar modellen som en körbar process, och dessa processer kan eller kanske inte kräva mänsklig interaktion.

Simple Object Access Protocol (SOAP)

SOAP är en metod för överföring av data över internet.

Ursprungligen utvecklad av Microsoft på grund av tillkomsten av internet, ersatte SOAP den gamla DCOM och CORBA teknik, och det har funnits mycket längre än REST.

SOAP anses vara tyngre än REST, dvs mer bagage krävs 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 vid förpackning och mottagning av data.

SOAP använder endast 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 är möjligt att automatisera SOAP-meddelandeförfrågningar med .NET-språk (som ett 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 anges 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 Beskrivning Språk ("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.

När SOAP standardiserades är det mer styvt än REST, även om båda beror på etablerade regler.

RESTEN

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

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

Till skillnad från SOAP använder REST inte XML uteslutande; oformatterad 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.