Überblick aller Java-Kurse

Der Überblick zeigt Ihnen, welche Kurse wir anbieten, und wie diese als Lernpfad zusammen hängen. Durch Klick auf ein oder mehrere Techniken können Sie sich die zugehörigen Kurse anzeigen lassen.

Einstieg in das Thema

Grundkurs

Inhaltliche Erweiterung in bestimmten Themengebieten

Aufbaukurs

Thematische Vertiefung für Spezialisten

Spezialkurs

Java Enterprise Edition (Java EE)

Jakarta EE Intensivkurs

Kursziele

In diesem Seminar werden die wesentlichen JEE-Techniken umfangreich präsentiert und durch praktische Übungsaufgaben vertieft. Unsere erfahrenen Trainer*innen kommen aus der Softwareentwicklungspraxis und führen Sie in diesem kompakten Seminar mit hohem Praxisbezug durch die Bestandteile der JEE. Grundlage des Kurses ist die Version 8 der Plattform.

In unserem Kurs erlernen Sie alle Komponenten, um eine komplette Enterprise-Anwendung oder einen Microservice zu programmieren zu können. Sie bilden die Persistenz-Schicht mit Hilfe von Jakarta Persistence (früher Java Persistence API bzw.JPA) in Verbindung mit einem O/R Mapper wie EclipseLink oder Hibernate. Datenvalidierungen realisieren Sie mit Bean Validation (BV). Anschließend erlernen Sie die Nutzung von CDI Beans, um Businesslogik professionell zu entwickeln und die Komponenten der Anwendung miteinander zu integrieren. Mit RESTful Webservices bauen Sie Schnittstellen für andere Anwendungen oder JavaScript-UIs.

Jakarta EE - kurz JEE - ist eine Sammlung von Softwarekomponenten und Diensten, die Softwareentwickler bei der Erstellung komplexer und mehrschichtiger Unternehmensanwendungen unterstützt. JEE ist heute ein Projekt der Eclipse Foundation mit dem internen Namen EE4J. Zuvor wurde der Standard von Oracle unter dem Namen Java EE - anfänglich auch J2EE - entwickelt. Die im September 2019 erschienene Jakarta EE 8 ist funktionsgleich mit der Java EE 8 von 2017 und wird von allen aktuellen Java-Applikationsservern unterstützt. Das im Dezember 2020 erschienene Release Jakarta EE 9 führt i. W. die Paketnamensänderung von javax.* nach jakarta.* durch, die durch die bei Oracle verbliebenen Namens- und Urheberrechte notwendig war. Jakarta EE 9 wird derzeit nur von GlassFish unterstützt.

Durch die Standardisierung mit JEE lassen sich Software-Entwicklungszeiten und Kosten deutlich senken. Essentielle Funktionalitäten für die Entwicklung von professionellen Softwareanwendungen wie Security, Persistenz und Dependency Injection bringt JEE bereits mit. Zudem lassen sich Anwendungen sicher, hochverfügbar und skalierbar gestalten. Das ebenfalls bei der Eclipse Foundation beheimatete Projekt Microprofile definiert ein Subset von JEE-Bestandteilen und ergänzt weitere Dienste, die JEE-Anwendungen leicht und in Cloud-Umgebungen betreibbar machen.

Die Zielumgebung der Anwendungen können Sie im Kurs frei auswählen oder auch umschalten: Alle Demos und Übungen laufen u. a. auf WildFly (JBoss), Open Liberty (WebSphere Liberty) und Payara (GlassFish).

Details zu diesem Kurs

Relationen und Vererbung in der Java Persistence API (JPA)

Kursziele

Relationen und Vererbung sind zentrale Elemente der Java Persistence API (JPA). Das Objektmodel wird durch Entitäten und Beziehungen zwischen den Entitäten abgebildet. In diesem Kurs definieren Sie die Relationen und navigieren durch das Model.

Details zu diesem Kurs

Jakarta RESTful Web Services

Kursziele

In diesem Seminar lernen Sie, wie Sie sog. API Endpoints entwickeln, über die Sie von Außen auf Ihre Anwendungs zugreifen können. Sie nutzen dafür den Standard Jakarta RESTful Web Services, der Teil von Jakarta EE ist.

Die Services lassen Sie im Kurs auf dem JEE-Server WildFly laufen. Der Code ist aber nicht serverabhängig und läuft unverändert auch auf anderen JEE-Servern.

Jakarta EE - kurz JEE - ist eine Sammlung von Softwarekomponenten und Diensten, die Softwareentwickler bei der Erstellung komplexer und mehrschichtiger Unternehmensanwendungen unterstützt. JEE ist heute ein Projekt der Eclipse Foundation mit dem internen Namen EE4J. Zuvor wurde der Standard von Oracle unter dem Namen Java EE entwickelt. Jakarta RESTful Web Services hieß damals JAX-RS.

Details zu diesem Kurs

Microservices mit Quarkus - Grundlagen

Kursziele

  • Quarkus: Bootstrap, Developer Mode, Test
  • Basisbausteine für Services: JPA, CDI, REST.
  • Cloud-ready Features: Config, Health, Metrics
  • Umfangreiche Demos und Übungsanteile.
Details zu diesem Kurs

Power Workshop Jakarta EE 8

Kursziele

JEE hat den Ruf, komplex und schwierig zu sein - ganz zu Unrecht, wie wir meinen. Insbesondere die aktuelle Version Jakarta EE 8 bietet eine mächtige und dennoch leichtgewichtige Umgebung für Enterprise-Anwendungen. Lernen Sie in diesem kompakten Workshop mit viel Praxis, wie serverseitige Logik mit JPA, CDI, BV und EJB realisiert werden kann und wie Schnittstellen auf Basis von Jakarta Restful Webservices aufgebaut werden. Im Kurs wird Jakarta EE 8 genutzt, wobei auf die Unterschiede zu Vorversionen explizit eingegangen wird.

Details zu diesem Kurs

Compact Jakarta EE Course

Kursziele

Wrongfully, JEE has a reputation for being complex and difficult. On the contrary platform versions 6 and above represent a sometimes surprisingly simple and yet powerful environment for enterprise applications.

In our compact Jakarta EE course you will acquire the necessary skills for developing enterprise applications or microservices. You'll build the persistence layer with Jakarta Persistence (formerly knows as Java Persistence API or JPA) in combination with EclipseLink or Hibernate. Business data will be validated by Bean Validation, Datenvalidierungen realisieren Sie mit Bean Validation (BV). Subsequently you will master CDI for you business logic and Jakarte Restful Webservices for interaction with other applications or JavaScript UIs.

Jakarta EE - JEE in short - is a collection of software components and services supporting the development of complex multi-tier enterprise applications. Today JEE is a Eclipse Foundation project with the internal name EE4J. Formerly the standard was lead by Oracle with the name Java EE (or J2EE in the early days). The version 8 release of Jakarta EE 8 (September 2019) is technically identical to Java EE 8 (2017) and is supported by all current JEE servers. In December 2020 Jakarta EE 9 has been released. It mainly carries out the package renaming of javax.* to jakarta.*, which was necessary for legal reasons. Jakarta EE 9 is implemented by GlassFish only for now.

You may freely select or switch the target environment of the applications in the course: All demos and exercises are tested for WildFly (JBoss), Open Liberty (WebSphere Liberty) and Payara (GlassFish).

Details zu diesem Kurs

Java für Entscheider

Kursziele

Führungskräfte der IT kennen nach unserer Schulung die Konzepte von Java. Die Java EE Bestandteile werden so vorgestellt, wie sie in der Praxis in einer tragfähigen Architektur eingesetzt werden.


Es wird klar, wie Präsentationschicht, Businesslogik und Datenzugriffsschicht schon in den Java EE Komponenten klar getrennt werden. Durch Application-Server werden dem Entwickler die Möglichkeiten von Java EE zur Verfügung gestellt. In dem Kurs gehen wir auf die Application-Server JBoss, GlassFish und IBM WebSphere ein. Bei der GUI-Programmierung gibt es verschiedene Lösungen. Vor- und Nachteile werden mit Anwendungsfällen beschrieben. Mit Camel wird ein Framework zur Systemintegration gezeigt. Ebenso können Systeme über Webservices kommunizieren(Restfull oder SOAP).


Unser Kurs zeigt Ihnen, wie Sie Java in Ihren Projekten erfolgreich einsetzen können. Dabei steht Wissen für die Unterstützung Ihrer Entscheidungen im Mittelpunkt.

Details zu diesem Kurs

Professionelle Anwendungsentwicklung mit CDI

Kursziele

CDI ist der Standard für die technische und fachliche Verknüpfung von Anwendungskomponenten untereinander. CDI ist Teil von Jakarta EE (früher Java EE), kann aber auch in SE-Anwendungen eingesetzt werden. CDI ermöglicht die Entwicklung eleganter, schlanker und trotzdem gut strukturierter Anwendungen mit lose gekoppelten Anwendungskomponenten. Sie lernen in diesem Seminar, welche Konzepte CDI anbietet und wie sie in Unternehmensanwendungen eingesetzt werden können. Der Fokus liegt auf Enterprise-Anwendungen, in denen CDI als Bindeglied zwischen Weboberfläche oder Webservices und Persistenzschicht fungiert, wobei der Einsatz in SE-Anwendungen und Tests auch diskutiert wird.  

Die Zielumgebung der Anwendungen können Sie im Kurs frei auswählen oder auch umschalten: Alle Demos und Übungen laufen u. a. auf WildFly (JBoss), Open Liberty (WebSphere Liberty) und Payara (GlassFish).

Details zu diesem Kurs

Java-Webanwendungen mit Jakarta Server Faces

Kursziele

Innerhalb der Jakarta EE / Java EE ist Jakarta Server Faces (früher JavaServer Faces) das Framework zur Entwicklung von Webanwendungen. Ergänzend stehen viele Komponentenbibliotheken für die Gestaltung ansprechender Web-GUIs zur Verfügung. In diesem Seminar lernen Sie den Aufbau von Java-Webanwendungen mit JSF 2.3 und die dazu nötigen Entwicklungs- und Laufzeitumgebungen kennen. Im Verlauf des Seminars entwickeln Sie eine vollständige JSF-Anwendung inklusive Formularverarbeitung, Internationalisierung und Security.

Die Zielumgebung der Anwendungen können Sie im Kurs frei auswählen oder auch umschalten: Alle Demos und Übungen laufen u. a. auf WildFly (JBoss), Open Liberty (WebSphere Liberty) und Payara (GlassFish).

Details zu diesem Kurs

JEE Batch Applications

Kursziele

Die etablierte und häufig verwendete Vorgehensweise der Batch-Verarbeitung hat mit der Version Java EE 7 Einzug in die Plattform erhalten. Im stark durch bspw. Spring Batch beeinflussten JSR 352 wird nun festgelegt, wie Hintergrund-Jobs im Standard programmiert, betrieben und überwacht werden können. Sie erlernen in diesem Kurs zunächst das notwendige Handwerkszeug zur Arbeit mit persistenten Daten und serverseitigen Komponenten, um dann damit Java-Batch-Anwendungen zu entwerfen und zu nutzen.

Details zu diesem Kurs

Jakarta Persistence komplett

Kursziele

Jakarta Persistence - früher als Java Persistence API, JPA bekannt -  ermöglicht es, Java-Objekte auf Datenbanktabellen zu „mappen“ und unabhängig vom eingesetzten Provider Abfragen und Änderungen der persistenten Objekte durchzuführen. In diesem Seminar erlernen Sie die Nutzung von Jakarta Persistence in Standalone-Anwendungen ebenso wie die Integration in JEE-Applikationen. In umfangreichen Praxisübungen vertiefen Sie die behandelten Themen. Dafür stehen Ihnen die Provider Eclipselink und Hibernate sowie der Applikationsserver WildFly zur Verfügung. Die vermittelten Kenntnisse sind portabel und somit für andere Provider und Server einsetzbar. Im Kurs nutzen wir die aktuelle Version 2.2 der Spezifikation und weisen auf die Unterschiede zu Vorversionen hin.

Details zu diesem Kurs

Microservices mit Quarkus - Aufbau

Kursziele

Nach dem Grundlagenseminar "Microservices mit Quarkus – Grundlagen machen wir nun weiter im Thema verteilte (Micro-) Services:

  • Mit Hilfe der erlernten Techniken entwerfen Sie mehrere Services, die miteinander kollaborieren.
  • Zur Kommunikation zwischen den Services lernen Sie Rest Client und asynchrones Messaging kennen.
  • Mit MicroProfile Tracing und Fault Tolerance sorgen Sie für Nachvollziehbarkeit und Fehlertoleranz.
  • Sie setzen JWT Authentication für Security ein.
  • Sie erlernen die Grundlagen von Docker und Kubernetes und betreiben Ihre Services darauf.

Die verteilten Services bauen Sie im Kurs weiterhin mit Quarkus. Mit dem hier erlernten wäre aber auch eine Mischung der Zielumgebungen möglich. Ihre Services könnten bspw. mit anderen Services auf Basis von klassischen JEE-Servern wie WildFly oder auch Spring Boot zusammenarbeiten. Die JEE- und MicroProfile-Techniken werden umfangreich präsentiert und durch praktische Übungsaufgaben vertieft. Unsere erfahrenen Trainerkommen aus der Softwareentwicklungspraxis und führen Sie in diesem Microservices mit Quarkus - Grundlagenkompakten Seminar mit hohem Praxisbezug durch die oben genannten Bestandteile. Grundlage des Kurses sind Jakarta EE 8 und MicroProfile 3.

Details zu diesem Kurs

Jakarta EE Masterclass

Kursziele

JEE stellt eine einfache und dennoch mächtige Umgebung für Enterprise-Anwendungen dar. In diesem Seminar vertiefen Sie Ihre Grundkenntnisse über Jakarta EE / Java EE in den verschiedenen Bereichen wie Persistenz, Geschäftslogik und Web-GUI. Im Kurs wird die Version 8 der Plattform. Unterschiede zu Vorversionen werden deutlich gemacht.

Details zu diesem Kurs

Workshop Web-GUI-Frameworks

Kursziele

Im Rahmen dieses 2-tägigen Workshops wird erfahrenen Entwicklern ein Überblick über drei derzeit aktuelle Frameworks für Weboberflächen von Java-EE-Anwendungen vermittelt. Neben der bewährten Lösung aus dem Java-EE-Standard, JSF, werden AngularJS und Vaadin als alternative Technologien, die jeweils unterschiedliche Ansätze verfolgen, vorgestellt.  Der Kurs beleuchtet die grundlegenden Funktionsweisen der drei Frameworks sowie deren spezielle Eigenschaften und bietet durch jeweilige Praxisteile die Möglichkeit, die Vor- und Nachteile der Vorgehensweisen in Hinblick auf unterschiedliche Problemstellungen herauszuarbeiten, um so bei einer Entscheidungsfindung zu helfen.

Die 3 Frameworks im Überblick:
- JSF ist ein serverseitiges Java-Framework für das Erstellen von Webanwendungen und der derzeit in JavaEE definierte Standard.
- AngularJS ist ein clientseitiges JavaScript-Framework von Google für das Entwickeln von Rich-Client-Webanwendungen.
- Vaadin ist ein serverseitiges Java-Framework von der Firma Vaadin für das Entwickeln von Single-Page-Applikationen.

Details zu diesem Kurs

Java - Programmierung (Java SE)

Java Grundlagen (Standard Edition)

Kursziele

In dieser Schulung erlernen Sie die objektorientierte Anwendungsentwicklung mit der Programmiersprache Java. Dazu wird Ihnen ein umfassender Überblick über Java SE 11 vermittelt, also die "Java Platform, Standard Edition" in der Version 11.

Wir machen Sie mit den Grundlagen der objektorientierten Programmierung (OOP) vertraut und erklären Ihnen deren Umsetzung in Java. Anwendungsentwickler bekommen hier die grundlegenden Sprachkonstrukte von Java vermittelt und erhalten einen Überblick über den aktuellen Stand der Java-Klassenbibliothek.

In umfangreichen Übungen können die Teilnehmer das Erlernte sofort in die Praxis umsetzen. Am Ende der Schulung beherrschen die Teilnehmer das Entwickeln von einfachen Anwendungen mit Java.

Details zu diesem Kurs

Einstieg in Spring Data mit RDBMS und JPA sowie NoSQL und MongoDB

Einstieg Java-Performance-Tuning

Design Patterns in Action

Endlich Clean Code – Bad Smells & Refactorings

Rock Solid OO-Design – Von der Pike auf richtig

Kursziele

Gelungenes objektorientiertes Design ist gar nicht so einfach zu erreichen. In der Praxis
entsteht recht schnell eine Klassenhierarchie, ohne aber Dingen wie Kapselung, Kohäsion und
den SOLID-Prinzipien genug Beachtung zu schenken. Im Kurs lernen wir wie man
Vererbung und Delegation richtig einsetzt. Nach dem Kurs werden Sie Compile-Time- und
Runtime-Type sowie Polymorphie verstehen und wissen, was es mit Overloading und
Overriding auf sich hat. Schließlich hilft es, über Entwürfe mit anderen zu diskutieren. Dazu
benötigt es ein klein wenig Wissen über die UML. Auch dieses wird vermittelt.

Details zu diesem Kurs

Coole neue Java-Features – besserer Code mit Java 9 bis 15/16

Kursziele

Die Teilnehmer erhalten einen fundierten Überblick über die mit Java 9 bis 15/16 eingeführten Neuerungen. Neben der Theorie wird das Wissen durch praktische Übungen vertieft, sodass der Umstieg auf die gewünschte Java-Version in eigenen Projekten erfolgreich gemeistert werden kann.

Details zu diesem Kurs

Objektorientierung und Modellierung

Kursziele

In dieser Schulung werden zunächst die grundlegenden Konzepte und Begriffe der Objektorientierung besprochen: Objekt, Klasse, Vererbung, Polymorphie usw. Dies erfolgt pragmatisch anhand von Fragestellungen aus konkreten Projekt-Situationen: Wie kann man einen Auftrag als Objekt darstellen? Wie werden die Geschäftsvorgänge bei einer Flug-Reservierung als objektorientierte Methoden verwirklicht?

Diese Betrachtung der Objektorientierung wird zugleich mit den Möglichkeiten der UML visualisiert. Auf diese Weise werden die verschiedenen Diagrammarten der UML im praktischen Einsatz geschult: Wie wird eine Vererbungs-Hierarchie in UML dargestellt? Welche Arten von Beziehungen zwischen fachlichen Objekten können in einem Klassen-Diagramm modelliert werden?

Das Ziel ist, den durchgängigen Einsatz von Objektorientierung und UML von der Anforderungsdefinition, über den Entwurf und die Implementierung bis hin zur Dokumentation von Software-Systemen zu beherrschen. Dies bildet die Voraussetzung für eine Modell- bzw. Domänen-getriebene Software-Entwicklung beispielsweise mit Domain-Driven Design (DDD).

Details zu diesem Kurs

Objektorientierter Entwurf mit Java

Kursziele

Viele Programmierer lernen eine Sprache, hören aber viel zu früh auf, ihr Wissen richtig zu vertiefen. Der Fokus des Seminars ist „Design Probleme lösen“. Design-Entscheidungen werden diskutiert und Lösungen werden vorgestellt.

Details zu diesem Kurs

Java Grundlagen für Programmierer ohne Vorkenntnisse der Objektorientierung

Kursziele

In diesem Kurs lernen die Teilnehmer/-innen die objektorientierte Vorgehensweise und ihre An-wendung auf der Programmierplattform Java professionell einzusetzen. Sie erhalten einen Über-blick über die aktuelle Version von Java und die Unterschiede zu den Vorversionen. In umfang-reichen praktischen Übungen entwickeln sie mit Hilfe der Java-Klassenbibliotheken Applikatio-nen inkl. Datenbankzugriffen per JDBC. Sie benutzen dabei die Entwicklungsumgebung Eclipse.

Details zu diesem Kurs

Neuerungen in Java 8 (Standard Edition)

Kursziele

Mit dieser Schulung erhalten die Teilnehmer einen umfassenden Überblick über die Version 8 der Programmiersprache Java. Die weitreichenden Änderungen und neuen Funktionalitäten von Java 8 werden eingehend behandelt.

Insbesondere mit den Lambda-Ausdrücken (funktionale Programmierung) und den Streams (deklarative Verarbeitung von Datensammlungen) haben mit der Version 8 gänzlich neue und sehr elegante Programmiertechniken Einzug in die Sprache Java gehalten.

Durch die neuen Möglichkeiten der Implementierung von Methoden in Interfaces hat sich deren Verhältnis zu abstrakten Klassen maßgeblich verändert (Mehrfachvererbung). Und nicht zuletzt trägt die überfällige Neudefinition der Datums- und Zeit-Klassen zur besonderen Qualität von Java 8 bei.

Details zu diesem Kurs

Neuerungen seit Java 9

Kursziele

In diesem Kurs lernen Sie, die Neuerungen von Java ab Version 9 professionell einzusetzen. Sie erhalten einen umfassenden Überblick über die neuen Funktionalitäten, die seit Java 8 dazugekommen sind.Bei Bedarf können die wesentlichen Neuerungen von Java 8 am Anfang dieser Schulung kurz wiederholt werden.In umfangreichen praktischen Übungen entwickeln Sie Anwendungsbeispiele und lernen dadurch die weitreichenden Änderungen in den neuen Java-Versionen kennen.

Details zu diesem Kurs

Design Patterns

Kursziele

Das ursprüngliche Buch zu „Entwurfsmustern“ erschien im Jahr 1995. Aber das Thema ist genauso wichtig wie damals. Viele Programmierer lernen eine Sprache, hören aber viel zu früh auf, ihr Wissen richtig zu vertiefen. Patterns bieten eine große Hilfe, Ihren Code professioneller zu gestalten. So wird Ihre Software verständlicher, lesbarer und wartbarer. Nicht alle 23 Patterns im „Gang of Four“ Buch sind gleich wichtig. Wir konzentrieren uns auf die gängigsten.

Ein Schwerpunkt des Seminars ist die Frage, „Wie komme ich dahin, ein Pattern einzusetzen?“.

Wir sammeln „böse Worte“ (auch „Anti Patterns“ genannt), damit Sie sofort bemerken, wo Sie suboptimalen Code produzieren – oder lesen. Und Sie lernen, wie Sie mit Patterns diese Klippen umschiffen.

Der Fokus des Seminars ist „Probleme lösen“. Im Design, im Code und in Ihren Denkweisen. Deshalb bekommen Sie Code, den wir besprechen, den Sie verbessern, den wir am Beamer gemeinsam überarbeiten. Wir debattieren auch Design-Entscheidungen anhand von UML am Flipchart.

Und selbstverständlich gehen wir auf Ihre Wünsche ein – konkrete Fragen zum Design oder Code.

Wir verwenden Java, C# und/oder C++ für die Übungen und Beispiele. Teilen Sie uns bei der Buchung bitte mit, welche dieser Sprachen Sie beherrschen und welche IDE Sie verwenden.

Details zu diesem Kurs

Refactoring

Clean Code

Java Performance Tuning Workshop

Kursziele

Das mit Java hoch performante, kommerzielle e-Commerce-Systeme entwickelt werden können beweisen zahlreiche Beispiele. Doch die Optimierung von Java-Anwendungen ist nicht trivial. Aber es gibt ein sehr umfangreiches Feld an Methoden und Werkzeugen um die Performance von Java-Anwendungen zu optimieren. Es werden die typischen Ursachen für die Entstehung von Performance-Engpässen gezeigt und mit welchen Strategien diese im Vorfeld vermieden werden können. Ziel des Seminars ist es den Teilnehmer die methodische Analyse der Performance von Java-Enterprise-Anwendungen zu zeigen. Hierzu werden die JDK eigenen, Open Source- und kommerzielle Werkzeuge eingesetzt. Somit lernen die Teilnehmer anhand von Übungen Schritt-für-Schritt, wie Performance-Engpässe in realen Anwendungen aufgezeigt und gelöst werden können.

Details zu diesem Kurs

Java Vertiefung (Standard Edition)

Kursziele

Selbst eine freundliche Sprache wie Java birgt im täglichen Gebrauch gewisse Fallstricke und Probleme. Es handelt sich dabei häufig um vermeintlich grundlegende Dinge, die in der Praxis gerne vernachlässigt werden. Das Seminar vermittelt anhand vieler Themen aus der täglichen Entwicklerarbeit eine tiefe Einsicht in und ein besseres Verständnis für die Programmiersprache Java. Viele praktische Übungen runden das Seminar ab.

Details zu diesem Kurs

Java - Entwicklerwerkzeuge und Frameworks

Apache Wicket Einführung

Kursziele

Apache Wicket ist ein Java Frontend-Framework für das Web. Die Programmierung erfolgt komponentenbasiert und ereignisgesteuert - der klassische Request- / Response-Ablauf wird elegant abstrahiert. Wicket verwendet dabei HTML-Templates, die vom Design-Team unabhängig vom Java-Code entwickelt werden.

Details zu diesem Kurs

Apache-Maven-Grundlagen

Kursziele

Das Build-Framework Maven unterscheidet sich konzeptionell deutlich von anderen Werkzeugen in diesem Bereich. Durch den deklarativen Ansatz anstelle der sonst üblichen Skripting-Möglichkeiten fördert Maven eine einheitliche Vorgehens- und Arbeitsweise. In diesem Seminar lernen Sie die Konzepte von Maven kennen. Praxisnahe Beispiele führen Sie in die Benutzung von Maven ein und vermitteln die benötigten Kenntnisse zum erfolgreichen Einsatz des weit verbreiteten Tools.

Details zu diesem Kurs

Eclipse - Grundlagen

Kursziele

Die erfolgreiche Open-Source-Entwicklungsumgebung für Java. In diesem Seminar lernen die Teilnehmer/-innen, wie man mit Eclipse Java-Programme erfolgreich entwickelt und "debugged". Außerdem werden die Erweiterungsmöglichkeiten und das Einbinden externer Tools und Plug-Ins vorgestellt.

Details zu diesem Kurs

Ant - Grundlagen

Kursziele

Wiederkehrende Routineaufgaben beim Erstellen von Softwareprojekten erledigt im klassischen UNIX-Umfeld das bekannte make. ANT ist das zugehörige Gegenstück aus der Java-Welt und in diesem Umfeld das zentrale Werkzeug, um Kompilierungs-, Archivierungs- und Deploymentvorgänge zu automatisieren. In diesem Seminar lernen Sie die Konzepte von ANT kennen. Praxisnahe Beispiele führen Sie in die Benutzung von ANT ein und vermitteln die benötigten Kenntnisse zum erfolgreichen Einsatz des weit verbreiteten Tools.

Details zu diesem Kurs

Hudson / Jenkins - Grundlagen

Kursziele

Nutzen Sie bereits Tools wie ANT oder Maven zum Kompilieren, Generieren und Testen Ihrer Software (SW)- Komponenten? Durch 'Continuous Integration' werden diese Aufgaben zentral verwaltet + regelmäßig und vollständig angestoßen. So kann zu jedem Zeitpunkt eine Aussage über Build-Fähigkeit und den Qualitätsstand der SW getroffen werden. Hudson ist eines der führenden, webbasierten Tools für Continuous Integration. Einfache in der Installation und Konfiguration. Durch seine Erweiterbarkeit über Plug-ins integriert es Ihre SW-Tools und -Prozesse. Der Kurs vermittelt diese Konzepte. Praxisnahe Bsp. führen Sie in die Benutzung ein und unterstützen Sie beim erfolgreichen Einsatz von Hudson.

Details zu diesem Kurs

Google Web Toolkit (GWT) - Grundlagen

Kursziele

Dieses Seminar gibt zu Beginn einen Überblick über aktuelle Ajax-Techniken. Es zeigt Schwierigkeiten auf und geht dann auf die von Google angebotene Lösung in der Verbindung von Java und JavaScript ein. Architektur, Einsatzmöglichkeiten und Erweiterungstechniken sind ebenfalls Bestandteil. Neben Teilübungen wird ein etwas komplexeres System in GWT (mit Testing und Debugging) aufgebaut. Die Teilnehmer lernen typische Architekturschwierigkeiten kennen und erfahren, wie sie mit diesen umgehen können.

Details zu diesem Kurs

Android App-Programmierung für Java Entwickler: Grundlagenkurs

Kursziele

Seit der ersten Verfügbarkeit im Herbst 2008 hat Android seinen Siegeszug als freies und quelloffenes Betriebssystem und Software Plattform für Smartphones und Tablets angetreten. Inzwischen liegt die weltweite Verbreitung bei rund 90%. Android Apps, also Anwendungsprogramme für das Android Betriebssystem, werden hauptsächlich über den Google Play Store vertrieben. Daneben existieren aber auch weitere App Stores, die Android Apps an die Handy Nutzer verteilen (z.B. Amazon). Das weltweite Angebot des Google Play Stores umfasst über 700.000 Apps, mehr als im App Store von Apple, und stellt damit das größte App Angebot für Smartphones und Tablets dar.

Durch die hohe Verbreitung von Android Smartphones und Android Apps, sowie die zunehmende Verlagerung der Internetnutzung auf mobile Endgeräte besteht weiterhin ein kontinuierlicher Bedarf an neuen App Entwicklungen. In diesem Kurs lernen Entwickler mit Java Programmierkenntnissen bestehendes Know-How der Softwareentwicklung auf die Entwicklung von Android Apps zu übertragen. Mit Hilfe der Android Entwicklungsumgebung programmieren die Teilnehmer erste Apps für das eigene Smartphone. Dabei wird auf das eigene Handy zugegriffen, eine GUI für die zu entwickelnde App erstellt, Interaktionen mit anderen, bestehenden Apps und Sensoren programmiert und Daten ausgetauscht. Am Ende der Schulung steht eine selbst entwickelte, voll interaktionsfähige Android App.

Details zu diesem Kurs

Java Portal - Entwicklung

Java - Software Testing

Professionell Testen mit JUnit 5

Kursziele

JUnit ist das wohl populärste Unit Testing Framework für Java und bringt in Version 5 das Unit Testing auf ein neues Level. Dieser Workshop gibt einen fundierten Einstieg in das Thema Testing und Softwarequalität und zeigt, wie wir von Anfang an Probleme vermeiden und eine hohe Qualität erreichen.

Wir lernen, wie wir mit Hilfe von JUnit 5 passende und wartbare Tests erstellen, etwa indem wir Äquivalenzklassen und Grenzwerte prüfen. Dazu werden grundlegende Assertions vorgestellt. Ergänzend sind das Testen mit Timeouts sowie von Exceptions von Interesse. Insbesondere werden die vielfältigen Möglichkeiten von parametrisierten Tests und ihre Nützlichkeit in der Praxis thematisiert. Mit richtig gewählten Tests und der Kenntnis auch fortgeschrittener Techniken und Tools, wie Mocks und Stubs mit Mockito und Extract and Override, behalten wir auch Abhängigkeiten gut im Griff.

Die Messung der Testabdeckung zur Aufdeckung noch eher ungetesteter Teile liefert uns weitere wertvolle Informationen, wo wir unsere Tests noch sinnvoll ergänzen können. Anschließend wird die Migration von JUnit 4 auf die neuste Version 5 besprochen, im Speziellen die gemeinsame Ausführung von JUnit-4- und -5-Tests zur schrittweisen, sanften Migration. Abgerundet wird der Workshop durch die Vorstellung von Test Smells, also Dingen, die wir beim Testen vermeiden sollten.

Details zu diesem Kurs

Einführung in Testcontainers

Kursziele

Was haben wir erreicht, wenn die Komponenten oder Services unserer Software in Isolation tadellos funktionieren, als Komposition jedoch plötzlich nicht mehr zusammenarbeiten möchten? Um diesem Problem entgegenzuwirken, sind Integration Tests in Ergänzung zu klassischen Unit Tests mit Mocks unverzichtbar. In der Praxis erweisen sich diese jedoch allzu gerne als Quelle sporadischer Build Failures, weil zur Ausführung benötigte Drittsysteme plötzlich von der Bildfläche verschwinden, Inhalte der Testdatenbank sich in der Zwischenzeit geändert haben oder die lokale Umgebung des Kollegen trotz (vermeintlich) gleicher Konfiguration ein gänzlich anderes Verhalten zeigt als meine.

Glücklicherweise kennen wir mit Docker bereits ein wirksames Mittel zur Abstraktion komplexer Ausführungsumgebungen, wissen aber nur allzu gut, dass der Teufel gerne im Detail steckt. An dieser Stelle kommt das Projekt „Testcontainers“ ins Spiel, welches eine leicht verständliche Java API zur Verwendung beliebiger Container in automatisierten Tests zur Verfügung stellt. Vorkonfigurierte Images gängiger Drittsysteme (z.B. Datenbanken, Message Broker, Web Server, Browser) werden praktischerweise gleich mitgeliefert, sodass bereits wenige Zeilen genügen, um eine vollständig lauffähige und vor allem portable Testumgebung aufzuziehen.

Im Rahmen dieses Mini-Trainings lernen wir, wie uns Testcontainers nicht nur bei der Erstellung reproduzierbarer Integration Tests der Persistenzschicht unterstützt, sondern auch zur Automatisierung ganzer Anwendungstests (Use Cases) eingesetzt werden kann. Hierbei betrachten wir auch die Integration mit JUnit 5, Spring Boot und einem Web-Framework wie Apache Wicket oder Vaadin.

Details zu diesem Kurs

Altanwendungen wieder testbar machen

Kursziele

In einer idealen Welt wird Software von Beginn an durchdacht entwickelt und bei jeder Komponente auf eine gute Testbarkeit geachtet. Der Alltag eines Software-Entwicklers sieht freilich anders aus: Monolithischer, schwer verständlicher, unzureichend dokumentierter und fehleranfälliger Code aus vergangenen Tagen muss gefixt oder um neue Funktionalitäten erweitert werden - und das am besten gestern. Gleichzeitig darf bestehende Funktionalität jedoch unter garkeinen Umständen angefasst werden, was zu einer Art "Fear Driven Development" führt, das jegliche Bemühungen zur Verbesserung der Code-Qualität im Keim erstickt.

Um die Wartbarkeit von Altanwendungen langfristig zu erhalten und gleichzeitig sicherzustellen, dass sich gewünschtes Verhalten nicht unbeabsichtigt verändert, werden strukturelle oder gar semantische Refactorings zur Verbesserung des automatisierten Testens aber unabdingbar.

Im Rahmen dieses Mini-Trainings wollen wir uns dabei nicht nur geeignete Refactoring-Techniken aus dem praktischen Alltag anschauen, sondern uns auch über die Organisation des Refactorings selbst unterhalten. Weil alle Theorie grau ist, nehmen wir uns anschließend eine historisch gewachsene „Altanwendung“ zur Brust, welche wir nach allen Regeln der Kunst auseinandernehmen dürfen.

Details zu diesem Kurs

Mocking-Grundlagen mit Mockito

Kursziele

In einem Test genutzte Objekte, die nicht aufgerufen werden können oder sollen, müssen durch Stellvertreter-Objekte mit definiertem Verhalten simuliert werden. Für die dynamische Generierung solcher Mock-Objekte wird das Mocking-Framework Mockito eingesetzt. Der Kurs beinhaltet den Einsatz von Mockito bei JUnit Tests.

Details zu diesem Kurs

Testing-Grundlagen mit JUnit

Kursziele

Zur Softwareentwicklung gehören unbedingt formelle und automatisierbare Tests. Die Basis dafür bilden Unit-Tests, die jweils einzelne Bausteine - Units - der Anwendung formell testen. Sie erlernen in diesem Kurs Grundlagen professioneller Tests mit JUnit.

Details zu diesem Kurs

Testing mit JUnit und Mocking

Kursziele

In dieser Schulung erlernen Sie die Grundlagen für das automatisierte Testen von Java-Anwendungen. Die Maßnahmen zur Einführung von Testautomatisierung werden erläutert und die verschiedenen Arten von automatisierten Tests werden charakterisiert.

Das Framework JUnit hat sich als de-facto-Standard für Unit-Tests im Java-Umfeld etabliert. Als eine Vorgehensweise, um eine hohe Testüberdeckung in den Java-Projekten zu gewährleisten, wird das Test-Driven Development (TDD) vorgestellt.

In einem JUnit-Test genutzte Objekte, die nicht aufgerufen werden können oder sollen, müssen durch Stellvertreter-Objekte mit definiertem Verhalten simuliert werden. Für die dynamische Generierung solcher Mock-Objekte werden Mocking-Frameworks wie insbesondere Mockito verwendet. Mit dem zusätzlichen Framework PowerMock kann fehlende Funktionalität für ein Mocking-Framework wie Mockito ergänzt werden.

Details zu diesem Kurs

Java Testing und Code Quality

Kursziele

Wir möchten in dieser Schulung eine ganzheitliche Betrachtung der Themen Testautomatisierung und Qualitätssicherung für Java-Anwendungen in den Mittelpunkt stellen. Das vermittelte Wissen und die besprochenen Vorgehensweisen sind gleichermaßen in einem Projekt basierend auf der Java Standard Edition (Java SE) oder der Java Enterprise Edition (Java EE) einsetzbar.

In unserer Schulung lernen Sie die Grundlagen zum Thema Java-Code-Qualität. Neben einer zielführenden Software-Architektur und einem methodischen Software-Entwicklungsprozess stellen statische Code-Analyse und Refactoring-Maßnahmen die Grundpfeiler der Qualitätssicherung dar.

Der andere große Schulungsteil behandelt die Grundlagen von automatisierten Software-Tests. Die Teilnehmer dieser Schulung erlangen Kenntnisse im Umgang mit den Frameworks JUnit und Mockito, so dass sie verschiedene Testarten wie Unit-, Integrations- oder Abnahme-Test für ihr Java-Projekt erstellen und ausführen können. Außerdem wird ein Einblick in den Ansatz der testgetriebenen Entwicklung gegeben.

Die Continuous Integration mit dem Werkzeug Jenkins bildet die Klammer um die Themen Test und Qualitätssicherung.

Details zu diesem Kurs

Testing für Java EE / Jakarta EE

Kursziele

Diese Schulung vermittelt erfahrenen Java-Entwicklern, wie sich der bekannte Ansatz des Unit-Tests auch im komplexen Java-Enterprise-Umfeld nahtlos und vorteilhaft nutzen lässt. Dazu erfolgt zunächst ein Überblick der Grundlagen des Test-Framework JUnit.
Weiterhin werden Lösungsmöglichkeiten für den Test mit Mock-Objekten erarbeitet und die Nutzung des Mocking-Framework Mockito gezeigt. Schließlich wird auf die Bereitstellung von Testdaten und die Befüllung von dedizierten Test-Datenbanken eingegangen.

Der Schwerpunkt der Schulung liegt auf der Fragestellung, wie sich die Aspekte Persistenz (JPA), Geschäftslogik (CDI bzw. EJB), GUI einer Web-Anwendung (JSF) und Schnittstellen (Web-Services) einer beispielhaften Java-EE-Anwendung automatisiert testen lassen. Dazu werden für jeden dieser Test-Aspekte entsprechende und im Projekt-Einsatz bewährte Java-Test-Frameworks eingehend behandelt.

Zum Abschluss werden das Thema Continuous Integration (CI) und der CI-Server Jenkins skizziert.

Details zu diesem Kurs

Java Test und Qualitätssicherung (Java SE und EE)

Kursziele

In diesem anspruchsvollen Kurs steht eine ganzheitliche Betrachtung der Themen Test und Qualitätssicherung für Java-Projekte im Mittelpunkt. Es werden die aktuelle Vorgehensweise ("state of the art") sowie die dabei üblicherweise eingesetzten Frameworks und Werkzeuge durchgängig anhand einer vorgefertigten Java-EE-Beispielsanwendung geschult. Die Grundlage hierfür bilden das JUnit-Framework, die testgetriebene Entwicklung, Mocking-Techniken und die Testdaten-Bereitstellung. Die technische Herausforderung von Unit-Tests im Java-Enterprise-Umfeld wird durch die Frameworks Arquillian, Selenium und Drone unterstützt. Neben einer zielführenden Software-Architektur stellen statische Code-Analyse und Refactoring-Maßnahmen die Grundpfeiler der Qualitätssicherung (QS) dar. Die Continuous Integration (CI) mit Werkzeugen wie Jenkins bzw. Hudson bildet die Klammer um die Themen Test und QS.

Details zu diesem Kurs

Java Testing für Entscheider

Kursziele

Das Testen ist ein wichtiger Bestandteil der Software-Entwicklung, wird aber leider oft vernachlässigt. Zur professionellen Software-Entwicklung gehören daher unbedingt die formalisierten und automatisierten Tests.

Diese Schulung vermittelt zunächst einen Überblick über die Schwächen manueller Testverfahren, um dann die Vorteile automatisierter Ansätze für den Test von Java-Anwendungen auszuarbeiten. Es wird die Vorgehensweise des Test-Driven Development (TDD) erläutert, welche den Prozess von Implementierung und nachgelagerten, aufwendigen Tests aufbricht.

Der Schwerpunkt der Schulung liegt in einem Leitfaden für den stufenweisen Übergang zu effizienten, automatisierten Testverfahren. Die Basis hierfür ist eine geeignete Verwaltung von Testdaten und dedizierten Test-Datenbanken. Desweiteren erfolgt ein Überblick über Test-Frameworks und -Werkzeuge für eine erfolgreiche Testautomatisierung. Dabei liegt der Fokus auf Open-Source-Lösungen für den Bereich Java SE und Java EE wie beispielsweise JUnit, Mockito oder Arquillian.

Die Ansätze zur Testautomatisierung werden exemplarisch anhand einer Java-Anwendung demonstriert. Abschließend wird auf die Themen Continuous Integration (CI) am Beispiel des Jenkins-CI-Server und das Testmanagement eingegangen.

Details zu diesem Kurs

Web Hacking

Kursziele

Mit Entwurfsmustern erhält man bewährte Rezepte für wiederkehrende Probleme beim Entwurf und bei der Entwicklung von Software. Die Muster + Best Practices, die in dieser Schulung vorgestellt werden, helfen erfolgreich Jave EE Systeme zu verwirklichen. Sie bieten erprobte Lösungen für typische Probleme mit Java EE-Technologien wie JSF, EJB, Spring oder JTA. Aufgrund der Schwächen und Unzulänglichkeiten der J2EE-Spezifikation 1.4 gab es eine Vielzahl solcher Muster. Mit dem Schritt von J2EE 1.4 nach JEE 5.0 hat sich die Entwicklung komplexer, verteilter und komponentenbasierter Anwendungen stark vereinfacht. Umsteiger erhalten im Seminar eine Übersicht über die relevanten Änderungen der Muster. Dieser Kurs ist eine ideale Ergänzung zu EJB 3, JSF, Spring und Hibernate.

Details zu diesem Kurs

Application Server - JBoss (Wildfly)

Entwicklung und Betrieb von Anwendungen auf WildFly

Kursziele

Dieses Seminar gibt einen umfassenden Überblick über die Architektur und die verfügbaren Dienste des Applikationsservers WildFly, dem weit verbreiteten JEE-Open-Source-Applikationsserver, der früher einmal JBoss AS hieß. Sie erlernen in diesem Kurs die Installation und Konfiguration des Servers und die Bereitstellung von Anwendungen darauf. Die eingesetzten Beispiele reichen von einer einfachen Umgebung mit nur einem Server bis zu redundant aufgebauten Clustern mit vorgelagertem Load Balancer. Der Kurs adressiert die Version 16 des Servers. Sie können im Kurs aber individuell auch eine der Versionen 10 bis 15 einsetzen, um so passendes Know-how für Ihre geplante Zielumgebung aufzubauen. Auf die (kleinen) Unterschiede der Serverversionen gehen wir im Kurs ein.

Details zu diesem Kurs

Entwicklung und Betrieb von Anwendungen auf JBoss AS 7

Kursziele

Dieses Seminar gibt einen umfassenden Überblick über die Architektur und die verfügbaren Dienste des Applikationsservers JBoss in der Version 7.x. Die Teilnehmer/-innen erlernen die Installation und Konfiguration des JBoss und die Bereitstellung von Anwendungen. Die eingesetzten Beispiele reichen von einer einfachen Umgebung mit nur einem Server bis hin zu redundant aufgebauten Clustern mit vorgelagerten Web-Servern.

Details zu diesem Kurs

JBoss - Clustering

Kursziele

Dieses Seminar gibt einen umfassenden Überblick über die Möglichkeiten, Anwendungen in einem JBoss-Cluster zu betreiben. Die Teilnehmer/-innen erlernen die Installation und Konfiguration des JBoss-Clusters, die Vorgehensweisen zur Erstellung clusterfähiger Anwendungen sowie die Grundlagen des Betriebs einer Cluster-Umgebung. Das Seminar wendet sich an Softwareentwickler, die verteilte, hochverfügbare Java-EE-Anwendungen für JBoss entwickeln wollen und dabei die betrieblichen Möglichkeiten und Einschränkungen eines Clusters berücksichtigen müssen. Der Kurs ist auch für Administratoren eines JBoss-Clusters interessant, die die Konzepte clusterfähiger Java-Anwendungen kennenlernen möchten.

Details zu diesem Kurs

High Availability und Clustering mit JBoss EAP 7 und WildFly 17

Kursziele

Der JBoss AS 7 enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend vorkonfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern. Die Schulung vermittelt anhand von praxisnahen Beispielen tiefgehend die Konzepte für eine Cluster Umgebung und wie ein Cluster im Domain- und Standalone Mode mit dem JBoss AS 7 effizient betrieben werden kann.

Details zu diesem Kurs

WildFly 17 (JBoss EAP7) Administration

Kursziele

Die Schulung umfasst einen Umfang von 3 Tagen, indem tiefgehende Kenntnisse und bewährte Vorgehensweisen für die Entwicklung, Administration und den Betrieb des Wildfly 17 Applikationsservers für den produktiven Einsatz vermittelt werden.

Details zu diesem Kurs

JavaScript

TypeScript - Power Workshop: Der komplette Einstieg

Kursziele

Von der Installation bis zur Kompilierung deckt dieser TypeScript-Kurs alles ab! Sie erfahren alles über die Sprachgrundlagen sowie Typen, Klassen, Schnittstellen, Generics, Module, Namensräume in TypeScript und vieles mehr. Aber das ist noch nicht alles: Im "TypeScript - Power Workshop" entwickeln Sie unter professioneller Anleitung eigenständige TypeScript-Anwendungen, so dass Sie das Gelernte direkt üben und anwenden können!

Details zu diesem Kurs

Svelte - Power Workshop: Der komplette Einstieg

Kursziele

Von der Einrichtung bis zur Bereitstellung deckt dieser Svelte-Kurs alles ab! Sie erfahren alles über Komponenten, Formulare, Http-Zugriff, Routing, Zustandsverwaltung einer Svelte-App und vieles mehr. Aber das ist noch nicht alles: Im "Svelte - Power Workshop" entwickeln Sie unter professioneller Anleitung eigenständige Svelte-Anwendungen, so dass Sie das Gelernte direkt üben und anwenden können!

Details zu diesem Kurs

JavaScript - Power Workshop: Der komplette Einstieg

Kursziele

Von den Anfängen bis zur aktuellen Version deckt dieser JavaScript-Kurs alles ab! Sie erfahren alles über die Sprachgrundlagen sowie Typen, Klassen, Module, Namensräume in TypeScript und vieles mehr. Aber das ist noch nicht alles: Im "TypeScript - Power Workshop" entwickeln Sie unter professioneller Anleitung eigenständige TypeScript-Anwendungen, so dass Sie das Gelernte direkt üben und anwenden können!

Details zu diesem Kurs

React Native - Power Workshop: Der komplette Einstieg

Kursziele

Entwickeln Sie plattformübergreifende Anwendungen für iOS und Android ohne Swift, ObjectiveC oder Java, Kotlin zu verwenden. Nutzen Sie React Native um auf Basis von Web Technologien und dem React Framework native iOS- und Android-Apps zu erstellen.

Sie lernen alles über die Theorie hinter React Native, seine Kernkonzepte, wie man reaktionsfähige Designs erstellt, die auf verschiedenen Gerätegrößen funktionieren, wie man React Native-Anwendungen animiert, wie man navigiert, Karten und die Kamera verwendet und vieles mehr!

Details zu diesem Kurs

React - Power Workshop: Der komplette Einstieg

Kursziele

Nach dem Seminarbesuch kennen Sie die Grundlagen von React, Hooks, Redux, React Routing und vieles mehr und können eigene Anwendungen mit Hilfe dem React Framework erstellen.

Details zu diesem Kurs

Angular für Java Entwickler

Kursziele

Angular aus dem Hause Google ist in aller Munde, verspricht dieses clientseitiges JavaScript-Webframework doch die Entwicklung von modernen, plattformübergreifenden Webanwendungen. Diese Welle macht auch vor der Java-Welt nicht halt. Java und Angular? Na klar! Der Blick über den Java-Tellerrand auf Angular als alternativen Weg zur Implementierung der UI lohnt sicht.

In diesem Seminar lernen Sie die Grundlagen zur Entwicklung von Angular auf Basis von TypeScript. Dazu setzt das Seminar auf Angular in einer aktuellen Version und verwendet die Angular-CLI um einen Einblick in die verschiedenen Bereich zu bekommen. Darüber hinaus bringt der Kurs beide Welten zusammen und zeigt wie Angular im Zusammenspiel mit Java EE eine Einheit bilden kann.

Details zu diesem Kurs

VueJS - Power Workshop: Der komplette Einstieg

Kursziele

  VueJS ist ein großartiges JavaScript-Framework für die Erstellung von Frontend-Anwendungen. VueJS mischt das Beste aus Angular und React. Mit dem "VueJS - Power Workshop" gelingt der professionelle Einstieg in das VueJS Framework. Sie erhalten ein vollständiges Verständnis der Architektur hinter einer VueJS-Anwendung und lernen alle relevanten Informationen um moderne, komplexe, reaktionsschnelle sowie skalierbare Webanwendungen mit einem der modernsten JavaScript-Frameworks auf dem Markt zu entwickeln.

Details zu diesem Kurs

Angular - Power Workshop: Der komplette Einstieg

Kursziele

Mit dem "Angular - Power Workshop" gelingt der professionelle Einstieg in das Angular Framework. Sie erhalten ein vollständiges Verständnis der Architektur hinter einer Angular-Anwendung und lernen alle relevanten Informationen um moderne, komplexe, reaktionsschnelle sowie skalierbare Webanwendungen mit einem der modernsten JavaScript-Frameworks auf dem Markt zu entwickeln.

Details zu diesem Kurs

Continuous Delivery - DevOps

Java DevOps: Development und Delivery mit Docker und Kubernetes

Kursziele

Dieses Seminar führt zunächst in die Nutzung von Docker und Kubernetes ein. Der Fokus liegt hier auf den für die Entwicklung von containerisierten Java/JEE-Anwendungen wichtigen Werkzeugen, Konzepten und Vorgehensweisen der Container-Umgebung Docker und der Orchestrierungsplattform Kubernetes. Anschließend wird das Aufbauen einer Pipeline für Continuous Delivery mit Jenkins thematisiert, welche das automatisierte Ausrollen der Anwendung in einem Kubernetes-Cluster ermöglicht.
Im Laufe des Kurses erstellen Sie aus Java-SE- und -EE-Anwendungen lauffähige Container-Images, betreiben diese in einem Kubernetes-Cluster und entwickeln eine dazugehörige realistische Gitlab-Pipeline für Continuous Delivery. Dabei wird auch auf die Möglichkeiten und Problemstellungen der lokalen Entwicklung eingegangen.

Details zu diesem Kurs

Java-Softwareentwicklung mit Git, Maven und Jenkins

Kursziele

Software in Java zu entwickeln bedeutet mehr, als Java-Quellen in einer Entwicklungsumgebung von Eclipse oder VSCode zu übersetzen. Es wird vielmehr eine Kette von Werkzeugen benötigt, die unabhängig von der genutzten IDE aus Quelltexten fertige Anwendungen oder Bibliotheken macht, die automatisch auf Korrektheit getestet werden.

Aus der großen Menge verfügbarer Werkzeuge haben wir für diesen Kurs diejenigen ausgewählt, die von sehr vielen Entwicklungsteams genutzt werden:
 
Git ist eines der beliebtesten Source Code Management Systeme. Im Gegensatz zu zentralen Versionsverwaltungsystemen wie CVS und Subversion nutzt Git kein einzelnes, gemeinsames Repository, sondern dezentrale Kopien. Jeder im Team kann so Änderungen vornehmen ohne die Arbeit der anderen Teammitglieder zu beeinflussen. Ist lokal das gewünschte Ergebnis erreicht, kann Git die Änderungen mit einem (zentralen) Remote Repository abgleichen.
 
Maven steuert als Build-Werkzeug die nötigen Aufrufe von Compiler, Paketierer etc. Durch den deklarativen Ansatz anstelle der in anderen Build-Tools üblichen Skripting-Möglichkeiten fördert Maven eine einheitliche Vorgehens- und Arbeitsweise. Maven-Projekte haben eine standardisierte Struktur, die von den gängigen IDEs ohne weiteres erkannt und benutzt werden kann.
 
Jenkins sorgt für eine kontinuierliche Überprüfung der Software. Ausgelöst bspw. durch ein Check-In im Git-Repository baut Jenkins die Anwendung oder Bibliothek, lässt Unit- und Integrationstests laufen und prüft Codequalität und Stabilität. Mit Plugins ist Jenkins für nahezu beliebige Aufgaben im Bereich Continuous Integration erweiterbar
 
In diesem Kurs lernen Sie diese Werkzeugkette stückweise kennen. Alle Tools stammen aus der Open Source und sind kostenfrei nutzbar.
 

Details zu diesem Kurs

Continuous Delivery – Pragmatischer Einstieg

Kursziele

Continuous Delivery ermöglicht es, Software schneller und zuverlässiger in Produktion zu bringen als bisher. Grundlage dafür ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert. Dieser Workshop erläutert den Teilnehmern, wie eine solche Pipeline praktisch aufgebaut wird und welche Technologien dazu eingesetzt werden können. Dabei geht es nicht nur um das Kompilieren und Installation der Software, sondern vor allem um verschiedene Tests, die die Qualität der Software abzusichern. Der Workshop zeigt außerdem, welche Auswirkungen Continuous Delivery auf das Zusammenspiel zwischen Entwicklung und Betrieb im Rahmen des Begriffs DevOps hat. Schließlich werden die Auswirkungen auf die Software-Architektur beschrieben.

Eberhard Wolff hat mehr als 10 Jahre Erfahrung als Architekt, Entwickler und Trainer. Er ist regelmäßiger Sprecher auf verschiedenen internationalen Konferenzen. Außerdem ist er Autor zahlreicher Fachartikel und Bücher – beispielsweise auch des ersten deutschsprachigen Buchs über Continuous Delivery.

Details zu diesem Kurs

Mobile Anwendungsentwicklung / App Entwicklung

Progressive Web-Anwendungen (PWA) - Power Workshop: Der komplette Einstieg

Kursziele

Von der ersten Konfiguration eines App-Manifests bis Nutzung nativer APIs deckt dieser Progressive Web-Anwendungen (PWA)-Kurs alles ab! Sie erfahren alles über die Grundlagen und Möglichkeiten der Progressive Web-Anwendungen (PWA) - Technologien und vieles mehr. Aber das ist noch nicht alles: Im "Progressive Web-Anwendungen (PWA) - Power Workshop" entwickeln Sie unter professioneller Anleitung eigenständige PWA, so dass Sie das Gelernte direkt üben und anwenden können!

Details zu diesem Kurs

Ionic - Power Workshop: Der komplette Einstieg

Kursziele

Sie kennen die Möglichkeiten und Vorteile des Ionic Frameworks für die Entwicklung qualitativer Apps. Sie wissen um die Einfachheit, die Ionic  ihnen bei der Arbeit mit AngularJS bietet. Wir bietet dieses Seminar auch in Englisch an. Sollten Sie an einer Inhouse-Schulung interessiert sein, bei wir beispielhaft Apps für Ihre Anforderungen entwerfen, sprechen Sie uns an!

Details zu diesem Kurs

DevOps

Einführung in Microservices

Kursziele

Schon seit einigen Jahren sind Microservices aus der modernen Software-Entwicklung kaum mehr wegzudenken. Aber was steckt eigentlich hinter diesem Architekturstil und für welche Einsatzszenarien eignet er sich? Gibt es womöglich auch Herausforderungen und Fallstricke? Wie sollte ich meine Microservices schneiden? Diese und andere Fragen aus dem praktischen Alltag wollen wir uns einmal zur Brust nehmen.

Details zu diesem Kurs

Microservices mit Quarkus - kompakt

Kursziele

In diesem Seminar lernen Sie, wie JEE-Anwendungen um MicroProfile-Bausteine ergänzt werden können, um verteilte Services zu entwickeln:

Mit den MicroProfile-Anteilen Config, Health und Monitoring machen Sie Ihre Services bereit für den Betrieb in Container-Umgebungen wie bspw. Kubernetes.

Sie entwerfen mehrere Services auf Basis von JEE und MicroProfile, die miteinander kollaborieren.

Zur Kommunikation zwischen den Services lernen Sie Rest Client und asynchrones Messaging kennen.

Mit MicroProfile Tracing und Fault Tolerance sorgen Sie für Nachvollziehbarkeit und Fehlertoleranz.

Sie setzen JWT Authentication für Security ein.

Sie erlernen die Grundlagen von Docker und Kubernetes und betreiben Ihre Services darauf.

Für die Services setzen Sie im Kurs das von Red Hat als Open Source in den Markt gebrachte Server Framework Quarkus ein. Es ist eine gute Alternative zu Spring Boot oder klassischen JEE-Servern. Quarkus basiert auf den Standards Jakarta EE und MicroProfile, die auch von klassischen Servern wie WildFly oder OpenLiberty implementiert werden. Somit können Basistechniken und Architekturentscheidungen unabhängig von der Zielumgebung genutzt werden. Mit Quarkus erstellen Sie leichtgewichtige Microservices oder Self-contained Systems und nutzen dabei weiter Ihr Wissen über Jakarta EE (früher Java EE / J2EE).

MicroProfile ist ein bei der Eclipse Foundation beheimatetes Projekt, das sich zum Ziel gesetzt hat, JEE zu ergänzen und insbesondere die für Cloud-Umgebungen notwendigen Features bereitzustellen.

In der Cloud - aber nicht nur da - laufen Anwendungen häufig als Docker-Container. Die Orchestrierung mehrerer Services übernimmt vielfach das ursprünglich von Google entwickelte Framework Kubenetes. Nach einer kurzen Einführung lassen Sie die im Kurs entwickelten Services in Kubernetes laufen.

Die Kursthemen werden umfangreich präsentiert und durch praktische Übungsaufgaben vertieft. Unsere erfahrenen Trainer kommen aus der Softwareentwicklungspraxis und führen Sie in diesem kompakten Seminar mit hohem Praxisbezug durch die oben genannten Bestandteile. 

Details zu diesem Kurs

Docker und Kubernetes für Java-Entwickler

Kursziele

Dieses Seminar führt in die Nutzung von Docker und Kubernetes ein. Der Fokus liegt auf den für die Entwicklung von containerisierten Java/JEE- Anwendungen wichtigen Werkzeugen, Konzepten und Vorgehensweisen der Container-Umgebung Docker und der Orchestrierungsplattform Kubernetes. Im Laufe des Kurses erstellen Sie aus Java-SE- und -EE-Anwendungen lauffähige Container-Images, betreiben sie statuslos oder mit Datenbank- Persistenz in einem Kubernetes-Cluster und nutzen die diversen Verwaltungs- und Skalierungsmöglichkeiten der Zielumgebung.

Details zu diesem Kurs

Git einsetzen

Kursziele

Git ist eines der beliebtesten Versionsverwaltungssysteme in der Softwareentwicklung. Es wird bei Kleinstvorhaben ebenso eingesetzt wie bei Großprojekten mit über den ganzen Erdball verteilten Entwicklerteams.

Im Gegensatz zu zentralen Versionsverwaltungsystemen wie CVS und Subversion nutzt Git kein einzelnes, gemeinsames Repository. Stattdessen hat jeder Entwickler das Projekt lokal vorliegen. Dieser dezentrale Ansatz ermöglicht es, an den Dateien zu arbeiten, Änderungen vorzunehmen
und zurückzurollen, ohne dabei die Arbeit der anderen Teammitglieder zu beeinflussen. Selbst parallele Entwicklungszweige können lokal vorgehalten werden.

Ist die gewünschte Qualität erreicht, können die Ergebnisse in ein (zentrales) Remote Repository überspielt werden, wobei Git sich um den Abgleich der Änderungen kümmert.

In diesem Kurs erlernen Sie alle wesentlichen Konzepte und Vorgehensweisen, die Sie für ein effizientes Arbeiten mit Git benötigen. Sie erfahren, wie Sie Repositories einrichten, Dateien mit Git verwalten, Änderungen nachverfolgen, bestätigen und wieder rückgängig machen können., und Sie lernen das Branching und Merging zur Arbeit mit ver-schiedenen Entwicklungszweigen kennen.

Details zu diesem Kurs

Continuous Delivery mit Jenkins und Kubernetes

Kursziele

Dieses Seminar führt praktisch in das Thema Continuous-Delivery mit Jenkins ein. Die Jenkins-Builds und das Ausrollen der Anwendungen werden in einem Kubernetes-Cluster erfolgen. Die Pipelines werden als Code mit in den Projekten im SCM-System abgelegt. Dabei werden auch die Vorteile der Wiederverwendung von den Dockerfiles/Kubernetes-Manifesten für die lokale Entwicklung sowie die damit verbundenen Problemstellungen thematisiert.

Details zu diesem Kurs

Softwarearchitektur

Pragmatischer Einstieg in Domain-Driven Design (DDD)

Kursziele

Das Domain-Driven Design (nach E.Evans) hat aus zweierlei Sicht Bedeutung: als grundlegende Entwicklungsmethodik für fachlich komplexe Unternehmens-Anwendungen einerseits und als Richtschnur für den fachlichen Zuschnitt von Microservices andererseits. Dieser Kurs vermittelt einen Überblick der Konzepte von Domain-Driven Design.

Details zu diesem Kurs

Domain-Driven Design (DDD) in der Praxis

Kursziele

Das Domain-Driven Design (nach E. Evans) findet heutzutage in zweierlei Hinsicht seine Beachtung: als grundlegende Entwicklungsmethodik für fachlich komplexe Unternehmens-Anwendungen einerseits und als Richtschnur für den fachlichen Zuschnitt von Microservices andererseits.

In dieser Schulung lernen die Teilnehmer die grundlegenden Begriffe und Vorgehensweisen von DDD kennen. Wir zeigen Ihnen, wie durch das Zusammenwirken von Fach- und Software-Experten ein dauerhaft tragfähiges Modell für ein Anwendungs-System entsteht. Aber damit nicht genug: Wir haben ein konkretes Anwendungs-System im Sinne einer Referenz-Implementierung in Java realisiert, so dass die Teilnehmer einen Einblick in die praktische Umsetzung der DDD-Konzepte erhalten.

Details zu diesem Kurs

Clean DDD Architecture Workshop

Kursziele

Java-EE-Anwendungen werden typischerweise service-orientiert und mit einer "klassischen" Schichten-Architektur implementiert. Durch die aktuelle Diskussion zu Microservices erleben jedoch das Domain-Driven Design und die damit einhergehende objekt-orientierte Programmierung wieder wachsende Aufmerksamkeit.

In diesem Zusammenhang spielt der Begriff der Clean Architecture eine wichtige Rolle. Und nicht zuletzt müssen für die Java-EE-Plattform ausführbare Deployment Units realisiert werden, was in Form von Business Components erfolgen kann.

In dem auf die Praxis ausgerichteten Workshop erlernen Sie die Umsetzung dieser modernen Architektur-Konzepte im Rahmen einer Referenz-Implementierung.

Details zu diesem Kurs

JEE Architektur für Entscheider

Kursziele

Sie sind in verantwortlicher Position als Projektleiter, Software-Architekt oder Java-EE-Entwickler tätig? Sie suchen einen modernen Architektur-Ansatz für die Neuentwicklung oder "Renovierung" einer Java-EE-Anwendung? Oder müssen Sie eine Legacy-Anwendung nach Java EE migrieren und benötigen eine Ziel-Architektur?

In einem kompakten Schulungstag zeigen wir Ihnen einen integrierten Architektur-Ansatz, der das Domain-Driven Design und die Clean Architecture mit einem als Business Components bezeichneten Komponenten-Konzept vereint. Diese drei Konzepte werden in einem pragmatischen Vorgehen so miteinander kombiniert, dass sie sich problemlos mit der Java-EE-Plattform implementieren lassen. Die Unterschiede zu früheren Architektur-Konzepten wie z. B. einer Schichten-Architektur und die Berührungspunkte zu den aktuellen Microservices werden aufgezeigt.

Details zu diesem Kurs

Testmanagement

Alternative Programmiersprachen

Schnelleinstieg Python für den viel beschäftigen Java-Entwickler

Kotlin - Power Workshop: Der komplette Einstieg

Kursziele

Von der Installation bis zum Testen deckt dieser Kotlin-Kurs alles ab! Sie erfahren alles über die Sprachgrundlagen sowie Objektorientierung, Funktionale Programmierung, Generics, Datenklassen, Sammlungen und vieles mehr. Lernen Sie die Grundlagen von Kotlin, um qualitativ hochwertigen Code zu schreiben. Testen und debuggen Sie Ihre Anwendungen mit den verschiedenen Unit Testing Frameworks in Kotlin. Erforschen Sie Kotlins interessante Funktionen wie Nullsicherheit, Reflektion und Annotationen. Erkunden Sie die neuesten Kotlin-Funktionen, um strukturierten, lesbaren objektorientierten und funktionalen Code zu schreiben. Machen Sie sich mit der Verwendung von Lambdas und Funktionen höherer Ordnung vertraut. Schreiben Sie Unit-Tests und nutzen die Integration von Kotlin mit Java-Code. Aber das ist noch nicht alles: Im "Kotlin - Power Workshop" entwickeln Sie unter professioneller Anleitung eigenständige Kotlin-Anwendungen, so dass Sie das Gelernte direkt üben und anwenden können!

Details zu diesem Kurs

Python - Das Schweizer Messer für KI-Projekte

Projektmethodik

Übergeordnete Inhalte für IT-Projektleiter

SWE - Agile Softwareentwicklung

Scrum Basics

Kursziele

Ziel dieser Schulung ist es, dass die Teilnehmer einen Einblick in die Projektgestaltung mit agilen Methoden bekommen.

Zum einen soll vermittelt werden warum heute so viele Unternehmen agile Methoden einsetzen und was der Vorteil hiervon ist. Zum anderen sollen auch konkrete Einblicke in die Grundidee von agiler Methodik gegeben werden.

Die Teilnehmer bekommen während der Schulung die Chance das theoretisch erworbene Wissen auch in kleinen Simulationen direkt anzuwenden. Somit wird agil auch direkt erfahren.

Details zu diesem Kurs

Kanban Basics

Kursziele

Ziel des Kurses ist es den Teilnehmern ein Grundwissen zu den Mechanismen von Kanban Projektstrukturen in Java Projekten zu vermitteln. Am Ende der Schulung sollten alle Teilnehmer die Grundregeln verstanden haben. Dazu wird mit der Trainerin ein Kanban Prozess an Hand eines praktischen Beispiels aufgesetzt.

Details zu diesem Kurs

SWE - Objektorientiertes Modellieren | UML

Anforderungsmanagement in IT-Projekten

Anwenderorientierte Anforderungsanalyse Workshop

Kursziele

Im Workshop werden Methoden der Anforderungsanalyse vorgestellt, die spielerisch und einvernehmlich die Perspektiven verschiedener Nutzer und weiterer Stakeholder erforschen und so zu einem gemeinsamen Bild beitragen. Die Schulungsinhalte werden anhand von praktischen Übungen erlernt und mit Beispielen aus der Praxis erläutert.
Die Schulung umfasst einen Umfang von einem Tag. Die Schulung wird von einer zertifizierten Anforderungsanalystin mit langjähriger Erfahrung in der Entwicklung von Softwareanwendungen durchgeführt.

Details zu diesem Kurs

Schulung maßgeschneidert?

Alle Kurse gibt es auch als
individuelle Firmenschulung
und als Online-Schulung.

Kontaktieren Sie mich oder
nutzen Sie unseren
Schulungskonfigurator!

030 / 20 89 82 63 0

Tim.Neumann@GEDOPLAN.de

So läuft's bei uns