Les interfaces de programmation application , ou API, sont à la mode.
Bien que les API ne soient pas nouvelles, des phénomènes récents tels que la transformation numérique accélérée pendant la COVID-19, les intégrations logicielles améliorées et les efforts visant à replateformiser les applications héritées pour le cloud ont entraîné une prolifération continue des API , ce qui a un impact sur la gestion, la sécurité et même les choix architecturaux que les organisations font pour réussir dans l'économie numérique moderne.
Les API peuvent, par essence, représenter l’essor des machines. Sauf que, heureusement, les humains ont encore le contrôle sur leur construction, leur gestion et leur sécurité (du moins pour l’instant).
Fondamentalement, dans le « langage API » (pour ainsi dire), le consommateur envoie généralement des requêtes ou des demandes au producteur , via des interfaces unifiées constituées de diverses normes, schémas et spécifications.
Par exemple, le National Weather Service (le producteur ) contient des données météorologiques quotidiennes. L'application météo sur votre téléphone (le consommateur ) appelle, ou plus précisément, interroge, ce système via l' API REST WeatherKit , puis restitue les données via l'interface utilisateur de l'application météo. Bien qu'il s'agisse d'un exemple simple d'une application populaire utilisée par des millions d' utilisateurs , il convient de noter que la communication de machine à machine représente la part du lion du trafic des expériences numériques modernes et qu'elle est alimentée par des API.
Les API présentent un certain nombre d’avantages technologiques qui se traduisent par une valeur commerciale :
Avantage technologique | Valeur commerciale |
---|---|
Résumer l’implémentation sous-jacente d’une application Web. | Les organisations peuvent déployer rapidement des applications mobiles et des architectures basées sur des microservices. |
Spécifiez les types afin que les développeurs puissent implémenter des consommateurs d'API via des outils. | Les dirigeants peuvent optimiser les processus de développement pour faciliter la mise sur le marché. |
Définir la sémantique/le comportement pour modéliser un échange d’informations cohérent et prévisible. | Les partenaires peuvent développer et monétiser des intégrations tierces. |
Lorsqu’il s’agit de mettre en œuvre des API, un certain nombre de considérations doivent être prises en compte. Plus précisément, en ce qui concerne la modélisation, le contrôle de version et les tests de contrat, qui aident à découpler les dépendances et à garantir l’interopérabilité pendant la conception, la construction et la maintenance.
Considération | Description | Avantage |
---|---|---|
Modélisation | La sémantique ou le comportement permettant de représenter et de structurer l'échange d'informations. | Gestion simplifiée des architectures distribuées. |
Versionnage | Stratégies de gouvernance pour la publication et la maintenance tout au long du cycle de vie de l'API. | Facilité d'utilisation maximale et compatibilité descendante. |
Tests de contrat | Interaction définie et réponses attendues entre le consommateur et le producteur. | Interactions déterministes avec des intégrations commerciales tierces. |
Il n’existe pas de bonne ou de mauvaise façon de créer, de gérer et de sécuriser une API. En fait, lorsque les API ont commencé à proliférer, il est devenu nécessaire de normaliser la forme et la structure des API afin de les utiliser à grande échelle. Entrez l'initiative OpenAPI et la spécification OpenAPI qui en résulte (OAS). Swagger était l'implémentation de référence originale de la spécification OpenAPI, et la plupart des outils ont désormais convergé vers l'utilisation d'OpenAPI, qui conserve toujours son swagger (HA !)
En fait, une API peut être construite à l’aide d’une variété de normes, de schémas et de spécifications. Par exemple, une présentation RESTful , un service gRPC et des connexions dans un schéma GraphQL .
Mise en œuvre | Aperçu | Avantages | Quand l'utiliser |
---|---|---|---|
![]() |
REST est de loin l’implémentation la plus largement déployée des architectures basées sur les API. |
|
|
![]() |
GraphQL est un langage de requête et de manipulation de données open source pour les API, ainsi qu'un environnement d'exécution permettant de répondre à ces requêtes avec des données existantes (développé par Facebook et désormais intégré à la Linux Foundation). |
|
|
![]() |
gRPC est un framework d'appel de procédure à distance (RPC) moderne, open source et hautes performances, sous la direction de la Linux Foundation. |
|
|
Avec cette introduction aux principes fondamentaux des API, nous explorerons comment créer, gérer et sécuriser l’architecture des API dans les articles suivants avant de tout assembler en replateformant une application héritée pour le cloud.
Vous voulez aller de l’avant ? Téléchargez le livre électronique aujourd'hui :
Maîtriser l'architecture des API | Livre électronique O'Reilly