SOA vs ESB
SOA to zestaw koncepcji architektonicznych służących do tworzenia i integracji usług. Usługa to opublikowany pakiet funkcji oferowanych w Internecie. ESB to oprogramowanie infrastrukturalne, które zapewnia konstrukcję architektury oprogramowania do świadczenia podstawowych usług dla złożonych architektur. ESB może służyć jako platforma, na której realizowana jest architektura SOA.
Co to jest SOA?
SOA (Architektura zorientowana na usługi) to zestaw koncepcji architektonicznych służących do tworzenia i integracji usług. SOA zajmuje się przetwarzaniem rozproszonym, w którym konsumenci korzystają z zestawu interoperacyjnych usług. Wielu konsumentów może korzystać z jednej usługi i odwrotnie. Dlatego architektura SOA jest często używana do integracji wielu aplikacji korzystających z różnych platform. Aby SOA działała prawidłowo, usługi powinny być luźno powiązane z systemami operacyjnymi i technologiami aplikacji bazowych. Programiści SOA tworzą usługi przy użyciu jednostek funkcjonalności i udostępniają je w Internecie. Do implementacji architektury SOA można wykorzystać usługi sieciowe. W takim przypadku usługi sieciowe stają się jednostkami funkcjonalności SOA dostępnymi przez Internet. Z usług internetowych może korzystać każdy, nie martwiąc się o platformy lub języki programowania używane do ich tworzenia. SOA jest bezpośrednio zbudowana na zasadzie zorientowania na usługi, która mówi o usługach z prostym interfejsem, do którego użytkownicy mają dostęp niezależnie, bez obawy o faktyczną implementację usługi na platformie.
Co to jest ESB?
ESB (Enterprise Service Bus) to oprogramowanie infrastrukturalne, które zapewnia konstrukcję architektury oprogramowania do świadczenia podstawowych usług dla złożonych architektur. Ale istnieje poważny spór, czy nazwać ESB stylem architektonicznym, produktem programowym, czy nawet grupą produktów. Świadczy usługi poprzez oparty na zdarzeniach i oparty na standardach silnik do przesyłania wiadomości (który jest właściwie magistralą usług). Oprócz tego mechanizmu przesyłania wiadomości, zapewniona jest warstwa abstrakcji, aby umożliwić architektom korzystanie z udogodnień oferowanych przez magistralę bez konieczności pisania żadnego rzeczywistego kodu. ESB jest zwykle implementowana za pośrednictwem infrastruktury oprogramowania pośredniego opartej na standardach.
Użycie terminu „magistrala” w ESB wynika z faktu, że ESB zapewnia bardzo podobną funkcję do fizycznej magistrali komputerowej, ale na znacznie wyższym poziomie abstrakcji. Jedną z głównych zalet posiadania ESB jest możliwość zmniejszenia liczby punktów styku; w ten sposób znacznie ułatwiając adaptację do zmian. ESB może służyć jako platforma, na której realizowana jest architektura SOA. Pojęcia transformacji / routingu (związane z przepływem) mogą zostać wprowadzone do SOA przez ESB. Ponadto, udowadniając abstrakcję dla punktów końcowych (w SOA), ESB promuje luźne powiązania między usługami.
Jaka jest różnica między SOA a ESB?
Istnieją pewne kluczowe różnice między SOA i ESB. SOA to model architektoniczny służący do implementowania luźno powiązanych aplikacji opartych na usługach. ESB to oprogramowanie infrastrukturalne, które pomaga programistom w opracowywaniu usług i komunikacji między usługami za pośrednictwem odpowiednich interfejsów API. ESB może służyć jako platforma, na której realizowana jest architektura SOA. ESB jest tylko medium, przez które przepływają usługi. ESB zapewnia narzędzia do tworzenia i wdrażania usług, które z kolei wdrażają architekturę SOA.