SOA vs ESB
SOA är en uppsättning arkitektoniska begrepp som används för utveckling och integration av tjänster. En tjänst är ett publicerat paket med funktioner som erbjuds via webben. ESB är en infrastrukturprogramvara som tillhandahåller en programvaruarkitekturkonstruktion 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 (Serviceorienterad arkitektur) är en uppsättning arkitektoniska begrepp som används för utveckling och integration av tjänster. SOA handlar om distribuerad databehandling där konsumenter konsumerar en uppsättning interoperabla 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 ordentligt bör tjänster löst kopplas till operativsystem och teknologierna för underliggande applikationer. SOA-utvecklare skapar tjänster med hjälp av funktioner och gör dem tillgängliga över internet. Webbtjänster kan användas för att implementera SOA-arkitektur. I så fall blir webbtjänster de funktioner för SOA som är tillgängliga via internet. Webbtjänster kan användas av någon utan att oroa sig för 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ändare utan att oroa sig för den faktiska plattformsimplementeringen av tjänsten.
Vad är ESB?
ESB (Enterprise Service Bus) är en infrastrukturprogramvara som tillhandahåller en programvaruarkitekturkonstruktion för att tillhandahålla grundläggande tjänster för komplexa arkitekturer. Men det finns betydande argument om huruvida man ska kalla ESB en arkitektonisk stil eller en mjukvaruprodukt eller till och med en produktgrupp. Den tillhandahåller tjänsterna genom händelsestyrd och standardbaserad motor för meddelanden (som faktiskt är servicebussen). Ovanpå denna meddelandemotor tillhandahålls ett lager av abstraktion som gör det möjligt för arkitekter att utnyttja de faciliteter som erbjuds av bussen, utan att skriva någon egentlig kod. ESB implementeras vanligtvis genom standardbaserad middleware-infrastruktur.
Användningen av termen "buss" i ESB beror på det faktum att ESB ger en mycket liknande funktion som den fysiska datorbussen, men på en mycket högre abstraktionsnivå. En av de största fördelarna med att ha en ESB är förmågan att minska antalet kontaktpunkter; vilket gör anpassningen till förändringarna mycket enklare. ESB kan användas som en plattform där SOA realiseras. Begreppen transformation / routing (flödesrelaterat) kan föras till SOA av ESB. Dessutom, 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 implementering av löst kopplade servicebaserade applikationer. ESB är en infrastrukturprogramvara som hjälper utvecklare att utveckla tjänster och kommunicera mellan tjänster via lämpliga API: er. ESB kan användas som en plattform där SOA realiseras. ESB är bara mediet genom vilket tjänsterna flödar. ESB tillhandahåller faciliteter för sammansättning och distribution av tjänster, som i sin tur implementerar SOA.