La société pour laquelle je travaille évalue des solutions middleware pour la gouvernance, le comptage et la sécurité des services Web. Actuellement, nous utilisons un bus de service d'entreprise (ESB) à cette fin, mais certains gars sympas de la gestion ont décidé de déployer un middleware de gestion d'API.
J'ai fait des recherches sur ces solutions de gestion des API (aka API Gateway) mais je n'ai pas pu trouver la différence entre elles et les ESB réels. J'ai évalué certains livres blancs de Mule, WSO2, Oracle, etc., mais les fonctionnalités offertes par les deux produits semblent être presque les mêmes. La question est, que peut faire une gestion d'API qu'un ESB ne peut pas faire et vice versa? Quelle valeur peut être ajoutée à une infrastructure informatique en remplaçant un ESB pour une passerelle API?
la source
Réponses:
La raison pour laquelle vous obtenez les concepts mélangés est que les vendeurs les vendent dans un package. Mais ce sont certainement des concepts distincts.
Une passerelle API fournit un point d'accès central pour gérer, surveiller et sécuriser l'accès à vos services Web exposés publiquement. Cela vous permettrait également de consolider les services sur des points de terminaison disparates comme s'ils venaient tous d'un seul hôte. Par exemple, supposons que vous disposiez de dix points de terminaison de service différents qui faisaient tous partie d'une seule "suite" de services. Plutôt que d'informer les consommateurs de votre service d'utiliser service1.yourcompany.com pour un service et service2.yourcompany.com pour un autre et ainsi de suite, vous pouvez plutôt les faire tous pointer vers api.yourcompany.com/service1 ou api.yourcompany.com / service2 et la passerelle seraient responsables de la redirection des demandes vers les points de terminaison appropriés.
Un ESB est un «bus» interne qui permet aux applications et aux services de communiquer entre eux de manière non couplée. Toutes les applications peuvent se connecter au bus et recevoir tout message les intéressant lorsqu'elles sont publiées par une autre application. Ils peuvent également publier leurs propres messages qu'une autre application peut écouter et répondre. Les applications ne sont pas responsables de la connexion directe entre elles, elles publient leurs messages sur le bus et toutes les parties intéressées écoutent et réagissent.
Logiquement, la passerelle API n'est pas un remplacement pour un ESB mais plutôt une amélioration pour une architecture orientée services.
la source