La société pour laquelle je travaille maintient un produit SaaS performant qui s'est développé "organiquement" au fil des ans. Nous prévoyons d'étendre la gamme avec une suite de nouveaux produits qui partageront les données avec le produit existant. Pour cela, nous cherchons à consolider la logique métier en un seul endroit: une couche de service Web. La couche WS sera utilisée par:
- Les applications web
- Un outil pour importer des données
- Un outil à intégrer avec d'autres logiciels clients (pas une API en soi)
Nous voulons également créer une API qui peut être utilisée par nos clients qui sont capables de l'utiliser pour créer leurs propres intégrations. Nous nous débattons avec la question suivante:
L'API interne (alias la couche WS) et l'API externe doivent-elles être identiques, avec des paramètres de sécurité et d'autorisation pour contrôler ce qui peut être fait par qui, ou doivent-elles être deux applications distinctes où l'API externe appelle simplement l'API interne comme toute autre application? Jusqu'à présent, dans notre débat, il semble que les séparer soit plus sûr, mais cela ajoutera des frais généraux.
Qu'ont fait d'autres dans une situation similaire?