Lernen

Workshops & Schulungen

Echtes Praxiswissen direkt und persönlich


Gerne teile ich mein Wissen mit. Daher halte ich nicht nur Vorträge, sondern führe auch Workshops und Schulungen durch. Dies geschieht häufig während meiner projektbezogenen Tätigkeiten, wo ich im Zuge von Mitarbeiterschulungen tätig werde, aber gerne stehe ich auf Anfrage auch als Referent zur Verfügung. Wenn es meine Zeit erlaubt und weil es mir Spaß macht, biete ich auch immer wieder zwischendurch Schulungen zu bestimmten Themen an. Dabei behandel ich nur Themen, die mich selber wirklich interessieren und wo ich auf viele Jahre Erfahrung zurückgreifen kann.

Aktuelle Schulungen

Wichtig ist mir, dass die Schulungen

  • praxisorientiert -
    mit Diskussion von Beispielen aus meinem und Ihrem Erfahrungsfeld
  • umsetzbar -
    mit konkreten Tipps und Hinweisen, wie Sie das Erlernte in Ihrem Unternehmen umsetzen können
  • fundiert -
    mit den neuesten Erkenntnissen aus Theorie und Praxis und
  • individuell -
    mit einem begrenzten Teilnehmerkreis ist eine intensive und individuelle Lernerfahrung für jeden Teilnehmer gesichert
sind.

Alle Teilnehmer sollen den behandelten Stoff wirklich verstehen und danach in der Lage sein, das Vorgestellte umzusetzen und in ihren Projekten anzuwenden. Neben der Praxisnähe ist somit auch immer die Darstellung der Hintergründe einer Technologie wichtig, auch um diese im Kontext mit anderen Technologien zu verstehen.

Flexibilität

Die Inhalte einer Schulung sind nicht zwingend festgelegt und werde ich gerne Ihren Bedürfnissen und Erwartungen anpassen. Individuelle Themenschwerpunkte können im Vorfeld ausführlich abgesprochen werden, so dass die bestmögliche Anpassung an die Bedürfnisse der Teilnehmer erreicht wird. Dadurch wird vermieden, dass Themen behandelt werden, die bereits beherrscht werden oder für die Teilnehmer nicht relevant sind.

Workshops

Auf Wunsch können Schulungen auch mit Workshops verbunden werden. Hier können die Teilnehmer das vermittelte Wissen sofort zur Lösung einer konkreten internen Aufgabenstellung einsetzen. Dabei unterstütze ich gerne bei der Erarbeitung Ihrer individuellen Lösung.




Sie bieten selbst eine Seminar-, Schulungs- oder Veranstaltungsreihe an?

Falls Sie selber eine Seminar-, Schulungs- oder Veranstaltungsreihe anbieten, stehe ich Ihnen gerne als Referent zur Verfügung. Auch hier können die Inhalte vorab besprochen werden und Inhalte auch als Kompaktschulungen erstellt oder passende Vorträge erarbeitet und gehalten werden.

Interessiert?

Für Fragen rund um Inhalte, Schulungstermine und individuelle Anpassungen nehmen Sie bitte Kontakt mit mir auf.

Aktuelle Schulungen


Java 8 & Java 9 Update

Dauer: 2 Tage

Fit mit Lambdas und dem Java-Modulsystem

Mit Java 8 sind zahlreiche Sprachmittel der Plattform hinzugefügt worden, die den Stil, wie Java-Entwickler programmieren, verändern können. Dazu gehören Lambda-Ausdrücke und Methoden-Referenzen, wie sie aus der funktionalen Programmierung bekannt sind, aber auch Default-Methoden in Interfaces, die Mehrfachvererbung ermöglichen. Zudem bietet Java 8 mit der neuen Stream-API den Einsatz von funktionalen Schnittstellen für Zugriffe auf Elemente einer Collection, die sowohl sequentielle als auch hochperformante parallele Zugriffe erlauben. Dies ist insbesondere für Anwendungen auf Multicore- und Multi-CPU-Architekturen von Bedeutung. Neben der wichtigen Neuerung der Streams ist in Java 8 ein neues Date-Time-API hinzugefügt worden, welches die alten Klassen wie Date, Calendar, etc. ablöst.

Nach jahrelanger Planung wurde mit Java 9 das JDK modularisiert und das Modulsystem Jigsaw hat Einzug gehalten. Modularisierung als wichtiges Prinzip der Softwaretechnik für den Entwurf langlebiger und wartbarer Software-Systeme wird nun von der Java-Plattform direkt unterstützt. Mit eingebauten Sprachmitteln zur Modularisierung können Java-Anwendungen klar strukturiert und Laufzeit-Abhängigkeiten definiert werden. Durch die Modularisierung des JDK hat sich dessen Struktur vollständig geändert und der Klassenpfad wurde durch einen Modulpfad ersetzt. Zudem ist es möglich eigene modulare Laufzeitimages zu erstellen, was insbesondere für den Einsatz in container- oder embedded-Systems interessant ist. Diese und weitere gravierende Änderungen und Neuerungen an der Java-Plattform macht die Beschäftigung mit Jigsaw zu einem Muss für jeden Java-Entwickler.

Die Schulung gibt einen kompakten Überblick über die wesentlichen Neuerungen in Java 8 und Java 9. Es werden die Prinzipien der funktionalen Programmierung am Beispiel der Benutzung von Lambdas und Streams besprochen. Das neue modulariserte JDK und das Modulsystem werden vorgestellt und es wird gezeigt, wie auf Basis von Modulen eigene modulare Java-Anwendungen entworfen und gebaut werden können. Zudem werden Probleme, die beim Umstieg auf Java 9 auftreten können, ebenso erläutert wie mögliche Migrationsstrategien.


Zielgruppe
  • Java Entwickler
  • Java Architekten

Voraussetzungen
  • Grundlegende Programmierkenntnisse in Java
  • Softwareentwicklungskenntnisse

Inhalt
Sprachneuerungen in Java 8
Lambdas
  • Lambda-Ausdrücke
  • Lambda-Schreibweise, Kontext, Ausnahmen
  • Methoden- und Konstruktor-Referenzen
  • Funktionale Interfaces und Typinferenz
  • Default- und statische Methoden in Interfaces

Stream-API
  • Stream von Arrays und Collections
  • Terminale und intermediäre Operationen
  • Stateful und Stateless Operationen
  • Sequenzielle und Parallele Streams
  • Typische Map-Reduce-Operationen

Date-Time-API
  • LocalXXX-Typen
  • Zeitzonen
  • Instance
  • Duration, Period
  • Clock
  • Interoperabilität

Das Java Platform Modul System (JPMS)
Einführung Modularisierung
  • Entstehung und Historie
  • Grundlagen der Software-Modularisierung
  • Warum Bedarf an Modularität in Java?
  • Ziele und Vorteile von Projekt Jigsaw

Plattformmodularisierung
  • Modularisierung des JDKs
  • Der JDK-Modulgraph
  • Einkapselung von den internen JDK APIs
  • Änderungen an Core Reflection

Software-Modularisierung mit Java
  • Modul-Deskriptoren und Abhängigkeiten zu Modulen
  • Arten von Module
  • Module definieren
  • Module bauen
  • Module paketieren
  • Module ausführen
  • Modulare JAR Dateien
  • Lesbarkeit zwischen Module
  • Der Modulpfad

Services
  • Erweiterung von der Klasse ServiceLoader
  • Nutzung eines Service
  • Einsatz von Service-Provider und Service-Consumer

Modulare Laufzeit-Images
  • Das Werkzeug Jlink
  • Minimale JRE-Laufzeitumgebungen bauen

Ausblick auf weitere Möglichkeiten
  • Migration von Anwendungen auf das Modulsystem
  • Modulare Schichten





Das Java-Modulsystem

Dauer: 2 Tage

Softwaremodularisierung auf Basis des Java-Modulsystems

Mit Java 9 wurde das JDK modularisiert und das Modulsystem Jigsaw hat Einzug gehalten. Modularisierung als wichtiges Prinzip der Softwaretechnik für den Entwurf langlebiger und wartbarer Software-Systeme wird nun von der Java-Plattform direkt unterstützt. Mit eingebauten Sprachmitteln zur Modularisierung können Java-Anwendungen klar strukturiert und Laufzeit-Abhängigkeiten definiert werden. Durch die Modularisierung des JDK hat sich dessen Struktur vollständig geändert und der Klassenpfad wurde durch einen Modulpfad ersetzt. Zudem ist es möglich eigene modulare Laufzeitimages zu erstellen, was insbesondere für den Einsatz in container- oder embedded-Systems interessant ist. Diese und weitere gravierende Änderungen und Neuerungen an der Java-Plattform macht die Beschäftigung mit Jigsaw zu einem Muss für jeden Java-Entwickler.

Die Schulung vermittelt die Grundlagen der Softwaremodularisierung, stellt das modulariserte JDK und das Modulsystem vor und zeigt, wie auf Basis von Modulen eigene modulare Java-Anwendungen entworfen und gebaut werden können. Die Erstellung von eigenen Laufzeitumgebungen wird ebenso behandelt, wie die möglichen Migrationsstrategien für die Migrierung bestehender Anwendungen auf das Java-Modulsystem. Weitere Themen sind das Testen von Modulen und die Nutzung von Modulschichten.

Zielgruppe
  • Java Entwickler
  • Java Architekten

Voraussetzungen
  • Grundlegende Programmierkenntnisse in Java
  • Softwareentwicklungskenntnisse

Inhalt
  • Einführung in die Modularisierung
  • Einführung in das Java-Modulsystem
  • Das modulare SDK
  • Java 9 Modulgrundlagen
  • Modulabhängigkeiten definieren
  • Module verpacken
  • Module kompilieren und ausführen
  • Services einsetzen
  • Laufzeit-Images mit dem JLink-Werkzeug erzeugen
  • Das JDeps-Werkzeug
  • Module API
  • Migration auf Java 9
  • Testen
  • Integration mit Build-Werkzeugen
  • Modulschichten


Das Wissen nehmen Sie mit
Als Teilnehmer erhalten Sie die Print-Ausgabe von meinem Buch "Modularisierung mit Java 9 - Grundlagen und Techniken für langlebige Softwarearchitekturen"