SOA vs ESB
SOA je sada architektonických konceptov používaných pre vývoj a integráciu služieb. Služba je zverejnený balík funkcií ponúkaných na webe. ESB je súčasť infraštruktúrneho softvéru, ktorý poskytuje konštrukciu softvérovej architektúry na poskytovanie základných služieb pre zložité architektúry. ESB možno použiť ako platformu, na ktorej sa realizuje SOA.
Čo je to SOA?
SOA (Service-Oriented Architecture) je súbor architektonických konceptov používaných pre vývoj a integráciu služieb. SOA sa zaoberá distribuovaným výpočtom, pri ktorom spotrebitelia využívajú súbor interoperabilných služieb. Jednu službu môže spotrebovať viac spotrebiteľov a naopak. Preto sa SOA často používa na integráciu viacerých aplikácií, ktoré používajú rôzne platformy. Aby služba SOA správne fungovala, služby by mali byť voľne spojené s operačnými systémami a technológiami základných aplikácií. Vývojári SOA vytvárajú služby pomocou funkčných jednotiek a sprístupňujú ich cez internet. Na implementáciu architektúry SOA je možné použiť webové služby. V takom prípade sa webové služby stávajú jednotkami funkčnosti SOA prístupnými cez internet. Webové služby môže používať ktokoľvek bez obáv o platformy alebo programovacie jazyky použité na ich vývoj. SOA je priamo postavený na princípe orientácie na služby, ktorý hovorí o službách s jednoduchým rozhraním, ku ktorým majú používatelia samostatný prístup bez obáv o skutočnú implementáciu služby na platformu.
Čo je ESB?
ESB (Enterprise Service Bus) je súčasť infraštruktúrneho softvéru, ktorý poskytuje konštrukciu softvérovej architektúry na poskytovanie základných služieb pre zložité architektúry. Existuje však značný spor o to, či nazvať ESB architektonickým štýlom alebo softvérovým produktom alebo dokonca skupinou produktov. Poskytuje služby prostredníctvom udalostí riadených a na štandardoch založených mechanizmov pre zasielanie správ (čo je vlastne obslužná zbernica). Okrem tohto modulu na zasielanie správ je poskytnutá vrstva abstrakcie, ktorá umožňuje architektom využívať zariadenia ponúkané autobusom bez toho, aby museli napísať akýkoľvek skutočný kód. ESB sa zvyčajne implementuje prostredníctvom štandardných infraštruktúr middleware.
Používanie pojmu „zbernica“v ESB je spôsobené skutočnosťou, že ESB poskytuje veľmi podobnú funkciu ako fyzická počítačová zbernica, ale na oveľa vyššej úrovni abstrakcie. Jednou z hlavných výhod ESB je schopnosť znížiť počet kontaktných miest; čím je prispôsobenie sa zmenám oveľa jednoduchšie. ESB možno použiť ako platformu, na ktorej sa realizuje SOA. Koncepty transformácie / smerovania (súvisiace s tokom) môže do SOA priniesť ESB. Ďalej dokázaním abstrakcie koncových bodov (v SOA) ESB podporuje voľné prepojenie medzi službami.
Aký je rozdiel medzi SOA a ESB?
Medzi SOA a ESB sú niektoré kľúčové rozdiely. SOA je architektonický model na implementáciu voľne viazaných aplikácií založených na službách. ESB je súčasť infraštruktúrneho softvéru, ktorý pomáha vývojárom pri vývoji služieb a komunikácii medzi službami prostredníctvom vhodných rozhraní API. ESB možno použiť ako platformu, na ktorej sa realizuje SOA. ESB je iba médium, cez ktoré služby prúdia. ESB poskytuje prostriedky na zloženie a nasadenie služieb, ktoré následne implementujú SOA.