Ein Geduldsspiel! Das 1000-Module-Puzzle für Entwickler. Das neue Modulsystem Jigsaw in Java 9

Tutorial Day - 17. Februar
 
09:00
12:30
 
Tutorial
 
Seminarraum 1.812

Mit Java 9 kommt das lange angekündigte Modulsystem Jigsaw. Jigsaw ist eine grundlegende Strukturänderung von Java-Plattform und -Sprache, mit deren Auswirkungen man sich möglichst früh beschäftigen sollte.
Eine erste Jigsaw-Version im September 2015 hatte für so viele Diskussionen gesorgt, dass Java9-Roadmap und Feature-Freeze um ein halbes Jahr auf 2017 verschoben wurden.
In diesem Tutorial erläutern wir Grundlagen von Jigsaw. Wir zeigen Motive und Ziele für die Einführung eines Modulsystems.
Anhand von Code-Beispielen lernen die Teilnehmer, wie das Modulsystem aussieht und welche wichtigen Designentscheidungen getroffen wurden:
* Warum braucht Java überhaupt ein Modulsystem? Was will man erreichen? Wie profitieren Entwickler davon?
* Was ist ein Modul? Wie definiere ich Module und Abhängigkeiten? Welche Sichtbarkeiten gibt es zwischen Modulen?
* Module sind sowohl Compiler-Erweiterung als auch Teil des Laufzeitsystems. Wie wirkt sich das aus?
* Wie vertragen sich Module mit generischen Ansätzen wie Reflection oder Callbacks, auf denen eine Reihe bekannter Frameworks basieren?
* Welche anderen Konstrukte gibt es (Beispiel: Services)?
* Wie sehen Tools aus? IDE? Build/Dependency-Management?
Frühere Java-Versionen waren immer abwärtskompatibel. Jigsaw ist eine tiefgreifende strukturelle Veränderung:
* Wie geht man mit externen Bibliotheken um?
* Welche Ansätze gibt es zu Migrationspfaden sowie zu Architektur und Design?
Wir bieten diese Einführung als Tutorial in Form eines interaktiven Entwicklerworkshops an. Wir zeigen die Grundlagen mit Folien und führen interaktiv durch Beispiele und Code, u.a.
zu Module-Info, requires, exports, uses/provides, Interface/Implementierung, Exceptions, Reflection, Module-API und -Finder usw.
Alle Beispiele können die Teilnehmer selber auf ihrem Laptop mitmachen und somit alles lokal nachvollziehen. Sourcecode und SEU/Entwicklungsumgebung mit JDK, Eclipse stellen wir (mindestens) für Windows zur Verfügung (verteilen wir als ZIP-Paket auf USB-Stick) bzw. legen wir nach Github.

Martin Lehmann

Accso - Accelerated Solutions GmbH, Deutschland

Martin Lehmann ist als Cheftechnologe und Softwarearchitekt bei der Accso – Accelerated Solutions GmbH tätig. Seit Ende der 90er-Jahre arbeitet er als Softwareentwickler und -architekt in Softwareentwicklungsprojekten für Kunden verschiedener Branchen. Seit den Zeiten von Java 1.0 beschäftigt er sich mit Java als Programmiersprache und als Ökosystem.

Rüdiger Grammes

Accso - Accelerated Solutions GmbH, Deutschland

Dr. Rüdiger Grammes ist als Principal bei der Accso – Accelerated Solutions GmbH und dort als Softwarearchitekt in verschiedenen Projekten unterwegs.

Dr. Kristine Schaal

Accso - Accelerated Solutions GmbH

Dr. Kristine Schaal ist als Softwarearchitektin bei der Accso - Accelerated Solutions GmbH tätig. Sie arbeitet seit fast 20 Jahren in der Softwareentwicklung und ist in Projekten der Individualentwicklung für Kunden verschiedener Branchen unterwegs, technisch überwiegend im Java-Umfeld.