CHOISIR ENTRE UNE API RPC, SOAP, REST, GRAPHQL ET SI LE PROBLÈME ÉTAIT AILLEURS - F-G. RIBREAU

CHOISIR ENTRE UNE API RPC, SOAP, REST, GRAPHQL ET SI LE PROBLÈME ÉTAIT AILLEURS - F-G. RIBREAU

Introduction

Cette section présente l'objectif de la conférence et les sujets qui seront abordés.

Présentation du conférencier

  • François Guillaume Ribreau est architecte et responsable des développements numériques chez Ouest France.
  • Il construit une plateforme numérique pour le groupe.

Objectif de la conférence

  • Échanger sur l'état de l'art dans l'industrie vis-à-vis de la communication entre un client et un serveur.
  • Discuter des différents formats utilisés pour cette communication.
  • Imaginer les trajectoires futures possibles.

Historique des RPC (Remote Procedure Call)

  • RPC est un principe défini en 1980 permettant à un client d'appeler une procédure sur un système externe dans un autre espace mémoire.
  • L'interface définition de language permet de définir toutes les capacités offertes par le serveur distant.
  • Différentes implémentations existent, telles que XML-RPC, JSON-RPC, Thrift, etc.

Présentation du conférencier

Cette section fournit plus d'informations sur le conférencier et ses projets actuels.

Qui est François Guillaume Ribreau ?

  • Architecte et responsable des développements numériques chez Ouest France
  • A donné une conférence sur la construction d'une plateforme numérique pour le groupe à Aubret Scampi il y a quelques mois
  • Construit également une application appelée "SAS des sauveteurs" qui effectue du monitoring en temps réel

Projets actuels

  • Construction d'une plateforme numérique pour le groupe Ouest France
  • Développement de l'application "SAS des sauveteurs"

RPC (Remote Procedure Call)

Cette section approfondit les RPC et leurs implémentations.

Qu'est-ce que RPC ?

  • Remote Procedure Call est un principe permettant à un client d'appeler une procédure sur un système externe dans un autre espace mémoire.
  • L'interface définition de language permet de définir toutes les capacités offertes par le serveur distant.

Implémentations

  • Différentes implémentations existent, telles que XML-RPC, JSON-RPC, Thrift, etc.
  • Les appels sont sérialisés en XML ou JSON et utilisent HTTP pour le transport.

SOAP (Simple Object Access Protocol)

Cette section présente SOAP et ses caractéristiques.

Qu'est-ce que SOAP ?

  • Simple Object Access Protocol est un protocole qui permet d'échanger des informations avec un serveur uniquement en termes de messages XML.
  • Il fonctionne avec n'importe quel type de protocole et peut être utilisé pour faire du SMTP avec du SOAP.

Caractéristiques

  • Utilise HTTP comme protocole de transport.
  • Les requêtes et réponses sont enveloppées dans des messages XML.
  • L'interface définition de language est définie par WSDL (Web Services Description Language).

Conclusion

Cette section conclut la conférence en donnant quelques conseils aux développeurs.

Conseils aux développeurs

  • Éviter d'utiliser SOAP pour le développement d'applications, car la spécification a été arrêtée en 2009.
  • Utiliser plutôt des protocoles plus récents tels que REST ou gRPC.

Définition de l'interface

Dans cette section, le conférencier parle de l'importance de la définition d'une interface et comment cela peut affecter les normes émergentes en informatique.

Importance de la définition d'une interface

  • La représentation des données dépend des souhaits du client.
  • Si rien n'est défini en informatique, il y a une prolifération de pseudo-normes qui émergent.
  • Les entreprises comme Google et Facebook ont proposé un script appelé "fields" pour permettre aux clients de sélectionner les paramètres qu'ils souhaitent recevoir.
  • Cela permet au client d'avoir plus de contrôle sur les informations qu'il reçoit et réduit le payload pour améliorer les performances.

L'évolution des API

Cette section traite de l'évolution des API depuis 2007 jusqu'à aujourd'hui.

Évolution des API

  • En 2007, Facebook a sorti une API appelée "Facebook Query Language".
  • En 2008, Yahoo! a sorti une API appelée "Yahoo! Pipes" qui permettait aux utilisateurs de faire des jointures entre différents flux RSS et jeux de données open data.
  • En 2008 également, Facebook a créé un protocole appelé GraphQL qui suit le principe RPC avec trois types d'opérations : query, mutation et subscription.
  • GraphQL permet une approche request-reply ainsi que la possibilité d'envoyer et de recevoir des événements.

L'approche REST

Cette section traite de l'approche REST et de son avantage en termes de contrôle pour le client.

L'approche REST

  • Avec l'approche REST, la pays ne fait que exposer des ressources avec chaque objet qu'elle expose.
  • Le client peut choisir l'information qu'il souhaite récupérer, l'ordre des requêtes et s'il veut les faire en séquentiel ou en parallèle.
Video description

FRANCOIS-GUILLAUME RIBREAU - ARCHITECT / CTO @OUEST-FRANCE / REDSMIN Posons-nous et profitons de ce talk pour prendre un peu de hauteur sur l’état de l’industrie tech autour de la création d’API de persistence (CRUD). D’où venons-nous, ou allons-nous ? Pourquoi le choix entre RPC, SOAP, REST et GraphQL n’est peut-être qu’un sujet de surface qui cache un problème bien plus profond… ————————— The Web2day festival is 3 intensive and festive days dedicated to digital trends and innovations. It’s a unique opportunity to meet with European startups, investors, media, influencers, big corporates in an exceptional setting and a relaxed atmosphere. En savoir plus sur le Web2day et réservez vos places pour la prochaine édition : http://www.web2day.co Le Web2day est un événement organisé par La Cantine : https://www.lacantine.co/ Crédit vidéo : Réalisation, Motion design & Scénographie : Mstream http://www.mstream.fr Musique Originale by Jasper Louise http://www.jasperlouise.com Enregistré à Stereolux http://www.stereolux.org