JavaLand 2019
Dit jaar zijn we met drie man sterk naar JavaLand afgereisd. Hubert om een talk over Micronaut te houden en Robin en ik om eens mee te maken wat de jaarlijkse Java conferentie van onze oosterburen te bieden heeft. Het bijzondere aan JavaLand is natuurlijk dat het in een pretpark wordt gehouden!
Dag 1
Eenmaal opgestaan na een avondje Brühl verkennen en vertrokken uit ons pittoreske appartement, zijn we in no-time in Phantasialand. Een locatie die mij nog het meest doet denken aan een soort van mini disneyland. Wat gelijk opvalt, is dat zowel parkeren als naar binnenlopen zonder enige rij of vertraging gaat. Ook wel eens fijn! We waren dan ook lekker vroeg omdat we de sessie "Coding That Sparks Joy with Quarkus" niet wilde missen. Een talk waarin Edson Yanaga (Red Hat) het nieuwste framework op het gebied van Java development "Quarkus" toont. Quarkus is de oplossing van Red Hat op het probleem van de toch wel zware resource consumerende java runtimes in een cloud omgeving. Door middel van o.a. compile time dependency injection en GraalVM (native compilatie) biedt het framework supersnelle boottime en laag geheugen gebruik. Quarkus lijkt geënt op hergebruik van de Jakarta EE API's, en gaat ook gepaard met de gedemonstreerde 'live reload' van je code tijdens ontwikkelen. Het lijkt er op dat we er binnenkort een nieuwe speler bij hebben op het gebied van Java (micro)services frameworks.
Dan volgt de keynote verzorgt door Ed Burns (Oracle). Deze viel zoals keynotes dat wel vaker doen wat tegen. Dit gaf ons dan weer mooi de tijd om ruim van te voren bij Hubert aan te schuiven voor "Skyrocketing Microservices Development With Micronaut". Even later zat de zaal helemaal vol dus dat kwam goed uit. Zoals gebruikelijk een vloeiende live-coding sessie waarin Hubert in een notendop laat zien hoe Micronaut je snel en simpel microservices laat ontwikkelen en veel extra's zoals statically typed clients, retries en reactive out of the box ondersteund. Inclusief een demo o.b.v. native compilatie want de compile-time injection van Micronaut leent zich goed voor native compilatie.
Na een uitstekende lunch, een talk over Keycloak en ééntje over JUnit 5 sloten we af met onze eerste sessie in het Duits over nieuwe en komende languages features in Java. Wat vooral blijft hangen zijn de "value types" uit project Valhalla die immutable objecten een first-class language feature zouden maken. Dit zou los van een duidelijkere syntax, in theorie optimalisaties in de JVM zoals het van de stack lezen van deze objecten i.p.v. de heap mogelijk kunnen maken.
De apotheose van de dag is natuurlijk de OpenPark avond waarin een aardig aantal van de attracties open gaan, speciaal voor de conferentie. We kiezen vanwege de drukte bij de restaurants om eerst in de achtbaan te stappen en dit blijkt maag-technisch een goede keus. Na eerst afgeschoten te worden volgt er na een fiks aantal bochten een tweede magneet versnelling en dito shot adrenaline. Daarna bijkomen in het Aziatisch restaurant onder het genot van een paar Duitse pilsjes. Ik zeg Pils, want op een steenworp afstand van Keulen hebben ze uiteraard ook het lokale Kölsch geserveerd in "stange" zoals we een dag eerder al hadden ontdekt. Aansluitend gelijk door naar de dag afsluiting compleet met liveband en special guest performance van Ed Burns.
Dag 2
Na een goed ontbijt in ons appartement, nog voor dat de koffie zijn werk doet, werden we ondergedompeld in de Monats, Functors en Category Theorie. De spreker wil vooral duidelijk maken dat functioneel programmeren een taal onafhankelijke mindset is, en geeft wat handvaten voor het functioneel opdelen van problemen. Een boodschap die toch iets krachtiger was geweest als hij zijn code voorbeelden ook daadwerkelijk in Java i.p.v. Kotlin had gemaakt.
Daarna aangeschoven bij talk over runtime security in combinatie met container-based deployment van Jen Tong (Google). Uiteraard inclusief een hack van wordpress dat als gewillig voorbeeld dient. Daarna door naar "Making Knative Java native", waarin Ray Tsang (Google) wat uitleg geeft over hoe Knative, bovenop Kubernetes en Istio, in elkaar zit. Om vervolgens in no-time een werkende image recognition (client) functie op Knative te maken en deployen. #impressed!
Bij gebrek aan Engelse praatjes hebben we ons weer gewaagd aan een Duits praatje van Johannes Weigend, dat ondanks het duits weer prima te volgen is. Een objectieve beschouwing van het schrijven van microservices in Go t.o.v. Java. De toekomst zal uitwijzen hoe Go zich gaat verhouden tegen alle nieuwe 'native java' initiatieven. Wat overigens opviel zijn de hoeveelheid 'softtalks' die erop duiden dat de oosterburen met dezelfde vragen worstelen als wij: "Wie könnt ihr, wie können wir Mädels und Frauen motivieren, eine Karriere in der IT anzustreben?"
De laatste sessie die we meepakken is een talk van Tim Berglund (Confluent) over het inzetten van Kafka als basis voor een event gebaseerde micro services architectuur. Niet alleen voor de event gebaseerde communicatie maar ook als permanente event store om met behulp van KSQL tot bruikbare views te komen. Wellicht iets voor een eerstvolgend reactive (hobby) project...
Mit Herzliche Grüße,
Robbert und Robin