API REST fournissent une manière flexible et simple d'intégrer des applications et ont émergé en tant que méthode la plus commune pour la connexion de composants dans des architectures de microservices.
Une API, ou interface de programme d'application, est un ensemble de règles qui définit comment les applications ou appareils se connectent les uns avec les autres et communiquent. Une API REST est une API qui respecte les principes de conception de REST, ou le style architectural de transfert d'état de représentation . Pour cette raison, les API REST sont parfois appelées API RESTful.
Défini pour la première fois en 2000 par le scientifique en informatique Dr. Roy Fielding dans sa thèse de doctorat, REST fournit un niveau relativement élevé de flexibilité et de liberté pour les développeurs. Cette flexibilité n'est qu'une des raison pour laquelle les API REST ont émergé en tant que méthode commune de connexion de composants et d'applications dans une architecture de microservices.
Télécharger le livre électronique
Au niveau le plus basique, une API est un mécanisme permettant à une application ou à un service d'accéder à une autre application ou service. L'application ou le service effectuant l'accès est appelé le client et l'application ou le service contenant la ressource est appelé le serveur.
Certaines API, comme SOAP ou XML-RPC, imposent un cadre strict aux développeurs. Mais les API REST peuvent être développées à l'aide de presque tous les langages de programmation et elles prennent en charge une grande variété de données. La seule exigence est qu'elles respectent les six principes de conception REST suivants, également appelés contraintes architecturales :
En savoir plus
Les API REST communiquent via des requêtes HTTP pour effectuer des fonctions de base de données standard telles que la création, la lecture et la suppression d'enregistrements (également appelés CRUD) dans une ressource. Par exemple, une API REST utiliserait une requête GET pour récupérer un enregistrement, un requête POST pour en créer un, une requête PUT pour mettre à jour un enregistrement et une requête DELETE pour en supprimer un. Toutes les méthodes HTTP peuvent être utilisées dans des appels d'API. Une API REST conçue correctement est semblable à un site Web s'exécutant dans un navigateur Web avec une fonctionnalité HTTP intégrée.
L'état d'une ressource à un instant précis ou une date et heure spécifiques est connu sous le nom de représentation de ressource. Ces informations peuvent être fournies à un client dans pratiquement tous les formats, y compris JavaScript Object Notation (JSON), HTML, XLT, Python, PHP ou en texte normal. JSON est populaire car il est lisible par les humains et les machines et ne dépend pas du langage de programmation.
Les en-têtes et les paramètres de requête sont également importants dans les appels d'API REST car ils incluent des informations d'identifiant importantes telles que les métadonnées, les autorisations, les URI, la mise en cache, les cookies, etc. Les en-têtes de requête et de réponses, ainsi que les codes d'état HTTP conventionnels, sont utilisés dans les API REST bien conçues.
IBM Cloud Pak for Integration
IBM API Connect
Red Hat OpenShift on IBM Cloud
IBM Cloud Kubernetes Service
Bien que la flexibilité soit le grand avantage de la conception des API REST, cette même flexibilité facilite la conception d'une API endommagée ou à faibles performances. Pour cette raison, les développeurs professionnels partagent les meilleures pratiques dans les spécifications d'API REST.
La OpenAPI Specification (OAS) établit une interface pour décrire une API d'une manière permettant à tout développeur ou application de la découvrir et de comprendre totalement ses paramètres et fonctionnalités : les points de terminaison disponibles, les opérations autorisées sur chaque point de terminaison, les paramètres opérationnels, les méthodes d'authentification et d'autres informations. La version la plus récent récente, OAS3 (le lien réside en dehors du site ibm.com), comprend des outils, tels que OpenAPI Generator, pour générer des morceaux clients et serveur d'API dans différents langages de programmation.
La sécurisation d'une API REST commence donc par les meilleures pratiques du secteur industriel, notamment l'utilisation d'algorithmes de réadressage calculé et du HTTPS pour sécuriser la transmission des données. Une structure d'autorisation telle que OAuth 2.0 (le lien réside en dehors du site ibm.com) peut aider à limiter les privilèges des applications tiers. A l'aide d'un horodatage dans l'en-tête HTTP, une API peut également rejeter toute demande qui arrive après un certain temps. La validation des paramètres et les jetons Web JSON sont d'autres manières de s'assurer que seuls les clients autorisés accèdent à l'API.
Formation IBM Cloud
Niveau gratuit IBM Cloud
Les avantages des API REST signifient qu'elles continueront à faire partie intégrante du processus de développement de logiciel, en particulier car la demande pour une meilleure expérience client et un plus grand nombre d'applications impactent les entreprises et les opérations informatiques.
Lorsqu'il s'agit de répondre à ces demandes, passer à une plus grande automatisation aidera. L'idéal serait de commencer par de petits projets au succès quantifiable, que vous pourrez ensuite adapter et optimiser pour d'autres processus et dans d'autres parties de votre organisation. En collaboration avec IBM, vous aurez accès aux fonctionnalités d'automatisation propulsée par IA, y compris à des flux de travail préconfigurés, pour accélérer l'innovation en rendant chaque processus plus intelligent.
Les outils et services d'IBM peuvent vous aider à répondre aux problèmes importants entourant les API, notamment la sécurité, la gouvernance et l'automatisation, au cours de la poursuite de la modernisation de vos applications.
Passez à l'étape suivante :
Commencez avec un compte IBM Cloud aujourd'hui.
De vos flux de travaux métier jusqu'à vos opérations informatiques, nous avons la solution qu'il vous faut avec l'automatisation basée sur l'IA. Découvrez comment les grandes entreprises se transforment.
Créez et modernisez des applications avec IBM.