SOA ir ESB
SOA yra architektūros koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. Paslauga yra žiniatinklyje siūlomas funkcijų paketas. ESB yra infrastruktūros programinės įrangos dalis, teikianti programinės įrangos architektūros konstrukciją, skirtą pagrindinėms sudėtingų architektūrų paslaugoms teikti. ESB gali būti naudojamas kaip platforma, kurioje įgyvendinamas SOA.
Kas yra SOA?
„SOA“(į paslaugas orientuota architektūra) yra architektūros koncepcijų rinkinys, naudojamas kuriant ir integruojant paslaugas. SOA užsiima paskirstytuoju kompiuteriu, kai vartotojai naudoja sąveikių paslaugų rinkinį. Keli vartotojai gali vartoti vieną paslaugą ir atvirkščiai. Todėl SOA dažnai naudojama integruoti kelias programas, naudojančias skirtingas platformas. Kad SOA tinkamai veiktų, paslaugos turėtų būti laisvai derinamos su operacinėmis sistemomis ir pagrindinių programų technologijomis. SOA kūrėjai kuria paslaugas naudodamiesi funkcionalumo vienetais ir daro jas prieinamas internetu. SOA architektūrai įgyvendinti gali būti naudojamos žiniatinklio paslaugos. Tokiu atveju žiniatinklio paslaugos tampa internete prieinamos SOA funkcionalumo vienetais. Žiniatinklio paslaugomis gali naudotis bet kas, nesijaudindamas dėl jų kūrimui naudojamų platformų ar programavimo kalbų. SOA yra tiesiogiai paremta orientavimo į paslaugas principu, kuris kalba apie paslaugas su paprasta sąsaja, prie kurios vartotojai gali naudotis savarankiškai, nesijaudindami dėl faktinio paslaugos platformos diegimo.
Kas yra ESB?
ESB („Enterprise Service Bus“) yra infrastruktūros programinė įranga, teikianti programinės įrangos architektūros konstrukciją, skirtą pagrindinėms sudėtingų architektūrų paslaugoms teikti. Tačiau yra nemažai ginčų, ar ESB vadinti architektūros stiliumi, ar programinės įrangos produktu ar net produktų grupe. Jis teikia paslaugas per įvykius ir standartais pagrįstą pranešimų siuntimo variklį (kuris iš tikrųjų yra paslaugų magistralė). Be šio pranešimų siuntimo variklio, pateikiamas abstrakcijos sluoksnis, leidžiantis architektams pasinaudoti autobuso siūlomomis galimybėmis, nerašant jokio faktinio kodo. ESB paprastai įgyvendinama naudojant standartais pagrįstą tarpinės programinės įrangos infrastruktūrą.
Terminas „magistralė“vartojamas ESB dėl to, kad ESB atlieka labai panašią funkciją kaip ir fizinė kompiuterio magistralė, tačiau kur kas aukštesnio abstrakcijos lygio. Vienas pagrindinių ESB privalumų yra galimybė sumažinti kontaktinių taškų skaičių; taigi daug lengviau prisitaikyti prie pokyčių. ESB gali būti naudojamas kaip platforma, kurioje įgyvendinamas SOA. Transformavimo / nukreipimo (susijusio su srautu) sąvokas į SOA gali pateikti ESB. Be to, įrodydama galutinių taškų abstrakciją (SOA), ESB skatina laisvą paslaugų susiejimą.
Kuo skiriasi SOA ir ESB?
Yra keletas pagrindinių skirtumų tarp SOA ir ESB. SOA yra laisvai susietų paslaugomis pagrįstų programų diegimo architektūrinis modelis. ESB yra infrastruktūros programinės įrangos dalis, padedanti kūrėjams kurti paslaugas ir bendrauti tarp tarnybų naudojant tinkamas API. ESB gali būti naudojamas kaip platforma, kurioje įgyvendinamas SOA. ESB yra tik terpė, per kurią teka paslaugos. ESB suteikia galimybę sudaryti ir diegti paslaugas, kurios savo ruožtu įgyvendina SOA.