L'objectif du BORDEAUX Java User Group est de permettre à des acteurs et utilisateurs du langage Java (professionnels, communautés open source, universitaires, étudiants) de se rencontrer et d'échanger autour des technologies Java.



400 endpoints d'API et 2000 types : genèse et utilisation du nouveau client Java pour Elasticsearch
Sylvain Wallez
ENSEIRB

Description du Talk

Un nouveau client Java pour Elasticsearch est sorti fin 2021. Plus léger, plus rapide, plus ergonomique et... généré à 99% !

L'API d'Elasticsearch a grandi de façon organique depuis 10 ans et compte près de 400 points d'API et 2000 structures de données. Jusqu'à 2021 il n'y avait pas de spécification formelle complète de cette API. Gênant pour générer du code... On a rapidement vu que OpenAPI était difficilement applicable, et pris une approche originale, en modélisant l'API avec des types TypeScript "compilés" dans un modèle servant de base à la génération de code.

Comment ensuite, à l'usage, s'y retrouver dans cette API très riche ? On verra avec quelques exemples que l'utilisation de fluent functional builders et de tagged unions (un peu de formalisme pour des choses simples) permet une écriture proche d'un DSL où on se laisse guider par l'autocomplétion de l'IDE sans jamais avoir à taper un nom de classe, dans des structures arborescentes et polymorphiques proposant parfois plus de 50 variantes.



Programme


18h50 Accueil des participants

19h00 News du JUG et news du monde Java

19h10 400 endpoints d'API et 2000 types : genèse et utilisation du nouveau client Java pour Elasticsearch avec Sylvain Wallez

21h00 Buffet