SOA vs. ESB
SOA je soubor architektonických konceptů používaných pro vývoj a integraci služeb. Služba je publikovaný balíček funkcí nabízených přes web. ESB je infrastrukturní software, který poskytuje konstrukci softwarové architektury pro poskytování základních služeb pro komplexní architektury. ESB lze použít jako platformu, na které je SOA realizována.
Co je SOA?
SOA (Service-Oriented Architecture) je sada architektonických konceptů používaných pro vývoj a integraci služeb. SOA se zabývá distribuovanou výpočetní technikou, ve které spotřebitelé spotřebují sadu interoperabilních služeb. Více zákazníků může konzumovat jednu službu a naopak. SOA se proto často používá k integraci více aplikací, které používají různé platformy. Aby SOA správně fungoval, měly by být služby volně propojeny s operačními systémy a technologiemi základních aplikací. Vývojáři SOA vytvářejí služby pomocí jednotek funkčnosti a zpřístupňují je přes internet. Webové služby lze použít k implementaci architektury SOA. V takovém případě se webové služby stávají jednotkami funkčnosti SOA přístupné přes internet. Webové služby může používat kdokoli bez obav o platformy nebo programovací jazyky používané pro jejich vývoj. SOA je postaven přímo na principu orientace na služby, který hovoří o službách s jednoduchým rozhraním, ke kterému mohou uživatelé přistupovat nezávisle, aniž by se museli bát skutečné implementace služby na platformě.
Co je ESB?
ESB (Enterprise Service Bus) je software infrastruktury, který poskytuje konstrukci softwarové architektury pro poskytování základních služeb pro komplexní architektury. Existuje však značný argument o tom, zda nazvat ESB architektonickým stylem nebo softwarovým produktem nebo dokonce skupinou produktů. Poskytuje služby prostřednictvím událostí řízeného a standardem založeného motoru pro zasílání zpráv (což je vlastně servisní sběrnice). Kromě tohoto nástroje pro zasílání zpráv je k dispozici vrstva abstrakce, která architektům umožňuje využívat zařízení nabízená autobusem, aniž by museli psát jakýkoli skutečný kód. ESB je obvykle implementován prostřednictvím standardních infrastruktur middlewaru.
Použití pojmu „sběrnice“ v ESB je způsobeno tím, že ESB poskytuje velmi podobnou funkci jako sběrnice fyzických počítačů, ale na mnohem vyšší úrovni abstrakce. Jednou z hlavních výhod ESB je schopnost snížit počet kontaktních míst; čímž se přizpůsobení změnám mnohem usnadní. ESB lze použít jako platformu, na které je SOA realizována. Koncepty transformace / směrování (související s tokem) mohou být do SOA přivedeny ESB. Dále ESB prokazuje abstrakci koncových bodů (v SOA) a podporuje volné propojení mezi službami.
Jaký je rozdíl mezi SOA a ESB?
Mezi SOA a ESB existují některé klíčové rozdíly. SOA je architektonický model pro implementaci volně spojených aplikací založených na službách. ESB je infrastrukturní software, který vývojářům pomáhá vyvíjet služby a komunikovat mezi službami prostřednictvím vhodných API. ESB lze použít jako platformu, na které je SOA realizována. ESB je pouze médium, kterým prochází služby. ESB poskytuje zařízení pro složení a nasazení služeb, které zase implementují SOA.