GraalVM, Visible Code & Quarkus

Details

Eintreffen - 16:30

GraalVM - Ein Überblick (Martin Lippert) - 17:00

Das GraalVM-Projekt [1] von Oracle umfasst eine Vielzahl von Technologien und Komponenten. Der Vortrag gibt einen Überblick über die einzelnen Bestandteile und diskutiert, wofür man welche Komponenten jetzt schon oder in der Zukunft einsetzen kann. Die Polyglot-Features der GraalVM werden dabei vorgestellt (jeweils mit einer kleinen Live-Demo), der Vortrag fokussiert sich aber auf die JVM-basierten Sprachen, vor allem Java. Darauf aufbauend stellt der Vortrag auch das Native-Image-Feature des Graal-Projektes und die SubstrateVM vor, mit der sich Java-Anwendungen ahead-of-time in echte Binaries übersetzen lassen, die ohne eine klassische JVM ausgeführt werden können. Dabei diskutieren wir Vor- und Nachteile dieser Technologie, die aktuellen Möglichkeiten und Limitierungen, und zeigen anhand eines Beispiels, wie man Hands-On eine kleine Java-Anwendung in ein Native-Image kompilieren kann.

[1] - https://www.graalvm.org/

Visible Code (Niklas Rentz, Mike Rumpf) - 18:15

Im Projekt "Visible Code" [1], durchgeführt von der Arbeitsgruppe Echtzeitsysteme und eingebettete Systeme des Institut für Informatik und der in Melsdorf ansässigen Scheidt & Bachmann System Technik GmbH wird erforscht, wie die Entwicklung komplexer Softwaresysteme durch automatisch generierte graphische Visualisierungen des Softwarecodes unterstützt werden kann. Ziel sind gesteigerte Entwicklerproduktivität, Beibehaltung hoher Softwarequalität bei weiter steigender Systemkomplexität, und Unterstützung bei Zertifizierungsprozessen.

Selbst bei gut modularisierten großen Software-Systemen (z.B. durch OSGi oder JPMS) verliert man bei Millionen Zeilen Code doch zu leicht den Überblick und die großen Zusammenhänge und Interaktivität und Abhängigkeiten werden zum Rätsel. Fehler sowohl im Build als auch zur Laufzeit werden zur Odyssee. Eine geeignete Analyse des Systems mit interaktiver Visualisierung der relevanten Zusammenhänge der SW-Module hilft, den Überblick zu behalten und die Konsistenz und Architekturvorgaben sicherzustellen.

Es entsteht eine OpenSource Werkzeugkette sowohl für die IDE zur Compile-Zeit als auch für die Online-Analyse von Anwendungen zur Laufzeit.

[1] - https://www.forschung.uni-kiel.de/de/technologietransfer/ausgewaehlte-transferprojekte/visible-code

Quarkus - Supersonic Subatomic Java (Gunnar Morling) - 19:30

Mit Quarkus[1] können Java-Webapplikationen entwickelt werden, die in nur 20 Millisekunden und mit weniger als weniger als 20 MB Arbeitsspeicher bereit sind, den ersten Request zu verarbeiten.

Das Programmiermodell von Quarkus fühlt sich dabei sehr vertraut für Enterprise-Entwickler an: Persistenz mit JPA, JAX-RS für REST-basierte Webservices, CDI, Support für Transaktionen und vieles mehr. Typische Microservice-Belange wie Health Checks, Metriken oder Security per JWT werden mittels der MicroProfile-Spezifikationen adressiert. Auch reaktive Programmieransätze und Eventing mittels Apache Kafka finden Berücksichtigung.

Der code-zentrierte Vortrag gibt eine Einführung in den “Cloud native” Quarkus-Stack und beleuchtet, wie die Idee des “Compile Time Boot” schnelle Start-Ups und speichereffiziente Java-Anwendungen basierend auf GraalVM und HotSpot ermöglicht. Eine Demo wird Quarkus in Aktion zeigen, blitzschnelles Feedback während der Entwicklung über den “Live Coding”-Modus inklusive.

[1] - https://quarkus.io/

--------------------------------------------------
Vortragende:

Martin Lippert arbeitet bei Pivotal an Entwicklungswerkzeugen und IDEs für Spring, Spring Boot und Cloud Foundry.

Niklas Rentz hat auf sein Informatikstudium aufbauend eine Promotion an der Uni Kiel begonnen.

Mike Rumpf hat in Kiel Informatik studiert und arbeitet seit 2001 bei der der Scheidt & Bachmann System Technik GmbH in Kiel als Software-Entwickler.

Gunnar Morling ist von ganzem Herzen Open-Source-Enthusiast und als Softwareentwickler für Red Hat tätig.