← Retour aux sessions passées

GraphQL — un langage de données et un nouveau paradigme pour les API

📅 2019-10-29

GraphQL est un langage de schéma et de requête de données, ainsi qu'une spécification et un environnement d'exécution qui redéfinissent la conception des API et l'interaction client-serveur. GraphQL offre une alternative aux architectures basées sur REST, dans le but d'augmenter la productivité des développeurs et de minimiser la quantité de données transférées.

Les développeurs de logiciels préfèrent généralement travailler avec des abstractions réutilisables plutôt qu'avec des méthodes à usage unique. Avec GraphQL, nous définissons chaque donnée une seule fois et nous définissons comment elle se rapporte à d'autres données de notre système. Lorsqu'une application client récupère des données de plusieurs sources, elle n'a plus besoin de se préoccuper de la logique métier complexe associée aux opérations de jointure de données.

GraphQL n'est pas lié à un backend spécifique et exploite votre code et vos données existants, ce qui lui permet d'intégrer des systèmes hétérogènes et d'exposer leurs services via une API unifiée.

En outre, le langage de schéma expressif de GraphQL a le potentiel de définir un schéma de données à l'échelle de l'entreprise et d'embrasser sa nature évolutive — incidemment, en établissant un langage commun entre les développeurs, les propriétaires de produits et les analystes commerciaux, une véritable richesse et un énorme gain de productivité.

Développé à l'origine en interne par Facebook, sa spécification et une implémentation de référence ont été rendues open-source en 2015. En quelques années, GraphQL a été largement adopté par l'industrie, car il résout de nombreux problèmes à la fois de manière concise. Son développement et sa normalisation sont maintenant accueillis par la Linux Foundation. Airbnb, Apollo, Coursera, Elementl, Facebook, GitHub, Hasura, Neo4j, Prisma, Shopify et Twitter travaillent ensemble pour former cette nouvelle fondation, neutre vis-à-vis des fournisseurs, qui fournira une gouvernance et une intendance unifiées à GraphQL.

Cette présentation fournira une introduction à GraphQL, une architecture de service exemple, partagera les meilleures pratiques et une réflexion sur les expériences précoces, ses risques et opportunités — à savoir comment atteindre son plein potentiel, ce qui nécessite d'adopter dès le début une approche de conception basée sur le schéma du domaine métier, au lieu d'une approche basée sur les données, une distinction délicate du processus de conception dont nous discuterons.

Conférencier

Olivier Lange

Olivier Lange

Olivier Lange est le fondateur et directeur général du Petit Atelier de Génie logiciel, un cabinet de conseil en logiciels aidant les équipes à accélérer leurs processus de développement et à faire évoluer les systèmes existants. Nous fournissons des services de conseil, d'analyse métier et développons des logiciels sur mesure — nous construisons des applications complètes, principalement des tableaux de bord d'intelligence d'affaires ou de suivi de la traçabilité des données, comblons les lacunes fonctionnelles et déplaçons des ensembles de données complexes entre les systèmes. Au cours de 18 ans, nous avons réalisé 130 mandats, allant de 3 jours à 24 mois, pour de petites et moyennes entreprises, des institutions publiques et privées en Suisse, France et Luxembourg— tels que Lombard Odier TBI & Asset Management, Radio Télévision Suisse-romande (RTS), Office fédéral des routes (OFROU), HEI, Pro Helvetia, Université de Genève. En plus de nos mandats, nous organisons des retraites de code hebdomadaires et annuelles, pour prendre du recul et nous donner le temps de rechercher, apprendre et pratiquer des sujets avancés et des technologies novatrices. Nous nous concentrons actuellement sur les flux de données réactifs, les bases de données graphiques et les visualisations de structures de données liées complexes et de graphiques multi-couches. Rejoignez-nous lors de nos séances de hack hebdomadaires Gōng-fu I/O — vous trouverez d'autres « data-nauts! » partageant les mêmes idées.