Devoxx Belgique 2016

Cette année encore, je vais faire un retour sur Devoxx Belgique édition 2016, qui s’est déroulé du 7 au 11 novembre.

Pour ceux qui ne connaissent pas, Devoxx Belgique (ex-Javapolis) est un évènement créé pour réunir les développeurs et évangélistes du monde entier. Lancé en 2001 par Stephan Janssen, il compte aujourd’hui environ 3 500 personnes, 200 speakers et plus de 250 conférences.

Les vidéos sont (déjà) disponibles sur Youtube.

TL;DR

Ce que j’aurais retenu de Devoxx Belgique :

  • Tout d’abord, le retour de JEE8 (ou devrais-je dire l’arrivé). La roadmap et le périmètre ont un peu changé. Une roadmap un peu agressive a été de nouveau partagée, avec les précautions qui s’imposent. On verra bien ! Mais on sera sans aucun doute nombreux à être heureux que la machine reparte.
  • Ensuite, on poursuit avec le JDK 9, qui se fait de plus en plus concret. D’ailleurs, on sent à travers les sujets que beaucoup de monde joue avec en ce moment. Je vous invite d’ailleurs à vous faire votre propre avis en l’essayant.
  • Docker et les microservices ne sont plus des questions.
  • Le Machine Learning et le Big data poursuivent leurs vies pour conquérir le monde 😉
  • Et, il ne faut pas se priver du plaisir d’un JHipster de notre Julien Dubois toujours fashion.
  • Contrairement à l’année dernière, je n’ai pas eu trop de difficulté pour voir les conférences que je voulais, le système de Favories semble bien marcher.

Conférences

Voici un zoom sur les présentations auxquelles j’ai assisté (par thème).

Java Language

Keynote sur java (Mark Reinhold et Brian Goetz)

Cette keynote présente rapidement les avancés de Java 9 au-delà des modules, mais aussi les certaines fonctionnalités pressenties pour le JDK 10. La présentation donne une bonne vision d’ensemble sur le JDK. Les fonctions pour produire une application réduite à sa portion congrue (JRE + module) me semblent un véritable atout pour les microservices. Je suis plus dubitatif sur l’utilisation du REPL (console Java, comme en Scala ou Python) qui permet de faire rapidement des tests rapide avec un shell Java.Je ne suis pas sur que j’en aurais l’usage. On verra avec le temps.

Project Jigsaw: Under The Hood (Mark Reinhold)

Cette présentation ressemblait à une mise à jour de ce qui avait été présenté l’année dernière. Si vous ne l’avez pas vu, il faut prendre le temps de la regarder, car elle explique de façon très pédagogique l’impact et le comportement de Jigsaw dans JDK9.

Deep Dive into JUnit 5 (Sam Brannen)

JUnit 5 est visiblement issue d’un énorme travaille de refactoring, pour avoir une architecture plus souple tout en conservant la compatibilité ascendante. JUnit apport en plus de nombreuses fonctionnalités dont, entre autres, le assertTimeout sur le temps d’exécution d’une méthode, l’utilisation des stream pour chaîner les testes et le changement de @Ignore au profit de @Disabled. C’est une présentation très claire qui vous donne rapidement les informations pour passer à JUnit 5.

Anticipating Java 9 – Functionality and Tooling (Trisha Gee)

Cette présentation présente les fonctionnalités de IntelliJ pour prendre en compte Java 9, notamment sur la prise en charge des modules, des changements de syntaxe et du REPL. La présentation est très bien, mais un peu trop courte à mon goût. On aurait aimé en savoir plus.

Server Side Java

Java EE 8 and Java EE 9 – What’s coming? (David Delabassee)

Après certains soubresauts en printemps dernier, et un long temps de réflexion, Java EE reprend sa course. Le choix semble s’orienter sur une clôture rapide de la version 8 à partir de ce qui a été fait pour repartir du bon pied vers les architecture et tendance du moment, le cloud et les containers. Cette présentation est à voir, car elle apporte beaucoup d’éclaircissement sur un JEE devenu un peu flou à travers le temps.   

The New HTTP Client API in JDK 9 (Michael McMahon)

Cette présentation montre les évolutions du protocole HTTP et celles de l’API. Le passage à l’asynchronisme à travers completableFuture devrait apporter pas mal de performance dans un univers microservice où les appels HTTP deviennent la règle. C’est en tout cas un plus certainement un plus agréable pour nous les développeurs.

CDI 2.0 is upon us (Antoine Sabot-Durand)

Cette présentation était une mise à jour de sa présentation de l’année précédente. CDI est un élément majeur du développement Java et l’arrivée de celui-ci dans SE devrait apporter pas mal de souplesse au développement.

Introducing the MicroProfile (David Blevins, Andy Gumbrecht, Alasdair Nottingham, Heiko Braun, Mike Croft)

Cette présentation de l’initiative MicroProfile est un intéressante, car elle met en avant ce groupe de travail qui souhaite normaliser les microservices en Java. Je pense également que leprojet d’exemple sur github est à regarder de près.

Methodology & Architecture

Building secure software with OWASP (Martin Knobloch)

Cette présentation montre une approche méthodologique de la gestion de la sécurité ainsi qu’un outil le “OWASP security knowledge framework” de suivi de la sécurité de ses projets . L’ensemble paraît vraiment pratique et facilement utilisable dans nos projets de développement pour piloter la sécurité le plus facilement possible.

Property-Based Testing for everyone (Romeu Moura)

Je n’ai pas vu sa présentation, mais j’ai eu la chance qu’il me présente directement son sujet. J’avoue qu’il m’a donné à réfléchir. Ces propositions de méthode d’écriture et de refactoring des tests me semblent un outil intéressant pouvant enrichir l’outillage classique du développeur. Si la thématique des tests et de la modélisation métier vous intéressent, prenez le temps de regarder la vidéo.

Cloud, Containers & Infrastructure

Docker Security for Developers (Justin Cormack)

La sécurité dans les containers est un vaste sujet. Cette présentation était orientée sur les bonnes pratiques et l’hygiène des conteneurs. La présentation est une bonne introduction au sujet.

Patterns and Antipatterns in Docker Image Lifecycle (Jonathan Roquelaure)

C’est une présentation que tous les utilisateurs de Docker devraient voir. Elle montre un grand nombre d’erreurs susceptibles d’être fait lorsqu’on démarre avec Docker sur les tags, les héritages, les publications, etc. À mon avis, cette présentation vous fera gagner pas mal de temps si vous pensez utiliser Docker en production.

Develop faster with an open source microservices platform based on Docker, Kubernetes and Jenkins (James Strachan)

Étant intéressé par le sujet DevOps, je bidouille avec OpenShift/Kubernetes/Docker depuis pas mal de temps maintenant. Fabric8 était dans mon radar. Mais le temps est limité et je ne l’avais pas regardé depuis plusieurs mois. J’ai donc reçu une belle claque à travers cette présentation en voyant l’avancée fulgurante du produit. Je vais donc me pencher de nouveau sur ce sujet que je pense complémentaire d’OpenShift avec plaisir et j’espère vous en donner bientôt plein de bonnes nouvelles. Regarder cette présentation ! Pour moi, ça groove ;-).

Et aussi…

Je n’ai pas vu, mais j’ai entendu les plus grands biens de :