Découverte des avantages des API
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Définir l’abstraction
- Nommer les avantages à utiliser une API
- Expliquer les verbes HTTP et leur utilisation
Lors de la mise en place de son équipement de fitness, la propriétaire du club de fitness commence à imaginer comment cela se passerait s’il n’existait pas de normes électriques. L’équipement ne serait pas la seule chose dont il faudrait s’occuper. Il faudrait également se pencher sur le câblage dans les murs, les autres appareils raccordés à ce câblage, le mode de production de l’électricité (parc éolien, centrale nucléaire, groupe électrogène au charbon ou panneaux solaires), voire même l’emplacement de la source d’énergie. Heureusement, elle n’a pas à s’inquiéter de tous ces détails : il lui suffit de brancher son équipement où elle le souhaite et de vaquer à ses occupations.
Les API apportent un niveau de prévisibilité et de fiabilité similaire. Elles offrent des niveaux de connectivité spécifiquement conçus, correspondant souvent à des contextes précis. Leur intégration est facilement renouvelable et évolutive. De plus, dans de nombreux cas, elles impliquent un échange de valeurs réciproque. La propriétaire du club de fitness a accès à une alimentation en électricité fiable pour ses tapis de course, et le fournisseur d’énergie est en mesure de quantifier et de facturer cette consommation.
Avantages de l’utilisation des API
Les API offrent une multitude de possibilités. Voici comment les logiciels, les clients, les intégrateurs non spécialistes, les développeurs et leurs équipes peuvent tirer parti de l’utilisation des API.
Externalisation
Conformément au principe de répétabilité, tout appareil compatible (ici, l’équipement de sport) peut facilement externaliser son alimentation en électricité à un service et s’attendre à obtenir des résultats standardisés. De même, les API vous permettent d’externaliser des données et des fonctionnalités clés via une interface standard prévisible. Concentrez-vous sur la création d’applications, de services et d’expériences client de qualité, et non sur la manière d’obtenir des informations communes bien que nuancées.
Pensez à la manière dont Lyft s’appuie sur l’interface standard de Google Maps pour importer l’affichage des cartes et la géolocalisation dans son application mobile. L’affichage des cartes n’a jamais fait partie de l’expérience client lors de l’utilisation d’un taxi ou d’une limousine. Toutefois, les services de transport à la demande tels que Lyft ont envisagé la possibilité d’améliorer l’expérience client en proposant des cartes.
Grâce à l’API de Google Maps, Lyft n’a pas eu à se soucier de la façon d’intégrer des cartes à son application. Ainsi, l’entreprise est capable de se concentrer sur les processus métier pour garantir une expérience de covoiturage de qualité.
Le réflexe de recourir aux API dans le but de créer une expérience client exceptionnelle doit venir naturellement à ceux d’entre vous qui aspirent à devenir des Trailblazers de l’intégration. Il vous reviendra d’apprendre aux autres membres de votre organisation à adopter cet état d’esprit.
Mobilité accrue
Les appareils consommateurs d’électricité peuvent être facilement déplacés d’une prise à une autre. Par exemple, en l’absence de fiche, de prise correspondante ou de normes, la propriétaire de la salle de fitness devrait brancher l’équipement directement sur le câblage qui passe dans les murs du bâtiment. Elle aurait alors besoin de se procurer des outils spéciaux, d’exposer tous les fils, puis de les assembler. Elle aurait également besoin d’obtenir des informations sur les fils qui sortent du mur.
Grâce à une interface standard, l’équipement peut être facilement déplacé. (Pensez à la mise à niveau des logiciels, à la migration vers un nouveau service ou à l’élargissement de votre centre de données.) Même si le modèle de l’interface change (comme c’est le cas lorsque vous voyagez de l’Amérique du Nord au Royaume-Uni, par exemple), les appareils électriques peuvent être facilement adaptés, les normes étant bien définies et documentées.
Abstraction
Dans le cas du club de fitness, la prise électrique est une couche d’abstraction du service sous-jacent, à savoir la fourniture d’électricité. Mais qu’est-ce que l’abstraction ? C’est une façon de cacher les détails fonctionnels d’un autre système.
Tant que le service fournit 120 volts de courant alternatif à la prise murale de manière standard, le fournisseur de service est libre de tout changer, de l’arrière de la prise à la source d’énergie elle-même. Si un changement survient, les appareils consommateurs ne le ressentent pas.
Les API servent de couche d’abstraction entre les données ou la fonction fournies et la logique requise pour terminer et exécuter une tâche à la source. En d’autres termes, votre logiciel doit simplement savoir comment se connecter à l’autre système et non pas comment l’autre fonctionne.
Productivité accrue des développeurs
Lorsque les programmeurs écrivent du code, ils partent rarement de zéro. Les API sont conçues pour travailler à partir d’une base de code existante et l’utiliser à tout moment, n’importe où, au lieu d’essayer de recréer ces fonctionnalités. Bien que la réutilisation du code existant limite la différenciation entre les applications, une référence à l’API (plus communément désignée sous le nom d’appel d’API) peut fournir au programme les données ou fonctionnalités attendues. Étant donné que les API peuvent gérer des tâches courantes, et même des tâches moins courantes, elles peuvent réduire le temps de développement des applications pour le faire passer de plusieurs mois, voire de plusieurs années à seulement quelques semaines.
Lorsque les développeurs atteignent ce type de productivité, l’entreprise gagne considérablement en souplesse. Comme vous pouvez l’apprendre dans le module Intégration guidée par les API pour la réinvention de l’entreprise, les API permettent de créer des nouveaux produits et des processus commerciaux améliorés bien plus rapidement qu’auparavant.
Utilisation de protocoles HTTP pour accéder aux données
Bien qu’il n’y ait pas de règle ni de loi qui détermine exactement comment les développeurs doivent connecter leurs applications à une API, plusieurs normes sont apparues. Par exemple, lorsque les applications se connectent aux API à partir d’Internet, la majorité des fournisseurs d’API permettent ces connexions via le protocole HTTP (protocole de transfert hypertexte), qu’on désigne également sous le nom de World Wide Web.
Que ce soit une application sur votre téléphone qui appelle une API, que vous récupériez votre compteur de calories sur un navigateur Web, ou que vous enregistriez les informations de votre entraînement sportif avec le logiciel de l’équipement du club de fitness, vous vous appuyez sur un ensemble spécial de commandes HTTP appelées « verbes ».
Verbes HTTP
|
Descriptions
|
---|---|
POST |
Soumettre les données demandées à un serveur à des fins de traitement |
GET |
Récupérer les données demandées à partir d’un serveur |
PUT |
Mettre à jour les données existantes et les remplacer par de nouvelles données envoyées dans la demande |
DELETE |
Supprimer les données demandées au serveur |
Dans la plupart des cas, le fournisseur de services fournit une adresse Web spéciale, appelée « point de terminaison d’API », à laquelle le logiciel doit se connecter à l’aide d’un verbe HTTP. Voici un exemple tiré de FitBit.
GET https://api.fitbit.com/1/user/[ID-utilisateur]/activities/date/[date].json
Notez qu’au lieu du « www » habituel, FitBit utilise « api ». Ici, les développeurs peuvent utiliser la commande GET pour renvoyer les données devant s’afficher dans leurs applications. Dans le cas de ce point de terminaison, la réponse attendue inclut la dernière activité (la course à pied), ainsi que tous les défis de fitness que l’utilisateur a récemment réalisés.
Si un tapis de course connecté utilisait cette API, il pourrait afficher une mine d’informations utiles au coureur ! Regardez cet exemple de réponse reçue après avoir envoyé une demande GET à l’API Fitbit.
API
Bien entendu, la réponse ci-dessus n’est pas très intuitive et ne serait jamais présentée à l’utilisateur du tapis de course. Elle est formatée selon une autre norme, appelée JSON (JavaScript Object Notation), qui est souvent utilisée avec le protocole Web HTTP. Cela peut sembler très technique, mais il existe une nouvelle gamme d’outils d’intégration simplifiés, comme MuleSoft Composer, qui permet aux non-programmeurs de travailler facilement avec ces sorties. Ainsi, les intégrateurs non spécialistes peuvent imaginer de nouvelles façons d’utiliser les API et les mettre en pratique en développant eux-mêmes ces intégrations. Il se peut que les programmeurs écrivent du code pour lire et traiter la réponse ci-dessus, tandis que les intégrateurs non spécialistes, tels qu’un responsable de branche ou un concepteur de tapis de course, le feront via des clics.
Interface du tapis de course
Une fois que le tapis de course reçoit une réponse, l’utilisateur peut voir le nombre total de calories brûlées, ses performances par rapport au dernier défi de fitness réalisé, et plus encore.
Maintenant, mettez-vous dans la peau du concepteur de l’interface utilisateur du tapis de course. Avez-vous des idées pour mettre au point une interface utilisateur différente ? Par exemple, une interface qui pourrait tirer parti des autres données contenues dans la réponse ? Sachez que c’est tout à fait possible. Cette flexibilité relative aux modifications qu’il est possible d’apporter à l’interface utilisateur constitue l’un des avantages qu’offre le niveau d’abstraction fourni par les API.
Comprenez bien : les applications peuvent utiliser plusieurs API en même temps ! Sans aucune limite ! Une application peut envoyer des appels à plusieurs API et fournisseurs d’API. Ces applications composites sont parfois appelées « applications Web hybrides » et, à l’instar d’une recette pouvant comporter n’importe quel ingrédient, votre imagination constitue l’unique limite de ce qui peut être accompli en les utilisant.
Grâce aux milliers d’API que les développeurs de logiciels et les non-programmeurs disposant d’outils d’intégration simplifiés (les intégrateurs non spécialistes) peuvent utiliser sur Internet (plus de 23 000 d’après le décompte le plus récent, selon ProgrammableWeb.com), le Web est devenu une plate-forme programmable aussi puissante, sinon plus, que d’autres plates-formes programmables comme Windows, Mac et Linux. C’est un peu comme une étagère à épices géante dans laquelle vous pouvez vous servir à tout moment. Plus tôt vous repenserez les processus métier et les expériences client de votre entreprise en tant qu’applications Web hybrides développées à partir de composants standards, plus vite vous serez en mesure d’utiliser les API pour transformer votre entreprise !
Ressources