SOA prieš ESB
SOA yra architektūrinių koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. Paslauga yra viešai skelbiamas funkcijų paketas, siūlomas žiniatinklyje. ESB yra infrastruktūros programinės įrangos dalis, kuri suteikia programinės įrangos architektūros konstrukciją, skirtą pagrindinėms sudėtingų architektūrų paslaugoms teikti. ESB gali būti naudojama kaip platforma, kurioje realizuojama SOA.
Kas yra SOA?
SOA (į paslaugas orientuota architektūra) yra architektūrinių koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. SOA susijusi su paskirstytu skaičiavimu, kai vartotojai naudojasi suderinamų paslaugų rinkiniu. Viena paslauga gali naudotis keli vartotojai 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 susietos su operacinėmis sistemomis ir pagrindinių programų technologijomis. SOA kūrėjai kuria paslaugas naudodami funkcinius vienetus ir daro jas pasiekiamas internetu. Interneto paslaugos gali būti naudojamos SOA architektūrai įgyvendinti. Tokiu atveju žiniatinklio paslaugos tampa SOA funkcionalumo vienetais, pasiekiamais internetu. Interneto paslaugomis gali naudotis bet kas, nesijaudindamas dėl platformų ar programavimo kalbų, naudojamų joms kurti. SOA yra tiesiogiai sukurta orientacijos į paslaugas principu, kuris kalba apie paslaugas su paprasta sąsaja, kurią vartotojai gali pasiekti savarankiškai, nesijaudindami dėl tikrosios paslaugos platformos diegimo.
Kas yra ESB?
ESB (Enterprise Service Bus) yra infrastruktūros programinės įrangos dalis, kuri suteikia programinės įrangos architektūros konstrukciją, skirtą teikti pagrindines paslaugas sudėtingoms architektūroms. Tačiau yra daug ginčų dėl to, ar ESB vadinti architektūriniu stiliumi, ar programinės įrangos produktu ar net produktų grupe. Jis teikia paslaugas per įvykiais pagrįstą ir standartais pagrįstą pranešimų siuntimo variklį (kuris iš tikrųjų yra paslaugų magistralė). Be šio pranešimų perdavimo variklio, yra abstrakcijos sluoksnis, leidžiantis architektams išnaudoti autobuso teikiamas galimybes, neįrašant jokio tikro kodo. ESB paprastai diegiamas naudojant standartais pagrįstą tarpinės programinės įrangos infrastruktūrą.
Sąvoka „autobusas“vartojama ESB dėl to, kad ESB atlieka labai panašią funkciją kaip ir fizinė kompiuterio magistralė, bet daug aukštesniu abstrakcijos lygiu. Vienas iš pagrindinių ESB privalumų yra galimybė sumažinti kontaktinių taškų skaičių; taigi, daug lengviau prisitaikyti prie pokyčių. ESB gali būti naudojama kaip platforma, kurioje realizuojama SOA. Transformacijos / maršruto parinkimo (susijusio su srautu) sąvokas SOA gali pateikti ESB. Be to, įrodydama galutinių taškų abstrakciją (SOA), ESB skatina laisvą ryšį tarp paslaugų.
Kuo skiriasi SOA ir ESB?
Yra keletas pagrindinių SOA ir ESB skirtumų. SOA yra architektūrinis modelis, skirtas diegti laisvai susietas paslaugas pagrįstas programas. ESB yra infrastruktūros programinės įrangos dalis, kuri padeda kūrėjams kurti paslaugas ir bendrauti tarp paslaugų naudojant tinkamas API. ESB gali būti naudojama kaip platforma, kurioje realizuojama SOA. ESB yra tik terpė, per kurią teikiamos paslaugos. ESB teikia paslaugas, skirtas sudaryti ir diegti paslaugas, kurios savo ruožtu įgyvendina SOA.