SOA vs ESB
SOA är en uppsättning arkitektoniska koncept som används för utveckling och integration av tjänster. En tjänst är ett publicerat paket med funktionalitet som erbjuds via webben. ESB är en del av infrastrukturprogramvara som tillhandahåller en mjukvaruarkitekturkonstruktion för att tillhandahålla grundläggande tjänster för komplexa arkitekturer. ESB kan användas som en plattform där SOA realiseras.
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 ett enkelt gränssnitt som kan nås oberoende av användarna, utan att oroa sig för den faktiska plattformens genomförande av tjänsten.
Vad är ESB?
ESB (Enterprise Service Bus) är en del av infrastrukturprogramvara som tillhandahåller en mjukvaruarkitekturkonstruktion för att tillhandahålla grundläggande tjänster för komplexa arkitekturer. Men det finns ett stort argument om huruvida man ska kalla ESB en arkitektonisk stil eller en mjukvaruprodukt eller till och med en produktgrupp. Det tillhandahåller tjänsterna via händelsedrivet och standardbaserad motor för meddelandehantering (vilket är faktiskt tjänstebussen). Ovanpå denna meddelandemotor finns ett lager av abstraktion för att ge arkitekter möjlighet att utnyttja bussen som erbjuds utan att skriva någon riktig kod. ESB implementeras vanligtvis genom standardbaserade middleware-infrastrukturer.
Användningen av termen "buss" i ESB beror på att ESB ger en mycket liknande funktion till den fysiska databussen, men på en mycket högre nivå av abstraktion. En av de främsta fördelarna med att ha en ESB är förmågan att minska antalet kontaktpunkter, På så sätt gör anpassningen till förändringarna mycket enklare. ESB kan användas som en plattform där SOA realiseras. Begreppen transformation / routing (flödesrelaterad) kan tas till SOA av ESB. Vidare, genom att bevisa abstraktionen för slutpunkter (i SOA), främjar ESB lös koppling mellan tjänster.
Vad är skillnaden mellan SOA och ESB?
Det finns några viktiga skillnader mellan SOA och ESB. SOA är en arkitektonisk modell för att implementera löst kopplade servicebaserade applikationer. ESB är en del av infrastrukturprogramvara som hjälper utvecklare att utveckla tjänster och kommunicerar mellan tjänster via lämpliga API. ESB kan användas som en plattform där SOA realiseras. ESB är bara det medium genom vilket tjänsterna strömmar. ESB tillhandahåller faciliteter för komposition och distribution av tjänster, som i sin tur genomför SOA.