L'utilisation d'une Service Gateway pour isoler l'application des détails de communication avec le service présente les avantages et les inconvénients suivants :
Avantages du pattern
- Le fait de dissocier la logique d'accès au service du reste de l'application permet de modifier plus facilement le service auquel accède l'application.
- Le composant Service Gateway masque la complexité que représente l'accès à un service à partir de l'application. L'encapsulation de la logique d'accès au service dans une couche séparée améliore également la réutilisation de la logique d'accès.
| Lors de la conception du Gateway, il faut anticiper sur les évolutions |
- Le composant Service Gateway régit la communication avec une ressource externe via un point d'accès unique, cela la facilite la connexion à un système ERP ou CRM ou tout autre élément du SI.
- Le composant Service Gateway offre un emplacement idéal pour fournir des fonctionnalités communes comme l'invocation asynchrone, la mise en cache ou la gestion des erreurs.
Inconvénients du pattern
- Le composant Service Gateway ajoute un niveau de complexité inutile pour les solutions simples.
- L'ajout d'un composant s'accompagne d'un effort supplémentaire d'implémentation, configuration, de tests et livraison.
- Lors de la conception du Gateway, il faut anticiper sur les évolutions ainsi que l'interaction entre l'application et le service externe. Tout changement relatif à la passerelle nécessitera une modification au niveau de l'interface application-gateway.