Architecture API Management
Principes
L'architecture API Management prend racine dans les enjeux de la digitalisation des Systèmes d'Information:
- Valoriser le cœur
- Simplifier les cas d’usages
- Réduire les coûts d’interconnexion des partenaires et des fournisseurs
- Approche multi devices
Les utilisateurs ciblées ne sont pas uniquement internes dans les DSI mais aussi chez les partenaires et le grand public.
Les "utilisateurs" sont des développeurs.
Pour prendre en main ces API, ils ont besoins de services transverses tels que:
- une documentation d'utilisation
- une déclaration d'usage avec un compte et des tokens d'usage
- la possibilité de tester dans des environnements hors production
Pour proposer des API et les adapter aux usages, les responsables doivent:
- suivre le succès des API
- communiquer vers les utilisateurs
- s'assurer de l'adéquation entre les usages et les offres.
- vendre ces usages afin de rentabiliser les investissements logiciels, matériels et support.
Pour s'assurer que ces usages sont respectueux du Système d'Information, la DSI:
- définit des contraintes et des seuils d'utilisation
- identifie la fraîcheur des données mises à disposition.
Technologies
Pour cela, les mécanismes mis en oeuvre mettent à profit les techniques les plus récentes ayant démontrées un ROI:
- Protocole HTTP
- URL REST
- Format des messages au format JSON
- Sécurité OAuth 2
La restriction à ces points permet de proposer des services manipulables dans:
- les périphériques mobiles
- tous les OS mobiles: Androis, iOS et Windows Mobile
- les applications natives ou web
- les frameworks JavaScripts évolués comme Angular
Enfin la sécurité est orienté web et permet des usages simples:
- Délégation par utilisateur
- Accès par token
- Formulaire
- Serveur à serveur
Architecture typique
Une architecture API Management est composée de 2 modules:
- Une API Gateway pour exposer, sécuriser, cacher, etc les points d'entrée
- Un Portail API pour communiquer, administrer et suivre les usages.
Les grandes particularités de ces solutions sont:
- leur élasticité
- leur cache intégré.
L'élasticité est nécessaire pour répondre à des fortes pics de demandes. L'exposition en API et d'un
Adhérences
Avantages | Inconvénients | |
---|---|---|
Interconnexion (lib, protocole, etc) | Adapté aux échanges WEB | Limité au protocole HTTP |
Propagation des changements (format et version) | Organisation des API par version. | |
Run (processus) | Point d'accès unique à une API. | Scalabilité de la solution. |
Exploitation |
Synthèse
Avantages | Inconvénients | |
---|---|---|
Gouvernance | Approche fonctionnelle. | Grain trop fin au niveau service. Classifier les services pour abstraire la complexité. |
Développement | Périmètre fonctionnel clair et contraint. Testabilité forte. | Conception logicielle indispensable. Compétences pluridisciplinaires des développeurs. |
Exploitabilité | Les services sont interchangeables et évolutifs. | Très nombreux éléments à surveiller. Pré-requis:
|
Infrastructure | Infra résiliente aux pannes. Scalabilité au niveau service. | Nombreux processus. |
Middleware Solutions https://www.middleware-solutions.fr