SOA vs ESB
SOA yra architektūrinių koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. Paslauga yra viešai paskelbtas funkcionalumo paketas, siūlomas internete. ESB yra infrastruktūros programinės įrangos dalis, teikianti programinės įrangos architektūros pagrindą, teikiantį sudėtingas architektūros pagrindines paslaugas. ESB gali būti naudojama kaip platforma, kurioje realizuojamas SOA.
Kas yra SOA?
SOA (į paslaugas orientuota architektūra) yra architektūrinių koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. SOA susijęs su paskirstyta kompiuterija, kurioje vartotojai naudojasi sąveikių paslaugų rinkiniu. Keli vartotojai gali vartoti vieną paslaugą ir atvirkščiai. Todėl SOA dažnai naudojama integruoti kelias programas, kurios naudoja skirtingas platformas. Kad SOA tinkamai veiktų, paslaugos turėtų būti laisvai sujungtos su operacinėmis sistemomis ir pagrindinių programų technologijomis. SOA kūrėjai sukuria paslaugas naudodamiesi funkcijų vienetais ir jas teikia internetu. SOA architektūrai įgyvendinti gali būti naudojamos žiniatinklio paslaugos. Tokiu atveju žiniatinklio paslaugos tampa internetu pasiekiamo SOA funkcionalumo vienetais. Žiniatinklio paslaugomis gali naudotis visi, nesijaudindami apie platformas ar programavimo kalbas, naudojamas joms kurti. SOA yra tiesiogiai paremtas orientavimo į paslaugas principu, kuriame kalbama apie paslaugas su paprasta sąsaja, kuria vartotojai gali naudotis savarankiškai, nesijaudindami apie faktinį paslaugos platformos įgyvendinimą..
Kas yra ESB?
ESB („Enterprise Service Bus“) yra infrastruktūros programinės įrangos dalis, teikianti programinės įrangos architektūros konstrukciją, teikiančią pagrindines sudėtingesnės architektūros paslaugas. Tačiau kyla rimtų argumentų, ar vadinti ESB architektūriniu stiliumi, ar programinės įrangos produktu, ar net produktų grupe. Ji teikia paslaugas per įvykiais pagrįstą ir standartais pagrįstą pranešimų perdavimo variklį (kuris iš tikrųjų yra paslaugų magistralė). Be šio pranešimų variklio, pateikiamas abstrakcijos sluoksnis, kad architektai galėtų naudotis autobuso siūlomomis galimybėmis, nerašydami jokio tikrojo kodo. ESB paprastai įgyvendinama naudojant standartinėmis tarpinės programinės įrangos infrastruktūromis.
ESB terminas „magistralė“ naudojamas todėl, kad ESB atlieka labai panašią funkciją kaip ir fizinė kompiuterio magistralė, tačiau yra žymiai aukštesnio lygio abstrakcija. Vienas pagrindinių ESB pranašumų yra galimybė sumažinti kontaktinių taškų skaičių; taigi prisitaikymas prie pokyčių tampa daug lengvesnis. ESB gali būti naudojama kaip platforma, kurioje realizuojamas SOA. ESB gali pateikti SOA transformacijos / maršruto (susijusio su srautu) sąvokas. Be to, įrodydama galinių taškų abstrakciją (SOA), ESB skatina laisvą paslaugų sujungimą.
Kuo skiriasi SOA ir ESB??
Tarp SOA ir ESB yra keletas pagrindinių skirtumų. SOA yra architektūrinis modelis, leidžiantis įgyvendinti laisvai susietas tarnybines programas. ESB yra infrastruktūros programinės įrangos dalis, kuri padeda kūrėjams vystyti paslaugas ir palaikyti ryšį tarp paslaugų naudojant tinkamas API. ESB gali būti naudojama kaip platforma, kurioje realizuojamas SOA. ESB yra tik terpė, per kurią eina paslaugos. ESB teikia paslaugas, skirtas kompozicijai ir diegimui, kurie savo ruožtu įgyvendina SOA.