Tutorial: Parallel, aber strukturiert - Koroutinen in Kotlin

Agile Day
18.05.
ab 13:30 Uhr
bis Uhr
Kotlin
Raum
Rheinauen

Abstract

Das mit der Nebenläufigkeit ist ja so eine Sache. Moderne Anwendungen kommen um Asynchronität (z.B. durch externe Service Calls) oder parallele Anfrageabarbeitung (Stichwort: Skalierung) nicht mehr herum. Doch Nebenläufigkeit ist und bleibt ein Feld für Überraschungen. Hier haben wir uns Jahrelang an Thread-basierte Ansätze gewöhnt. Mit der Folge, dass uns die gestarteten Threads gerne mal davonlaufen, ausgehen oder sich schlicht und ergreifend gegenseitig blockieren.

Kotlin greift zum Thema Nebenläufigkeit ein anderes, eigentlich auch schon altbekanntes Konzept auf: die Koroutinen. Was es mit diesem Ansatz auf sich hat, was sich hinter dem Konzept der strukturierten Nebenläufigkeit versteckt und warum u.a. Scoping hier ein wichtiges Konzept ist, wird in diesem Tutorial anhand anschaulicher Codebeispiele erläutert, die am eigenen Rechner nachvollzogen werden können.

Voraussetzungen

Das Tutorial wendet sich an Entwickler und Architekten. Vorkenntnisse bzgl. der Entwicklung nebenläufiger Systeme sind von Vorteil, aber nicht zwingend notwendig. Vorkenntnisse in Kotlin sind nicht zwingend notwendig.

Zum Nachvollziehen der Beispiele auf dem eigenen Rechner bitte die unten aufgeführten Voraussetzungen/Installationen beachten!

  • begrenzte Teilnehmeranzahl: max. 12

Benötigt wird ein Rechner (mit Admin Zugriff!) mit IDE und aktueller Kotlin Unterstützung.

Hardware:

  • Laptop (kein Tablet!)
  • aktuelle CPU
  • mind. 8 GB RAM
  • mind. 50 GB freier Festplattenplatz
  • Zugriff auf den USB-Port
  • Internetzugriff

Software (bitte vorab Installieren):

  • aktuelle IntelliJ IDEA Community Edition (mit aktiviertem Kotlin Plugin)
  • PDF Reader
  • git (optional)

Speaker

Werner Eberling

MATHEMA GmbH, Deutschland

Werner Eberling ist Principal Consultant und Trainer bei MATHEMA GmbH. Seit 1999 befasst er sich mit verteilten Systemen – angefangen bei C++/CORBA über die Java EE bis hin zu Microservice- und Cloud-Architekturen. Er ist Software-Architekt in größeren Scrum-Projekten und bietet Technologie-Trainings in Deutschland und der Schweiz an. Sein Wissen gibt er auch als Autor von Fachbüchern und Fachartikeln sowie als Speaker auf IT-Konferenzen weiter.