Connexion / Inscription Account

Intégration

Une API REST, qu'est-ce que c'est ?

Une API REST (également appelée API RESTful) est une interface de programmation d'application qui respecte les contraintes de l'architecture REST (pour « Representational State Transfer »).

Une API, ou interface de programmation d'application, est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications. Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu demandé au producteur (la réponse). Par exemple, l'API d'un service de météo peut demander à l'utilisateur de fournir un code postal et au producteur de renvoyer une réponse en deux parties : la première concernant la température maximale et la seconde la température minimale.  

En d'autres termes, lorsque vous souhaitez interagir avec un ordinateur ou un système pour récupérer des informations ou exécuter une fonction, une API permet d'indiquer au système ce que vous attendez de lui, afin qu'il puisse comprendre votre demande et y répondre. 

Vous pouvez vous représenter une API comme un médiateur entre les utilisateurs, ou clients, et les ressources auxquelles ils souhaitent accéder. Pour une entreprise, c'est aussi une solution pour partager des ressources et des informations, tout en garantissant la sécurité et un certain niveau de contrôle, en déterminant qui est autorisé à accéder et à quoi. 

Autre avantage des API : vous n'avez pas besoin de savoir exactement comment vos ressources sont récupérées ni d'où elles proviennent.

REST

REST est un ensemble de principes architecturaux. Il ne s'agit ni d'un protocole, ni d'une norme. Les développeurs d'API peuvent mettre en œuvre REST de nombreuses manières.

Lorsqu'une requête est émise par le biais d'une API RESTful, celle-ci transfère une représentation de l'état de la ressource au demandeur. Cette information, ou représentation, est fournie via le protocole HTTP dans l'un des formats suivants : JSON (JavaScript Object Notation), HTML, XLT ou texte brut. Le format le plus communément utilisé est JSON car, comme son nom ne l'indique pas, il ne dépend pas d'un langage et peut être lu aussi bien par les humains que par les machines. 

Une API RESTful doit remplir les critères suivants :

  • Une architecture client-serveur constituée de clients, de serveurs et de ressources, avec des requêtes gérées via HTTP
  • Des communications client-serveur sans état, c'est-à-dire que les informations du client ne sont jamais stockées entre les requêtes, qui doivent être traitées séparément, de manière totalement indépendante
  • La possibilité de mettre en cache des données afin de rationaliser les interactions client-serveur
  • Une interface uniforme entre les composants qui permet un transfert standardisé des informations Cela implique que :
    • les ressources demandées soient identifiables et séparées des représentations envoyées au client ;
    • les ressources puissent être manipulées par le client au moyen de la représentation reçue, qui contient suffisamment d'informations ;
    • les messages autodescriptifs renvoyés au client contiennent assez de détails pour décrire la manière dont celui-ci doit traiter les informations ;
    • l'API possède un hypermédia, qui permet au client d'utiliser des hyperliens pour connaître toutes les autres actions disponibles après avoir accédé à une ressource.
  • Un système à couches, invisible pour le client, qui permet de hiérarchiser les différents types de serveurs (pour la sécurité, l'équilibrage de charge, etc.) impliqués dans la récupération des informations demandées
  • Du code à la demande (facultatif), c'est-à-dire la possibilité d'envoyer du code exécutable depuis le serveur vers le client (lorsqu'il le demande) afin d'étendre les fonctionnalités d'un client 

Bien que l'API REST doive répondre à l'ensemble de ces critères, elle est considérée comme étant plus simple à utiliser qu'un protocole tel que SOAP (Simple Object Access Protocol), qui est soumis à des contraintes spécifiques dont la messagerie XML, la sécurité intégrée et la conformité des transactions, ce qui le rend plus lourd et moins rapide. 

Puisque REST est un ensemble de directives mises en œuvre à la demande, les API REST sont plus rapides et légères, idéales pour l'IoT (Internet des objets) et le développement d'applications mobiles

Pourquoi choisir Red Hat ?

Red Hat® Integration est une solution centrée sur les API qui fournit des fonctionnalités de connectivité entre les applications, de transformation des données, de composition et d'orchestration des services, de diffusion de messages en temps réel, de capture des modifications de données et de gestion des API, le tout, à partir d'un seul endroit, afin de connecter les applications et les données au sein d'une infrastructure hybride. Elle est associée avec une plateforme et une chaîne d'outils cloud-native, pour assurer la prise en charge du développement d'applications modernes. 

Red Hat 3scale API Management est un élément de la solution Red Hat Integration qui vous permet de partager, distribuer, contrôler et monétiser vos API sur une plateforme d'infrastructure, pensée pour les performances, le contrôle, la sécurité et la croissance. Les composants de 3scale peuvent être hébergés sur site, dans le cloud ou les deux. 

Les outils d'intégration qui peuvent vous être utiles

Red Hat Integration logo

Un ensemble complet de technologies d'intégration et de messagerie.

Red Hat 3scale API Management

Une plateforme de gestion des API.

La monétisation des ressources avec la gestion des API