GraphQL — a data language and new paradigm for APIs

Le Mardi 29 octobre 2019 à partir de 18h30

Avec Olivier Lange

GraphQL is a schema description and data query language, as well as a specification and a runtime, which are redefining API design and client-server interaction. GraphQL provides an alternative to REST-based architectures, with the purpose of increasing developer productivity and minimizing amounts of data transferred.

Software developers generally want to work with reusable abstractions instead of single-purpose methods. With GraphQL, we define each piece of data once and define how it relates to other data in our system. When a consumer application fetches data from multiple sources, it no longer needs to worry about the complex business logic associated with data join operations.

GraphQL is not tied to any specific backend and leverages your existing code and data, allowing it to integrate heterogeneous systems and expose their services thru a unified API.

Also, GraphQL’s expressive schema language has the potential to define an enterprise-wide data schema and embrace its evolving nature — incidently, establishing a common language between developers, product owners and business analysts, a treasure and huge productivity boost.

Originally developed internally by Facebook, its specification and a reference implementation were open-sourced in 2015. In a matter of a few years, GraphQL was widely adopted by the industry, as it concisely solves many problems at once. Its development and standardization is now hosted under the Linux Foundation. Airbnb, Apollo, Coursera, Elementl, Facebook, GitHub, Hasura, Neo4j, Prisma, Shopify and Twitter are working together to form this new, vendor-neutral foundation that will provide unified governance and stewardship for GraphQL.

This talk will provide a primer on GraphQL, sample service architecture, share best practices and a reflexion on early experiences, its risks & opportunities — namely how to reach its full potential, which requires to adopt early on a schema-driven design approach of the business domain, instead of a data-first approach, a delicate distinction of the design process we’ll discuss.

Voisins 105 est situé Route des jeunes 105A, 1227 Carouge

Transport public : Stade de Genève

Parking : P+R Voie Centrale (Free from 19H) or Centre commercial de la Praille