SOA vs ESB
SOA je sada architektonických konceptů používaných pro vývoj a integraci služeb. Služba je propagovaný balíček funkcí nabízených na webu. ESB je část softwaru pro infrastrukturu, která poskytuje konstrukci softwarové architektury pro poskytování základních služeb pro složité architektury. ESB lze použít jako platformu, na které se realizuje SOA.
Co je to SOA?
SOA (Service-Oriented Architecture) je sada architektonických konceptů používaných pro vývoj a integraci služeb. SOA se zabývá distribuovaným výpočtem, při kterém spotřebitelé využívají sadu interoperabilních služeb. Více zákazníků může využívat jednu službu a naopak. Proto se SOA často používá k integraci více aplikací, které používají různé platformy. Aby SOA správně fungovala, služby by měly být volně spojeny 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ými přes internet. Webové služby může používat kdokoli, aniž by se obával platforem nebo programovacích jazyků použitých pro jejich vývoj. SOA je přímo postaven na principu orientace na služby, který hovoří o službách s jednoduchým rozhraním, ke kterým mají uživatelé přístup nezávisle, aniž by se museli starat o skutečnou implementaci 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 složité architektury. Existuje však značný spor o tom, zda ESB nazvat architektonickým stylem nebo softwarovým produktem nebo dokonce skupinou produktů. Poskytuje služby prostřednictvím událostí řízeného a na standardech založeného enginu pro zasílání zpráv (což je ve skutečnosti servisní sběrnice). Kromě tohoto modulu pro zasílání zpráv je poskytována vrstva abstrakce, která architektům umožňuje využívat zařízení nabízená sběrnicí, aniž by museli psát skutečný kód. ESB se obvykle implementuje prostřednictvím standardních infrastruktur middlewaru.
Použití termínu „bus“v ESB je způsobeno skutečností, že ESB poskytuje velmi podobnou funkci jako fyzická počítačová sběrnice, ale na mnohem vyšší úrovni abstrakce. Jednou z hlavních výhod ESB je schopnost snížit počet kontaktních míst; díky tomu je adaptace na změny mnohem jednodušší. ESB lze použít jako platformu, na které se realizuje SOA. Koncepty transformace / směrování (související s tokem) může do SOA přinést ESB. Dále prokázáním abstrakce koncových bodů (v SOA) ESB 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ě vázaných aplikací založených na službách. ESB je software infrastruktury, který pomáhá vývojářům vyvíjet služby a komunikovat mezi službami prostřednictvím vhodných API. ESB lze použít jako platformu, na které se realizuje SOA. ESB je pouze médium, kterým služby procházejí. ESB poskytuje prostředky pro složení a nasazení služeb, které následně implementují SOA.