SOA proti ESB
SOA je niz arhitekturnih konceptov, ki se uporabljajo za razvoj in integracijo storitev. Storitev je oglaševalski paket funkcionalnosti, ki se ponuja prek spleta. ESB je del infrastrukturne programske opreme, ki omogoča konstrukcijo programske opreme za zagotavljanje osnovnih storitev za kompleksne arhitekture. ESB se lahko uporablja kot platforma, na kateri se realizira SOA.
Kaj je SOA?
SOA (Service-usmerjena arhitektura) je niz arhitekturnih konceptov, ki se uporabljajo za razvoj in integracijo storitev. SOA se ukvarja s porazdeljenim računanjem, v katerem potrošniki porabijo nabor interoperabilnih storitev. Več potrošnikov lahko porabi eno storitev in obratno. Zato se SOA pogosto uporablja za integracijo več aplikacij, ki uporabljajo različne platforme. Za pravilno delovanje SOA bi bilo treba storitve povezati z operacijskimi sistemi in tehnologijami osnovnih aplikacij. Razvijalci SOA ustvarijo storitve z uporabo enot funkcionalnosti in jih dajo na voljo prek interneta. Spletne storitve se lahko uporabljajo za izvajanje arhitekture SOA. V tem primeru spletne storitve postanejo enote funkcionalnosti SOA, dostopne preko interneta. Spletne storitve lahko uporablja kdor koli, ne da bi jih zanimale platforme ali programski jeziki, ki se uporabljajo za njihovo razvijanje. SOA je zgrajena neposredno po načelu usmerjenosti v storitve, ki govori o storitvah s preprostim vmesnikom, do katerega lahko uporabniki dostopajo neodvisno, ne da bi skrbeli za dejansko izvajanje storitve na platformi.
Kaj je ESB?
ESB (Enterprise Service Bus) je del infrastrukturne programske opreme, ki omogoča konstrukcijo arhitekture programske opreme za zagotavljanje osnovnih storitev za kompleksne arhitekture. Vendar obstaja veliko argumentov, ali naj ESB imenujemo arhitekturni slog ali programski izdelek ali celo skupino izdelkov. Storitve ponuja prek dogodkov, ki temeljijo na standardih in motorju za sporočanje (kar je pravzaprav servisna vodila). Na vrhu tega motorja za pošiljanje sporočil je plast abstrakcije, ki arhitektom omogoča, da izkoristijo prostore, ki jih ponuja avtobus, ne da bi napisali nobeno dejansko kodo. ESB se običajno izvaja prek infrastruktur, ki temeljijo na standardih.
Uporaba izraza "bus" v sistemu ESB je posledica dejstva, da ESB zagotavlja zelo podobno funkcijo kot fizični računalniški vodila, vendar na veliko višji ravni abstrakcije. Ena glavnih prednosti uporabe sistema ESB je možnost zmanjšanja števila kontaktnih točk; s čimer je prilagoditev spremembam veliko lažja. ESB se lahko uporablja kot platforma, na kateri se realizira SOA. Pojme preoblikovanja / usmerjanja (s pretokom) lahko ESB vnese v SOA. Poleg tega ESB s dokazovanjem odvzema končnih točk (v SOA) spodbuja ohlapno povezavo med storitvami.
Kakšna je razlika med SOA in ESB?
Obstaja nekaj ključnih razlik med SOA in ESB. SOA je arhitekturni model za izvajanje ohlapno povezanih storitev, ki temeljijo na storitvah. ESB je del infrastrukturne programske opreme, ki pomaga razvijalcem pri razvoju storitev in komunikaciji med storitvami prek ustreznih API-jev. ESB se lahko uporablja kot platforma, na kateri se realizira SOA. ESB je le medij, s katerim storitve tečejo. ESB zagotavlja zmogljivosti za sestavo in uvajanje storitev, ki nato izvajajo SOA.