Workshoptage 2019
30.09.2019, Christian Mäder

Jährlich finden im September die Workshoptage von CH-Open statt. Als Teilnehmer waren diese uns gut bekannt. Dieses Jahr aber wechselten wir die Seite und reichten selber Proposals ein. Von sechs eingereichten Themen wurden vier ausgewählt, drei Workshops fanden am Ende statt: Einer über Keycloak, einer über Kotlin und einer über Quarkus.

Dieses Jahr wurden die Workshoptage wieder an der Hochschule für Technik in Rapperswil ausgetragen, direkt am Zürichsee. Für uns ein Heimspiel sozusagen, haben die Gründer von nxt, Christian, Michi und Mirco, doch dort studiert und sich dort kennen gelernt.

Luftaufnahme der Hochschule für Technik in Rapperswil. © HSR

Keycloak Workshop

Keycloak ist eine opensource Identity and Access Management (IAM) Lösung, federführend entwickelt von Red Hat. Keycloak unterstützt von Haus aus die Authentifizierungs-Protokolle OAuth2 OpenID Connect und SAML 2.0. Somit kann Keycloak einfach und flexibel zur Authentifizierung für beliebige Applikationen verwendet werden.

Im Workshop lernten die Teilnehmer das OpenID Connect (OIDC) Protokoll sowie die Basics von Keycloak kennen. Verschiedenen Übungen vermittelten, wie man Keycloak installiert, konfiguriert, Applikationen absichert und das Look and Feel von Keycloak auf die eigenen Bedürfnisse anpasst.

Dieser Workshop wurde von Michael Gerber vorbereitet und durchgeführt. Das Unterrichtsmaterial aus dem Workshop steht in unserem Gitlab zur Verfügung.

Kotlin Workshop

Aufnahme der Workshop-Klasse während den Übungen.

Spätestens seit Google dieses Jahr an seiner Entwickler-Konferenz angekündigt hatte, dass sie für die Software Entwicklungsumgebung von Android ab sofort eine “Kotlin-first” Strategie fahren, ist Kotlin im Mainstream angekommen.

Nicht nur Entwickler von Applikationen auf Android profitieren von Kotlin, auch alle anderen Java Entwickler. So hat die Spring Foundation schon 2017 begonnen, Kotlin im bekannten Spring Framework als “first-class citizen” zu behandeln.

Was aber bringt Kotlin? Dies war eine der Hauptfragen, die der Workshop zu beantworten versuchte. Die Highlights für mich sind:

  • Die aufgeräumte Syntax, mit der das Programmieren in der Java-Welt wieder Spass macht.
  • Ein ausgeklügeltes Typensystem, welches fast alle Probleme mit null-Werten – auch zur Laufzeit – eliminiert.
  • Die vollständige Kompatibilität zur Java-Welt, sodass Kotlin jederzeit komplementär zu existierendem Java-Code in einem Projekt eingeführt werden kann.

Der Workshop begann mit einer kurzen Einführung über die Herkunft von Kotlin (produziert von Jetbrains, Open Source unter Apache 2 Lizenz). Kurz darauf konnte auch bereits das erste Programm in Kotlin verfasst werden.

Nach einer Einführung in die syntaktischen Gemeinsamkeiten und Unterschiede zwischen Java und Kotlin startete die Übung des Kapitels 2. Schritt für Schritt wird ein rudimentäres “Schere, Stein, Papier” Computerspiel entwickelt. In jedem Schritt wird ein neues Syntax-Konzept von Kotlin eingeführt und es wird erläutert, wie dieses im aktuellen Code eingesetzt wird. So lernen die Teilnehmenden schnell die Eigenheiten von Kotlin und können dieses Wissen auch gleich umsetzen.

Im zweiten Teil des Workshops wird untersucht, wie Kotlin und Java zusammenarbeiten. (tl;dr: Sie arbeiten ausgezeichnet zusammen!) Zu einem auf Spring basierendem Beispielprojekt in Java wird Schritt für Schritt Kotlin hinzugefügt und zum Schluss der bestehende Code von Java nach Kotlin konvertiert.

Dieser Workshop war Teil von Kotlin/Everywhere. Wer sich für Kotlin interessiert findet dort zahlreiche weitere Events, Vorträge und Workshops, die sich mit Kotlin beschäftigen. Im Rahmen dessen möchte ich auch einen speziellen Dank an Jetbrains und Google aussprechen, die uns ermöglicht haben, Kotlin Sticker für alle Teilnehmer zu produzieren.

Dieser Workshop wurde von Christian Mäder vorbereitet und durchgeführt. Die gesamten Kursunterlagen haben wir in unserem Gitlab bereitgestellt:

Quarkus Workshop

Quarkus ist ein Cloud Native Java-Stack, der auf die GraalVM und OpenJDK HotSpot zugeschnitten ist. Er wurde aus den besten Java-Bibliotheken und -Standards entwickelt. Das Projekt Quarkus ist opensource und wird von Red Hat vorangetrieben. Dank der GraalVM von Oracle lässt sich eine mit Quarkus entwickelte Java-Applikation zu einer nativen Applikation kompilieren. Als Zielplattformen unterstützt wird Linux, Mac und Windows. Durch das Kompilieren in eine native Applikation kann der Memory-Footprint um etwa das fünffache reduziert werden und die Applikation startet bis zu 50 Mal schneller.

Im Workshop konnten die Kursteilnehmer anhand von verschiedenen aufeinander aufbauenden Übungen Quarkus mit all seinen Stärken und Schwächen kennen lernen. Am Ende des Workshops hatten die Kursteilnehmer eine native Java-Applikation entwickelt, die sie auf ein lokales Kubernetes deployen konnten.

Dieser Workshop wurde von Michael Gerber vorbereitet und durchgeführt. Das entsprechende Kursmaterial haben wir auf unserem Gitlab zur Verfügung gestellt.

Learnings

Diese Workshops vorbereiten haben uns einiges gelehrt. Was wir im Vorhinein teilweise stark unterschätzt hatten, war der Zeitaufwand, der notwendig ist, so ein Workshop vorzubereiten.

Michi hat sogar zwei verschiedene Workshops vorbereitet und durchgeführt, würde dies aber in Zukunft nicht mehr machen. Nicht nur wegen der aufwändigen Vorbereitung, auch weil es doch sehr anstrengend ist, viele Personen gleichzeitig zu betreuen und auf diese einzugehen.

Insgesamt hatten wir sechs Themen beim OK der Workshoptage eingereicht. Davon wurden vier Themen ausgewählt. Einer der Workshops fand mangels genügend Anmeldungen nicht statt. Für uns war es nicht abschätzbar, welche Themen tatsächlich viele Leute ansprechen, und weshalb andere Themen rohrkrepierer waren. Es bleibt einzig, auszuprobieren, welche Themen die Leute ansprechen.

Zum Schluss müssen wir aber auch sagen, dass es uns – neben viel Arbeit und gelegentlichen Selbstzweifel während der Vorbereitung – viel Spass gemacht hat, unser Wissen mit vielen interessierten Personen zu teilen, und wir selber sehr viel dabei gelernt haben. Dafür möchten wir uns bei den Organisatoren der Workshoptage von CH-Open herzlich bedanken.