BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités PayPal Adopte GraphQL : Des Gains De Productivité Pour Les Développeurs

PayPal Adopte GraphQL : Des Gains De Productivité Pour Les Développeurs

PayPal a récemment publié un billet de blog décrivant l'adoption de GraphQL par PayPal au cours des dernières années. Cela a commencé par une seule application Checkout en 2018 et s'est résumé à la création d'une API unifiée utilisant la fédération GraphQL. L'adoption de GraphQL dans l'ensemble de l'organisation a favorisé une productivité accrue des développeurs et un déploiement plus rapide des applications.

Shruti Kapoor, ingénieure logiciel senior chez PayPal, décrit le statut actuel de GraphQL chez PayPal :

Aujourd'hui, GraphQL est utilisé par plusieurs applications de production chez PayPal. L'utilisation de GraphQL pour la création de nouvelles interfaces utilisateur est désormais le standard. De nombreuses applications existantes sont en train de migrer vers GraphQL. GraphQL est utilisé par les plateformes communes telles que Identity, Payments et Compliance afin de fournir une expérience cohérente à travers tous les produits PayPal. Nos développeurs d'API ont commencé à utiliser GraphQL pour créer des API. Braintree a publié son API GraphQL publique.

Au fil des ans, PayPal a mis au point des outils et des normes pour favoriser l'adoption de GraphQL au sein de l'entreprise. Elle a établi une norme GraphQL pour les conventions de nommage, les types GraphQL, les normes d'en-têtes, les normes de directives et les techniques de traitement des erreurs. Son outillage comprend des bibliothèques partagées, des modèles, des échantillons et des ressources d'apprentissage. La société a également développé une communauté GraphQL interne via un canal Slack dédié.

PayPal construit actuellement une passerelle GraphQL unique et uniforme à l'aide d'Apollo Federation. Une solution similaire a également été mise en œuvre par Netflix. Dans le cadre de cet effort, certaines équipes de développement backend de PayPal ont décidé d'utiliser GraphQL pour exposer leur API en raison des avantages de productivité perçus. Cette tendance est également partagée par Netflix, où les ingénieurs ont adopté les microservices GraphQL pour développer plus rapidement les applications.

Shruti Kapoor rapporte que PayPal voit de nombreux avantages à utiliser GraphQL. L'un des premiers avantages est la productivité des développeurs. Des outils comme GraphiQL et Playground contribuent à accroître la productivité en permettant aux développeurs de jouer avec l'API et d'explorer la documentation. L'augmentation de la productivité, à son tour, permet d'accélérer les déploiements. Shruti Kapoor précise :

Nous avons pu nous débarrasser d'une grande partie de la tuyauterie qui rendait plus difficile la mise à jour des fonctionnalités et le maintien de leur équivalence avec l’ancien système. Auparavant, nous devions livrer un SDK dans chaque langage dans laquelle travaillait notre partenaire. Désormais, nous pouvons fournir un seul endpoint GraphQL avec lequel les commerçants peuvent s'intégrer, quel que soit le langage qu'ils utilisent.

Dans le même temps, PayPal a rencontré des difficultés pour adopter GraphQL. L'une d'entre elles est le manque de standardisation de GraphQL, "qui entraîne une duplication des efforts entre les équipes, différentes manières de traiter et de faire apparaître les erreurs, et une déviation par rapport à la méthode standard de gestion de l'authentification". Un autre défi est la nécessité d'adapter les outils internes conçus pour REST afin de traiter les requêtes GraphQL de manière appropriée.

PayPal a commencé à utiliser GraphQL lorsqu'il a construit son application Checkout avec GraphQL. L'équipe de développement a vu les avantages de l'utilisation de GraphQL et les a évangélisés au sein de l’entreprise.

De même, Shruti Kapoor recommande aux autres organisations qui veulent commencer à adopter GraphQL de construire d'abord un PoC "qui peut montrer comment GraphQL peut s'intégrer dans l'architecture de votre entreprise". Ensuite, elle recommande d'assurer un transfert de compétences aux équipes, en soulignant les avantages de GraphQL. Pour assurer la réussite de la démarche Shruti Kapoor suggère également de créer un groupe de travail chargé d'établir des normes et de fournir des conseils et des ressources d'apprentissage.

GraphQL est un langage open-source de requête et de manipulation de données pour les APIs, c’est aussi un moteur permettant d'exécuter des requêtes avec des données existantes. GraphQL a été développé en interne par Facebook en 2012 avant d'être rendu public en 2015. Il a gagné en popularité ces dernières années en tant qu'alternative aux APIs REST plus traditionnelles. Son principe central est de permettre une flexibilité plus importante pour les développeurs front, qui peuvent requêter uniquement les données dont ils ont précisément besoin pour une interface particulière en une seule opération.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT