Micro My Java (μμJ)

Sigmund Hansen

Short workshop - in English

We all know the world has gone crazy for μ. μ this and μ that. Java is often used for microservices. Quite a few of them use Spring Boot, which I think is overkill for simpler services. The Eclipse Foundation has worked quite a bit on the Java EE Microprofile, which is another option, where you use Java EE features and small containers. Another popular approach is the use of the many micro frameworks that have flourished, e.g. Spark, Javalin, Ktor and the up and coming Micronaut.

Let's build a small microservice application with Micronaut, Graal, Substrate (ahead of time compiler that's part of Graal) and Docker containers. The service will be your standard, wonderfully CURLable To Do list RESTful JSON API, and we will see just how small we can get this service, and how fast we can make it start up. This will give you a quick and dirty introduction to the spanking new Micronaut microframework, that released version 1.0 in late October. It will also be an intro to very basic use of Graal and Substrate. You are expected to know Java and very basic use of Docker (although the application(s) will be possible to run without containers).

After this workshop, you should hopefully feel like running back to your hotel room, start building Java microservices and throw them at the clouds in the sky. Or at least inspired to experiment further with Java microframeworks and GraalVM.

Slides and code from the workshop can be found at:
https://github.com/Sardtok/micro-my-java

Primarily for: Developers

Participant requirements: Laptop with Docker. Optionally to build and run applications without Docker, JDK 8+ must be installed. I recommend the Micronaut CLI to set up projects, but for the workshop it isn't necessary.