SOA vs Web Services
Webtjänster används för att bygga program som kan skicka / ta emot meddelanden med hjälp av SOAP över HTTP. En webbtjänst är ett publicerat paket med funktionalitet som erbjuds via webben. SOA är en uppsättning arkitektoniska koncept som används för utveckling och integration av tjänster. Webtjänster kan användas för att implementera SOA. Men det är bara en enda metod för att realisera SOA-baserade applikationer.
Vad är webbtjänster?
En webbtjänst är en metod för kommunikation över nätverket. Enligt W3C är en webbtjänst ett system för att stödja maskin-till-maskin-transaktioner via ett nätverk. Det är ett webb API som beskrivs i WSDL (Web Service Description Language), och webbtjänster är vanligtvis självständiga och självbeskrivande. Webtjänster kan upptäckas med UDDI (Universal Description, Discovery and Integration) protokoll. Genom att byta SOAP (Simple Object Access Protocol) -meddelanden, typiskt över HTTP (med XML), kan andra system interagera med webbtjänster.
Webtjänster används på flera sätt, såsom RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) och REST (Representational State Transfer). Det finns två automatiserade designmetoder för att utveckla webbtjänster. Bottom-up-strategin handlar först om att skapa klasserna och sedan använda WSDL-generationsverktyg för att komponera dessa klasser som webbtjänster. Top-down-strategin handlar om att definiera WSDL-specifikationerna och sedan använda kodgenereringsverktyg för att generera motsvarande klasser. Webtjänster har två stora användningsområden. De kan användas som återanvändbara applikationskomponenter och / eller för att ansluta webbapplikationer som körs på olika plattformar.
Vad är SOA?
SOA (Service-Oriented Architecture) är en uppsättning arkitektoniska koncept som används för utveckling och integration av tjänster. SOA behandlar distribuerad databehandling, där konsumenterna konsumerar en uppsättning driftskompatibla tjänster. Flera konsumenter kan konsumera en enda tjänst och vice versa. Därför används SOA ofta för att integrera flera applikationer som använder olika plattformar. För att SOA ska fungera korrekt bör tjänsterna vara löst kopplade till operativsystem och tekniken för bakomliggande applikationer. SOA-utvecklare skapar tjänster med hjälp av enheter av funktionalitet och gör dem tillgängliga via internet. Webtjänster kan användas för att implementera SOA-arkitektur. I det fallet blir webbtjänster de funktioner för SOA som är tillgängliga över internet. Webtjänster kan användas av någon utan att vara oroad över plattformarna eller de programmeringsspråk som används för att utveckla dem. SOA bygger direkt på principen om serviceorientering, som talar om tjänster med enkelt gränssnitt som kan nås oberoende av användarna utan att oroa sig för den faktiska plattformsimplementeringen av tjänsten.
Vad är skillnaden mellan SOA och Web Services?
Det finns några viktiga skillnader mellan webbtjänster och SOA. Webtjänster definierar en webbteknologi som kan användas för att bygga program som kan skicka / ta emot meddelanden med SOPA via HTTP. SOA är dock en arkitektonisk modell för att implementera löst kopplade servicebaserade applikationer. Webtjänster kan användas för att implementera SOA-applikationer. Även om webbtjänst tillvägagångssätt för SOA har blivit mycket populärt, är det bara en enda metod för att implementera SOA. SOA kan implementeras med hjälp av annan tjänstbaserad teknik (t.ex. CORBA och REST).