Back from Devoxx Belgium 2022

6 minute(s) read

Introduction

Devoxx and the times of IT conferences are back from the ashes! After three years of inactivity due to the pandemic, Devoxx Belgium is back.

This conference is one of the first IT conferences in Europe. It is also where the heart of the Java community beats for one week.

All the main actors and people of this industry are here to present very insightful talks such as James Gosling, Josh Long or Simon Ritter.

Few Worldliners had the chance to get tickets. All the tickets of the first batch have been sold in 5 minutes!

You can find below our feedback as attendee and speaker.

Artificial Intelligence: You Are Here by Alan D Thompson

Dr Alan D. Thompson is a world expert in artificial intelligence (AI). He gaves us a presentation during the keynote about what AI can really do now.

It is more and more available in our industry through Github Copilot, CodeGeex,… After reminding us the timeline of AI adoption, he illustrated by paintings drawn by IA processing how a computer can understand a literal phrase and translate it into a picture.

He then dig into GPT3 language model.

You can find the video here.

Revolutionizing Java-Based Applications with GraalVM by Alina Yurenko and Thomas Wuerthinger

In this presentation the speakers presented the concerns of cloud native applications: Starting fast, low resource usage, minimizing vulnerabilities, having compact delivery packages.

Through a micronaut application, they explained how GraalVM could help to tackle these problems.

They also demystified some myths about GraalVM. For instance, it supports reflection (.. and sometimes not), we can use Java Flight Recorder during the build time. It will support the analysis on run time soon.

To keep a good developer experience, they advised to use JIT during development and use AOT for the final deployment because the build must be done with a powerful machine using the same target OS.

The video is available here

The lost art of software design by Simon Brown

Simon Brown explained why writing down up front design is not conflicting with Agile methodologies.

He explained how this practice could help designers identifying and mitigating risks.

Beyond the well known c4 model, he explained how to mitigate risks through the risk storming. It helps tackling with risks through a visual collaborative technique.

He finally finished his presentation by answering to his question: “When to stop designing?”

The answer is in this video.

Spring and Spring Boot talks

Several speakers from VmWare (Spring Core Team) such as Brian Clozel, Stéphane Nicoll and of course Josh Long were present during this 19th edition, in particular to introduce us to the upcoming developments of Spring Framework 6.0 and Spring Boot 3.0: The new versions of these widely used frameworks are planned for this month of November 2022!

Spring Framework 6.0 and Spring Boot 3.0

First, let’s talk about the biggest change: Spring Framework 6 and Spring Boot 3 based applications will require a minimum of JDK 17 at runtime, as well as a minimum of Tomcat 10 / Jetty 11 for Jakarta EE 9 compatibility (no more import javax.* in your code)! You will have to change your code if you plan to upgrade … But don’t worry: Spring 5.X and Spring Boot 2.X will continue to be upgraded and maintained for a few years, you have time to upgrade! ;-)

Spring 6.0 and Spring Boot 3.0 will add several interesting developments:

  • on the Observability side (logging, metrics, traces, collection and visualization of these data, management of correlation ids), Spring will now use direct instrumentation in the framework with Micrometer 1.10 (and Observation).
  • AOT and GraalVM Native: first class support in these releases of Spring and Spring Boot! different outputs will be provided by Spring Boot Tools: native image, optimized container or AOT optimized app.
  • support of Problem Details RFC
  • Java Client Interface: useful for simply creating your HTTP Rest clients

The video is here.

AOT and Native in Spring Boot 3.0

In this second talk that I (Sébastien) have attended on that subject, Stéphane Nicoll and Brian Clozel have gone forward to what they introduced the previous day: Why and How Spring boot has been adapted to native image and Ahead of Time Compilation? But also and more important for us, is your current software based on Spring Boot can become a native GraalVM App? What do you need to change or to evict in your software code to achieve that transition to the native world? You will have to care about Spring profiles, reflection, java agents (don’t manipulate bytecode!)…

Stéphane and Brian have shown us how to deal with some of these issues with Spring annotation’s help and give a complete recipe to compile an existing app to native.

The video is here.

Clean Code with Records, Sealed classes and pattern matching by José Paumard

It is no longer necessary to present José Paumard (@JosePaumard)… At Devoxx Antwerp, he came to present to us the possibilities given (in Java 17 and future) by Record and Sealed Classes for pattern matching in java. Great live coding as usual with José for our greatest pleasure! Don’t get lost in your lines of code and Write clean code!

The video is here

Game of Loom: implementation patterns and performance implications playing with virtual threads

Virtual threads, included in Java 19 as a preview feature, will be the next big change in the Java ecosystem! They will give, at low cost, the scalability of asynchronous programming models with the simplicity of synchronous code… But scheduling a lot of virtual threads can also have a performance impact! Will it be always fast and efficient to use virtual threads? Mario Fusco (@mariofusco), from Redhat, will try to answer that question in a funny way in this talk

Error 404: Color not found by Dennie DeClercq

What I (Peter Steiner) like about conferences is the variety of topics outside your main interest, together with a glimpse into the future by the experts that are creating this very future.

So this was one of these talks beyond my expertise (Java server development and architecture) that I recommend to a wider audience:

Are you a UI designer? Have you ever given any thought on how your UI looks for people with disabilities like color blindness or low vision? Watch this talk to become aware of the issues (and the tools to help with these issues) and then make the digital world a more inclusive and better one!

Error 404: Color not found

Learning Through Tinkering by Tom Cools

This talk by an enthusiastic Java developer and teacher by profession is highly recommended for every person that likes to learn new things (isn’t that everybody?). One of the advices given, to learn a new technology/framework/language with a pet project, is to limit yourself to one unknown topic: e.g. if you are a Spring developer and want to learn about Virtual Threads (Project Loom), don’t do it with Quarkus or your brain might become overloaded and you then frustrated.

Tom calls this Learning Through Tinkering

Glimpse into the future

Two of the talks explaining what will (maybe) land in your developer’s toolbox in the future:

  • Maven 4: The presenter (Maarten Mulders) is using an Alpha version of Maven 4 on a daily basis and has had less issues with it than fingers on one hand. But as Maven has very high quality standards it will still take some time until Version 4 will be released. And before that there will still be a Maven 3.9 release first (the current version is 3.8.6)
  • Coordinated Restore at Checkpoint for JVM: Simon Ritter from Azul presented this project (which isn’t even be ready to be proposed for a future Java version) that explores ways to store an JIT-compiled and optimised Java application in checkpoint and restore it from there. The demos show amazing startup times. So the future might close some gaps between native GraalVM applications and JVM applications (at least concerning the startup times).
Written by

Alexandre Touret

Software architect, senior developer. #java #api #cloud #ci #software_craftsmanship

Peter Steiner

Developer for >30 years, nowadays mostly in Java, striving for programs that are readable not only for the computer but also for humans.

Sébastien Govaere

Developer, Tech Lead and now Software and Cloud Architect #Java #Cloud #Kubernetes #Spring