Quarkus, the Java stack back from the future
Java is dead, they say, Java is fat and slow, they also say. Join me for a 100% live coding session where I will prove them that they are completely wrong. The JVM ecosystem has never been so innovative than today and Quarkus is one of those new Java stacks that will blow your mind. Starting your app in 0.018 seconds with a memory print of 30Mb is now a reality and at the same time Quarkus brings Developer Experience to the next level : Live reload, continuous testing and way more that will be demonstrated during this live coding session.
Zero-downtime deployment on Kubernetes with Hazelcast
Kubernetes allows a lot. After discovering its features, it’s easy to think it can magically transform your application deployment process into a painless no-event. For Hello World applications, that is the case. Unfortunately, not many of us do deploy such applications day-to-day because we need to handle state. Though it would be much easier to have stateless apps, and despite our best efforts in this direction, state is found in (at least) two places: sessions and databases.
You need to think about keeping the state while stopping and starting application nodes. In this talk, I’ll demo how to update a Spring Boot app deployed on a Kubernetes cluster with a non-trivial database schema change with the help of Hazelcast, while keeping the service up during the entire update process.
Disco API - JDK’s distributions as a service
At Azul, we have spent some time creating a little API that should help you to discover builds of OpenJDK from different distributions in a general way.
In this session, we will give you a short introduction on what the Disco API is and how it can help you find the JDK/JRE of your choice.
At the moment the following distributions are supported: AdoptOpenJDK, Corretto, Dragonwell, GraalVM CE, Liberica, Liberica Native, Mandrel, OJDKBuild, OpenLogic, Oracle, Oracle OpenJDK, SAP Machine, Trava and Zulu.
Java and JavaFX on (desktop/mobile/embedded) clients, an overview
Java started as a programming language for smart clients. It became incredibly successful as a language and environment for server-side and later for cloud-native development. However, Java is still very powerful and applicable in the client space.
In this session, we will give a status update of the evolutions for Java on the Client. A key-framework in this is JavaFX, which is developed in the OpenJFX project, under the OpenJDK umbrella. Using JavaFX, developers can easily create cross-platform applications with a nice, modern user interface. Those applications can be deployed on all kinds of desktop systems, but also on mobile and embedded devices. By using Java and JavaFX for client development, developers benefit from the key benefits of Java, including security, stability, maturity and the large ecosystem.
In this session, we also pay attention to GraalVM, and especially to the AOT compiler that is part of the project. This AOT compiler is used by Gluon Substrate to create native executables or packages based on 100% Java code. There are some major benefits in this, e.g. fast startup time and smaller memory consumption.
After attending this session, you will understand why it is exciting to be a Java developer today, and leverage your skills in client areas like desktop, mobile and embedded.
Beyond Jakarta EE 9.1
Jakarta EE 9 lowers the barriers of entry, eases migration, and lays a foundation for future innovation. Jakarta EE 9.1 takes this even further by offering Java SE 11 support.
In this session, I will go through what Jakarta EE 9.1 brings to the table and how this release lowers the barriers of entry, eases migration, and lays the foundation for a platform for future innovation. We will also look ahead to what future releases may bring. The session includes a demo including converting from the javax. to jakarta. namespace as well as looking at available implementations.
Do you know these Libraries?
One of Java's biggest strengths is its ecosystem. You can find libraries left and right to help you with your code, so you can focus on what you need to implement. Maybe you are using full-blown frameworks like Spring that already provide you with an entire programming model to develop your project. You can also find small and standalone libraries that stand on their own and are a great addition to any project. We are going to look into standalone libraries that every project should use to improve their code and increase developer productivity.
Software Architectures: Enterprise Java
We all know what bad architecture looks like. But have you seen a good one? Do you know what makes a good one?
Join our discussion panel and find out!
In this panel we will discuss some of the biggest challenges:
- What state-of-the-art software architectures are there for enterprise java applications?
- What those software architectures give us? And what do they take away from us?
- How not to lose control over what we are creating?