SOA vs ESB
SOA on arhitektuursete kontseptsioonide kogum, mida kasutatakse teenuste arendamiseks ja integreerimiseks. Teenus on avalikustatud funktsioonide pakett, mida pakutakse veebis. ESB on infrastruktuuritarkvara, mis pakub tarkvaraarhitektuuri konstruktsiooni põhiteenuste pakkumiseks keerukate arhitektuuride jaoks. ESB-d saab kasutada platvormina, millel SOA realiseeritakse.
Mis on SOA?
SOA (teenusele orienteeritud arhitektuur) on arhitektuursete kontseptsioonide kogum, mida kasutatakse teenuste arendamiseks ja integreerimiseks. SOA tegeleb hajutatud andmetöötlusega, mille puhul tarbijad tarbivad koostalitlusvõimeliste teenuste komplekti. Ühte teenust võivad tarbida mitu tarbijat ja vastupidi. Seetõttu kasutatakse SOA-d sageli mitme erinevat platvormi kasutava rakenduse integreerimiseks. SOA nõuetekohaseks toimimiseks peaksid teenused olema lõdv alt ühendatud operatsioonisüsteemide ja aluseks olevate rakenduste tehnoloogiatega. SOA arendajad loovad teenuseid, kasutades funktsionaalsusüksusi, ja teevad need Interneti kaudu kättesaadavaks. Veebiteenuseid saab kasutada SOA arhitektuuri juurutamiseks. Sel juhul muutuvad veebiteenused Interneti kaudu juurdepääsetavateks SOA funktsionaalsusüksusteks. Veebiteenuseid saavad kasutada kõik, muretsemata nende arendamiseks kasutatavate platvormide või programmeerimiskeelte pärast. SOA on otseselt üles ehitatud teenusekesksuse põhimõttele, mis räägib lihtsa liidesega teenustest, millele kasutajad saavad iseseisv alt juurde pääseda, muretsemata teenuse tegeliku platvormi rakendamise pärast.
Mis on ESB?
ESB (Enterprise Service Bus) on osa infrastruktuuritarkvarast, mis pakub tarkvaraarhitektuuri konstruktsiooni põhiteenuste pakkumiseks keerukate arhitektuuride jaoks. Kuid on palju vaidlusi selle üle, kas nimetada ESB-d arhitektuuristiiliks või tarkvaratooteks või isegi tooterühmaks. See pakub teenuseid sündmustepõhise ja standarditel põhineva sõnumimootori kaudu (mis on tegelikult teenindussiin). Selle sõnumimootori peale on ette nähtud abstraktsioonikiht, mis võimaldab arhitektidel kasutada bussi pakutavaid võimalusi ilma tegelikku koodi kirjutamata. ESB-d rakendatakse tavaliselt standardipõhiste vahevara infrastruktuuride kaudu.
Termina "buss" kasutamine ESB-s on tingitud asjaolust, et ESB pakub füüsilisele arvutisiinile väga sarnast funktsiooni, kuid palju kõrgemal abstraktsioonitasemel. ESB omamise üks peamisi eeliseid on võimalus vähendada kontaktpunktide arvu; muutes muudatustega kohanemise palju lihtsamaks. ESB-d saab kasutada platvormina, millel SOA realiseeritakse. ESB saab SOA-sse tuua teisenduse/marsruutimise (vooga seotud) mõisted. Peale selle, tõestades lõpp-punktide abstraktsiooni (SOA-s), soodustab ESB teenuste vahelist lahtist sidumist.
Mis vahe on SOA ja ESB vahel?
SOA ja ESB vahel on mõned peamised erinevused. SOA on arhitektuurne mudel lõdv alt seotud teenusepõhiste rakenduste rakendamiseks. ESB on taristutarkvara, mis aitab arendajatel teenuseid arendada ja teenuste vahel sobivate API-de kaudu suhelda. ESB-d saab kasutada platvormina, millel SOA realiseeritakse. ESB on ainult meedium, mille kaudu teenused liiguvad. ESB pakub võimalusi teenuste koostamiseks ja juurutamiseks, mis omakorda rakendavad SOA-d.