Firma, dla której pracuję, ocenia niektóre rozwiązania oprogramowania pośredniego w zakresie zarządzania, pomiaru i bezpieczeństwa usług internetowych. Obecnie używamy do tego celu Enterprise Service Bus (ESB), ale niektórzy fajni koledzy z zarządzania postanowili wdrożyć oprogramowanie pośrednie do zarządzania API.
Zagłębiłem się trochę w te rozwiązania API Management (czyli API Gateway), ale nie mogłem znaleźć różnicy między nimi a rzeczywistymi ESB. Oceniłem kilka oficjalnych dokumentów z Mule, WSO2, Oracle itp., Ale funkcje oferowane przez oba produkty wydają się prawie takie same. Pytanie brzmi: co może zrobić API Management, czego nie może zrobić ESB i odwrotnie? Jaką wartość można dodać do infrastruktury IT, zastępując ESB bramą API?
integration
middleware
dliber
źródło
źródło
Odpowiedzi:
Powodem, dla którego pogmatwane są te koncepcje, jest to, że dostawcy sprzedają je w pakiecie. Ale są to zdecydowanie odrębne koncepcje.
API Gateway zapewnia centralny punkt dostępu do zarządzania, monitorowania i zabezpieczania dostępu do publicznie ujawnionych usług internetowych. Umożliwiłoby to również konsolidację usług na różnych punktach końcowych, tak jakby wszystkie pochodziły z jednego hosta. Załóżmy na przykład, że masz dziesięć różnych punktów końcowych usług, które wszystkie są częścią jednego „zestawu” usług. Zamiast informować konsumentów o Twojej usłudze, aby korzystali z service1.twojafirma.com dla jednej usługi i service2.twojafirma.com dla innej i tak dalej, możesz zamiast tego poprosić ich o wskazanie api.twojafirma.com/service1 lub api.twojafirma.com / service2, a brama byłaby odpowiedzialna za przekierowanie żądań do odpowiednich punktów końcowych.
ESB to wewnętrzna „magistrala”, która umożliwia aplikacjom i usługom komunikowanie się ze sobą w niepowiązany sposób. Wszystkie aplikacje mogą podłączyć się do magistrali i mogą otrzymywać dowolne wiadomości, które ich interesują, gdy zostaną opublikowane przez inną aplikację. Mogą także publikować własne wiadomości, na które inna aplikacja może nasłuchiwać i odpowiadać na nie. Aplikacje nie są odpowiedzialne za bezpośrednie łączenie się ze sobą, publikują swoje wiadomości w autobusie, a wszystkie zainteresowane strony słuchają i reagują.
Logicznie brama API nie zastępuje ESB, ale raczej ulepszenie architektury zorientowanej na usługi.
źródło