Historiquement, la description des interfaces entre systèmes était le domaine des architectes et des intégrateurs, souvent réduite à des échanges d'email avec des structures de données. À l'ère de SOA et plus encore dans une architecture microservices, le rôle de l'analyste système dans la formalisation et le soutien des contrats d'intégration a considérablement augmenté.
Une description erronée, incomplète ou obsolète des interfaces API devient la cause : d'incompatibilité des services, d'une augmentation du nombre de bugs, de l'impossibilité d'effectuer des changements sans perturber l'ensemble du système. Dans des projets multiservices, le nombre de points d'intégration atteint des dizaines et des centaines.
L'analyste système applique des pratiques modernes :
Un élément clé est le maintien d'une version correcte et de la traçabilité des changements des contrats, ainsi que l'intégration des cas de test pour la validation des interactions.
Caractéristiques clés :
L'analyste doit-il recueillir les exigences de l'API uniquement auprès du client et des développeurs internes ?
Non, il est important d'impliquer toutes les équipes intégrées, de prendre en compte les exigences des partenaires externes pour éviter des lacunes ou des incompatibilités.
Peut-on documenter l'API seulement au stade de remise du système ?
Non, la spécification de l'API est formulée et convenue avant la réalisation, sinon la rétrocompatibilité sera compromise à chaque étape.
La spécification OpenAPI est-elle suffisante comme documentation pour tous les cas d'échange ?
Non, OpenAPI décrit les structures, mais les scénarios d'interaction (par exemple, l'ordre d'appel, la séquence des événements, les erreurs business) doivent être détaillés par l'analyste dans la documentation utilisateur.
Cas négatif : Le système de logistique s'est intégré avec des transporteurs externes. Le contrat a été décrit uniquement "en mots". Après la sortie des modifications, des refus d'intégration massifs ont eu lieu, des retards.
Avantages :
Inconvénients :
Cas positif : L'analyste a créé un OpenAPI avec des exemples d'erreurs/scénarios réussis, a convenu de la version, a recueilli des retours d'expérience de toutes les équipes.
Avantages :
Inconvénients :