Anmeldung zum Seminar
Wenn Sie an diesem Seminar teilnehmen wollen, füllen Sie folgendes Formular aus.Die mit * gekennzeichneten Felder müssen ausgefüllt werden.
Zu wissen, wie eine Programmiersprache funktioniert, genügt nicht, um im Unternehmen effizient Software zu entwickeln. Für die Erstellung qualitativ hochwertiger Produkte sind zusätzliche Werkzeuge und Arbeitsabläufe notwendig. In diesem dritten und abschließenden Modul wird der gesamte Entwicklungsprozess betrachtet und umgesetzt, sodass die Teilnehmer im Anschluss sofort in Entwicklungs-Teams eingesetzt werden können.
Lernziele:
- Verständnis der modularisierten Programmierung und der Vorteile modularer Systeme
- Beherrschen von Source Code Management mit Git und Build-Prozessen mit Apache Maven
- Kenntnis der wichtigsten Open Source-Bibliotheken und deren Integration in Projekte
- Fähigkeit zur Qualitätssicherung durch Unit-Tests und Integration Tests
- Anwendung von Multithreading und Verteilten Anwendungen mit Java
- Umsetzung von CI/CD-Pipelines und Bereitstellung von Anwendungen mit Docker
Nutzen für die Teilnehmer:
- Sie erlangen die Fähigkeit, den gesamten Entwicklungsprozess effizient und qualitativ hochwertig zu gestalten.
- Sie vertiefen ihre Kenntnisse in modernen Entwicklungswerkzeugen und -methoden.
- Sie sind in der Lage, sofort in Entwicklungs-Teams eingesetzt zu werden und komplexe Projekte umzusetzen.
- Sie lernen, wie sie Anwendungen modularisieren und verteilen können, um die Wartbarkeit und Skalierbarkeit zu erhöhen.
Module
- Motivation der modularisierten Programmierung
- Source Code Management am Beispiel Git
- Build-Prozess am Beispiel Apache Maven
- Diskussion und Bewertung des Java Module Systems
- Diskussion zu Services und Microservices
Bibliotheken
- Open Source-Bibliotheken im Maven-Repository
- Dependency Management mit Maven
- Übersicht der wichtigsten Bibliotheken
Testing
- Kriterien zur Software-Qualität
- jUnit
- Unit-Tests vs Integration Tests
- Testtreiber, Dummies und Mocks
- Refactoring-Strategien
Verteilte Anwendungen
- RESTful WebServices
- Multithreaded Java-Server, Beispiel Apache Tomcat
Software-Entwicklung
- Umsetzung einer CI/CD-Pipeline
- Einführung in die Welt der Container, Beispiel Docker
- Bereitstellung einer Anwendung durch ein Docker-Image
Abschlussarbeit
- Der gesamte Prozess der Software-Entwicklung wird anhand eines RESTful WebServices umgesetzt.