Klassische Webanwendungen im Java-Umfeld (imperative Programmierung) binden jeden Request an einen Thread. Sie blockieren ihn, bis der Applikations-Code abgearbeitet ist und der Aufrufer eine Response erhält. Das führt dazu, dass der Thread auf I/O-Operationen wartet (z.B. Datenbank-Anfragen) und keine weiteren Requests in dieser Zeit bearbeitet.
Bei der reaktiven Programmierung setzt man auf nicht blockierenden und ereignisgetriebenen Applikations-Code, wodurch man mit weniger Ressourcen besser skalieren kann. Hier kümmert sich die JVM um die Ressourcenvergabe, wodurch die einzelnen Threads nicht durch Wartezeit blockiert sind.
Dieser Vortrag stellt die Grundlagen sowie Vor- und Nachteile reaktiver Programmierung im Java-Umfeld vor.
Skills
* Grundkenntnisse in der Java-Entwicklung sowie Grundwissen über das Webframework Spring.
* Alternativ: Kenntnisse von JavaScript Promise und RxJS.
Lernziele
* Vorstellung reaktiver Programmierung
* Umsetzung reaktiver Programmierung mit Spring 5 (Reactor)
* Vergleich der Umsetzung mit Java 9 (Flow-API) und RxJava
* Vor- und Nachteile der reaktiven Programmierung
* Entscheidungshilfe für den Einsatz reaktiver Programmierung im Enterprise-Bereich
Referent
Torsten Kohn@TorstenKohn
ist Lean Java Expert bei der comSysto GmbH in München. Sein Schwerpunkt liegt in der Entwicklung von Softwarelösungen mithilfe von Spring. Er ist stets auf der Suche nach neuen Konzepten und Vorgehen in der Entwicklung von Software mit Java. Häufig ist er auf Meetups rund um Softwareentwicklung im Raum München anzutreffen, um sich mit anderen auszutauschen.