Ü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)

JEE 7/8 Intensivkurs

Kursziele

In diesem Seminar werden die wesentlichen JEE-Techniken umfangreichpräsentiert  und  durch  praktische  Übungsaufgaben  vertieft.  Unsereerfahrenen Trainer kommen aus der Softwareentwicklungspraxis und führenSie  in  diesem  kompakten  Seminar  mit  hohem  Praxisbezug  durch  dieBestandteile der JEE. Grundlage des Kurses ist die Version 8 der Plattform.

In unserem Kurs erlernen Sie alle Komponenten, um eine komplette Web-bzw. Enterprise-Anwendung oder einen Microservice zu programmieren zukönnen. Sie bilden die Persistenz-Schicht mit Hilfe der Java Persistence API(JPA) in Verbindung mit einem O/R Mapper wie EclipseLink oder Hibernate.Datenvalidierungen realisieren Sie mit Bean Validation (BV). Anschließenderlernen Sie die Nutzung von CDI Beans, um Businesslogik professionellzu  entwickeln  und  die  Komponenten  der  Anwendung  miteinander  zuintegrieren. Mit RESTful Webservices bauen Sie Schnittstellen für anderenAnwendungen. Schließlich lernen Sie, wie Web-GUIs mit Java Server Faces(JSF) gestalten werden können.

Jakarta  EE  -  kurz  JEE  -  ist  eine  Sammlung  von  Softwarekomponentenund  Diensten,  die  Softwareentwickler  bei  der  Erstellung  komplexer  undmehrschichtiger Unternehmensanwendungen unterstützt. JEE ist heute einProjekt der Eclipse Foundation mit dem internen Namen EE4J. Zuvor wurdeder Standard von Oracle unter dem Namen Java EE - anfänglich auch J2EE- entwickelt.

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

Die  Zielumgebung  der  Anwendungen  kann  ein  klassischer  ApplikationServer  sein  oder  ein  Laufzeit-Framework  für  einfache  Anwendungen  miteingebettetem Server-Anteil. Sie können im Kurs frei auswählen oder auchumschalten:  Alle  Demos  und  Übungen  laufen  u.  a.  auf  WildFly  (JBoss),Open Liberty (WebSphere Liberty), Payara (GlassFish) und Thorntail (WildFlySwarm).

    Details zu diesem Kurs

    Grundlagen von JavaServer Faces

    Kursziele

    Innerhalb der Jakarta EE / Java  EE ist JavaServer Faces (JSF) das Framework zur Entwicklung von Webanwendungen. Im Verlauf des Seminars entwickeln Sie eine vollständige JSF-Anwendung inklusive Formularverarbeitung.

    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

    JEE Microservice Foundation

    Kursziele

    In diesem Seminar erlernen Sie die Nutzung der für JEE-Anwendungen und Microservices grundlegenden Bausteine:

    • Mit Hilfe von JPA (Java Persistence API) entwickeln Sie persistente Klassen (Entities) und speichern Objekte in Datenbanken. Als Provider nutzen Sie dabei EclipseLink oder Hibernate.
    • Zur Validierung von Daten nutzen Sie Bean Validation (BV).
    • Die Logik Ihrer Services programmieren Sie mit CDI (Contexts and Dependency Injection). Sie konzentrieren sich dabei auf die Geschäftslogik und lassen den Container den Rest erledigen: Aufbau der Infrastruktur, Scoping, Transaktionssteuerung etc.
    • Für den Zugriff von Aussen stellen Sie REST Endpoints nach JAX-RS (Java API for RESTful Web Services) bereit und entwerfen dazu passend strukturierte APIs.

    Die JEE-Techniken 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 Bestandteile der Java EE / Jakarta EE. Grundlage des Kurses ist die Version 8 der Plattform. 

    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.

    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 kann ein klassischer Applikation Server sein oder ein Laufzeit-Framework für einfache Anwendungen mit eingebettetem Server-Anteil. Sie können im Kurs frei auswählen oder auch umschalten: Alle Demos und Übungen laufen u. a. auf WildFly (JBoss), Open Liberty (WebSphere Liberty), Payara (GlassFish) und KumuluzEE.

    Details zu diesem Kurs

    Java Persistence API: Komplettkurs (JPA)

    Kursziele

    Java Persistence 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 JPA in Stand-alone-Anwendungen ebenso wie die Integration in Java-EE-Applikationen. In umfangreichen Praxisübungen vertiefen Sie die behandelten Themen. Dafür stehen Ihnen die Provider Hibernate, Eclipselink und OpenJPA sowie die Applikationsserver JBoss und GlassFish zur Verfügung.

    Details zu diesem Kurs

    Power Workshop Java EE 7/8

    Kursziele

    Java EE hat zu Unrecht den Ruf, komplex und schwierig zu sein. Gerade die Versionen 6 und 7 der Plattform stellen eine manchmal verblüffend einfache und dennoch mächtige Umgebung für Enterprise-Anwendungen dar. Sie erlernen in diesem kompakten Workshop mit hohem Praxisan-teil die Realisierung serverseitiger Logik mit Java Persistence, Bean Validation, CDI und Enterprise JavaBeans. Sie lernen JavaServer Faces und RESTful Webservices für den Zugriff darauf mit-tels Browser oder anderer Anwendungen kennen. Im Kurs wird bereits Java EE 7 genutzt. Unterschiede zur Vorversion werden deutlich gemacht.

    Details zu diesem Kurs

    Compact Java EE 7 Course

    Kursziele

    Wrongfully, Java EE has a reputation for being complex and difficult. Instead, platform Versions 6 and 7 represent a sometimes surprisingly simple and yet powerful environment for enterprise applications. In our compact Java EE 7 Power Workshop you will acquire the necessary skills in a hands-on practical environment, learning to implement server-side logic with Java Persistence, CDI and Enterprise JavaBeans. You will learn to use Java Server Faces (JSF) for web applications and JAX-RS for RESTful web services. If time allows, additional topics like Websockets or Java Batch can be covered as well.

    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

    Java-Anwendungsentwicklung mit CDI

    Kursziele

    Seit dem Release der Java EE 6 existiert ein neuer Standard für die technische und fachliche Verknüpfung von Anwendungskomponenten untereinander: 'Contexts and Dependency Injection for the JavaTM EE Platform', auch bekannt als 'JSR-299'. Sie lernen in diesem Seminar, welche Konzepte CDI anbietet und wie sie in Unternehmensanwendungen eingesetzt werden können.

    In den umfangreichen Praxisübungen wird die Referenzimplementierung Weld verwendet, die auch in den Java-EE-Servern GlassFish und JBoss zum Einsatz kommt.

    Details zu diesem Kurs

    Java-Webanwendungen mit JavaServer Faces (JSF)

    Kursziele

    • Standard für serverseitiges Rendering in JEE-Anwendungen.
    • Umfangreiche Demos und Übungsanteile.
    • Im Kurs wählbare Zielumgebung - mit und ohne Server.
    Details zu diesem Kurs

    Batch Applications mit JEE Backend

    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

    Bootstrap Java EE 7

    Kursziele

    Sie lernen in diesem 1-tägigen Workshop, wie man Java-EE-Projekte aufsetzt und die wesentlichen Prinzipien dieser Plattform darin umsetzt.

    Details zu diesem Kurs

    Java Persistence API: Grundlagenkurs (JPA)

    Kursziele

    Java Persistence API (JPA) ermöglicht die Abbildung von Java-Objekte auf Datenbanktabellen. In diesem Kurs lernen Sie, wie persistente Objekte aufgebaut, in der Datenbank gespeichert und mittels Abfragespache gelesen werden können. Sie erlernen die Verwendung von JPA in Standalone-Anwendungen ebenso wie die Integration in Java-EE-Applikationen. Für den umfangreichen Praxisteil nutzen Sie die Provider EclipseLink und Hibernate sowie den Application Server WildFly, wobei die vermittelten Kenntnisse auch für andere Provider und Server gültig sind. Im Kurs nutzen wir die aktuelle Version 2.1 der Spezifikation und weisen auf die Unterschiede zu Vorversionen hin.

    Details zu diesem Kurs

    JEE Batch Applications

    Kursziele

    Java EE 7 bietet mit dem stark durch Spring Batch beeinflussten JSR 352 eine standardisierte Plattform zur Ausführung von Hintergrund-Jobs. Sie erlernen in diesem Kurs die Entwicklung von Java-Batch-Anwendungen, die das Java-EE-Backend (JPA, CDI) nutzen.

    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

    JEE 7/8 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

    Java Persistence API: Aufbaukurs (JPA)

    Kursziele

    Java Persistence ermöglicht es, Java-Objekte auf Datenbanktabellen zu „mappen“ und unabhän-gig vom eingesetzten Provider Abfragen und Änderungen der persistenten Objekte durchzufüh-ren. In diesem Seminar vertiefen Sie Ihre Grundkenntnisse über JPA erlernen weitere Möglich-keiten der Objekt-Datenbank-Zuordnung, spezielle Abfragetechniken und Optimierungsmöglichkeiten. Für die umfangreichen Praxisübungen stehen Ihnen die Provider Eclipselink, Hibernate und OpenJPA sowie die Applikationsserver WildFly und GlassFish zur Verfügung. Im Kurs nutzen wir die aktuelle Version 2.1 der Spezifikation und weisen auf die Unterschiede zu Vorversionen hin.

    Details zu diesem Kurs

    Vertiefung: Anwendungsentwicklung mit CDI

    Kursziele

    CDI ist der Standard für die technische und fachliche Verknüpfung von Anwendungskomponen-ten untereinander. CDI 1.1 ist Teil von Java EE 7, 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 vertiefen in diesem Seminar Ihre CDI-Kenntnisse, lernen die event-orientierte Verarbeitung, die Nutzung der internen Pro-grammschnittstellen und CDI-Erweiterungen wie auch die Entwicklung eigener Extensions ken-nen. Der Fokus liegt auf Enterprise-Anwendungen, in denen CDI als Bindeglied zwischen Web-oberfläche und Persistenzschicht fungiert, wobei der Einsatz in SE-Anwendungen und Tests auch diskutiert wird. Auf die Unterschiede zur Vorversion wird hingewiesen, so dass Sie das Erlernte auch für Java EE 6 mit CDI 1.0 (JSR-299) anwenden können.

    Details zu diesem Kurs

    Vertiefung: Java-Webanwendungen mit JavaServer Faces

    Kursziele

    Innerhalb der Java EE ist JavaServer Faces (JSF) das Framework zur Entwicklung von Weban-wendungen. Ergänzend stehen viele Komponentenbibliotheken für die Gestaltung ansprechender Web-GUIs zur Verfügung. In diesem Seminar vertiefen Sie Ihr JSF-Wissen und. Im Verlauf des Seminars entwickeln Sie eine vollständige JSF-Anwendung inklusive Formularverarbeitung, In-ternationalisierung und Security. Dafür stehen Ihnen die Applikationsserver WildFly, GlassFish und Tomcat zur Verfügung.

    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)

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

    Kursziele

    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

    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

    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

    Funktionale Programmierung in Java durch Lambda Expressions und Streams

    Kursziele

    Die Funktionale Programmierung in Java wurde mit Java 8 durch Lambda Expressions und Streams entscheidend verbessert.

    Operationen auf Objektmengen können elegant implementiert werden. Der Kurs zeigt neben der Theorie der Lambda Ausdrücke viele Anwendungsbeispiele.

    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

    Anwendungsentwicklung mit JavaFX 8

    Kursziele

    Mit JavaFX lassen sich auf einfache Weise moderne Desktopanwendungen mit ansprechender grafischer Oberfläche erstellen. Das Framework ist seit Java 8 Teil der Standardbibliothek und löst Swing als GUI-Bibliothek ab. In diesem Seminar erhalten Sie eine fundierte Einführung in die Anwendungsentwicklung mit JavaFX.
    Grafische Oberflächen lassen sich komfortabel in FXML-Dateien deklarieren, und mit geringem Aufwand können grafische Effekte, Animationen und Diagramme erstellt werden. Properties und Bindings ermöglichen eine klare Trennung zwischen Präsentationsschicht und fachlicher Implementierung.

    Diese und viele andere JavaFX-Technologien lernen Sie im Seminar kennen und anwenden.

    Details zu diesem Kurs

    Update auf Java 8

    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 in Java 9 bis 12

    Kursziele

    In diesem Kurs lernen Sie, die Neuerungen von Java 9, 10 und 11 professionell einzusetzen. Sie erhalten einen umfassenden Überblick über die neuen Funktionalitäten, die seit Java 8 dazugekommen sind. In umfangreichen praktischen Übungen entwickeln Sie Anwendungen und lernen die weitreichenden Änderungen in den neuen Java-Versionen kennen. Oracle hat mit Java 10 einen halbjährlichen Release-Zyklus eingeführt, es erscheint also alle sechs Monate eine neue Java-Version. Java 9 und 10 gelten dabei als "Zwischenversionen" und werden nach der Veröffentlichung von Java 11 im Herbst 2018 nicht mehr mit Updates versorgt. Dieser Kurs wird fortlaufend entsprechend aktualisiert und ist immer auf dem neuesten Stand, aktuell also Java 11.

    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

    Unternehmensanwendungen entwickeln mit JavaFX 8

    Kursziele

    JavaFX ist das ideale Framework zum Erstellen moderner Cross-Platform-Desktopanwendungen. In Unternehmensanwendungen gilt es jedoch, zusätzliche Anforderungen zu erfüllen: Komfortable Rich Clients müssen mit geringem Aufwand erstellt werden können und sollen mit Servern interagieren und Daten austauschen. Grafische Oberflächenelemente müssen angepasst oder komplett selbst erstellt werden. Außerdem sollen die Anwendung und ihre Bestandteile jederzeit und automatisiert getestet werden können, sowohl die grafische Oberfläche als auch die fachliche Implementierung. Was JavaFX zum perfekten Werkzeug für diese Aufgaben macht, erfahren Sie in diesem Kurs.

    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 Aufbaukurs Client GUI mit Swing

    Kursziele

    In diesem Seminar lernen die Teilnehmer die Konzepte des Java Swing API zur Programmierung von grafischen Oberflächen von Desktop-Anwendungen kennen. Die wichtigsten Swing-Komponenten werden vorgestellt und ihre Nutzung erläutert. Nach dem Kurs sind die Teilnehmer in der Lage, ihre Java-Programmlogik mit einer funktionellen, grafischen Oberfläche zu versehen.

    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

    Android 6/7 Anwendungsentwicklung

    Kursziele

    Android ist das verbreitetste System für Smartphones und Tablets. In diesem Kurs erfahren Sie, wie Sie Ihre eigenen Apps entwickeln können. Sie lernen alle wichtigen Konzepte und  Vorgehensweisen dafür kennen, von der Einrichtung der Arbeitsumgebung über das Erstellen einer ersten Anwendung bis zur Installation der fertigen App auf einem Android-Gerät. Eine funktionale und ansprechende Benutzeroberfläche gehört ebenso dazu wie die Navigation zwischen den einzelnen Seiten und die Kommunikation zwischen den jeweiligen Komponenten. Sie erfahren, wie Sie Informationen in Dateien und Datenbanken ablegen oder über Netzwerke senden und empfangen können. Auch auf die Hardware der Geräte wie Beschleunigungssensor, GPS und die Kamera lernen Sie zuzugreifen.

    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

    Java-Webanwendungen mit Vaadin 8

    Kursziele

    Vaadin ist ein freies Framework, welches der Erstellung von Java basierten „Rich Internet Applications“ dient. Geboten wird eine serverseitige Architektur für den Aufbau professioneller JavaScript/Ajax gestützter Webanwendungen. Ziel von Vaadin ist es dem Entwickler eine Vorgehensweise bei der Erstellung von Webanwendungen zu bieten, welche von den verwendeten Webtechnologien vollständig abstrahiert und somit ein Arbeiten ermöglicht, wie es aus dem Bereich der Desktop-Entwicklung (Swing) bekannt ist.

    In diesem Seminar lernen Sie den Aufbau von Java-Webanwendungen mit Vaadin und die dazu nötigen Entwicklungs- und Laufzeitumgebungen kennen. Neben den grundlegenden Themen wie Komponenten, Theming und Data-Binding wird auch auf fortgeschrittene Technike, wie das Erstellen eigener Komponenten und das Nutzen von JavaEE6-Technologien in Vaadin-Anwendungen, eingegangen.

    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

    SQL Masterclass

    Kursziele

    Dieser Workshop erlaubt Entwicklern, SQL als eine erstrangige Sprache in ihren Applikationen einzusetzen. Aufgrund der historischen Kluft zwischen Datenbank- und Applikationsprogrammierfähigkeiten, leidet die Mehrheit des von Entwicklern verfassten SQLs unter einem der folgenden Probleme:

    1. Es ist zu komplex und könnte durch Refactoring stark vereinfacht werden
    2. Es leidet unter schlechter Performance wegen mangelnden Wissens über die Funktionsweise von Datenbanken
    3. Es verwendet keine moderne und/oder herstellerspezifische SQL Funktionalität

    Alle diese Probleme können behoben werden, indem Entwickler ermutigt werden, SQL mit demselben Respekt zu behandeln, wie ihren "normalen" Code, indem sie über Performanceauswirkungen aufgeklärt werden, und indem sie über die neusten Features aus kommerziellen und Open Source Datenbanken informiert werden. Diese Masterclass erreicht diese drei Ziele.

    Details zu diesem Kurs

    Java Portal - Entwicklung

    Liferay Einsteigerschulung

    Kursziele

    Diese Einsteigerschulung vermittelt die Umsetzung der Java-Portlet-Spezifikation JSR 168/286 im Liferay Portal Server. Liferay ist der am meisten verbreitete Open Source Portal Server und wird für die Entwicklung von Unternehmensportalen für das Internet/ Intranet eingesetzt. Anhand von Liferay werden praxisgerechte Übungen durchgeführt, die zeigen, wie einfache Portlets in der Liferay-Ide entwickelt werden können und wie der Portal-Server an die unterschiedlichen Anforderungen angepasst werden kann. Zudem erfährt der Teilnehmer, wie bestehende Web-Anwendungen auf der Basis von JSF in die Portlet-Umgebung eingefügt werden und dadurch die umfangreiche Funktionalität des Liferay-Portal-Servers genutzt werden kann. Nach dem Seminar realisieren Sie selbständig einfache Portalanwendungen. Sie erhalten im Seminar eine CD mit kompletter Entwicklungsumgebung und allen Beispielen.

    Details zu diesem Kurs

    Portlet Einsteigerschulung

    Kursziele

    Diese Einsteigerschulung präsentiert die Java-Portlet-Spezifikation JSR 168/286 zur Entwicklung von Unternehmensportalen für das Internet/ Intranet. Schulungsteilnehmer erfahren die Leistungsfähigkeit moderner Portlet-Container und können Portlets erstellen, konfigurieren und distribuieren. Anhand eines Portlet-Containers werden praxisgerechte Übungen durchgeführt, die zeigen, wie einfache Portlets entwickelt werden können. Zudem erfährt der Teilnehmer, wie bestehende Web-Anwendungen auf der Basis von JSF in die Portlet-Umgebung eingefügt werden und dadurch die umfangreiche Funktionalität des Portal-Servers genutzt werden kann.

    Details zu diesem Kurs

    Portal und Liferay Einsteigerschulung

    Kursziele

    Diese Einsteigerschulung präsentiert die Java-Portlet-Spezifikation JSR 168/286 zur Entwicklung von Unternehmensportalen für das Internet/ Intranet. Schulungsteilnehmer erfahren die Leistungsfähigkeit moderner Portlet-Container und können Portlets erstellen, konfigurieren und distribuieren. Anhand von Liferay, dem am meisten verbreiteten Open Source Portal, werden praxisgerechte Übungen durchgeführt, die zeigen, wie einfache Portlets in der Liferay-Ide entwickelt werden können und wie der Portal-Server an die unterschiedlichen Anforderungen angepasst werden kann. Sie erhalten im Seminar eine CD mit kompletter Entwicklungsumgebung und allen Beispielen.

    Details zu diesem Kurs

    Liferay Social Office für Endanwender

    Kursziele

    Dieser Kurs ist als eintägige Einsteigerschulung für Endanwender konzipiert. Es werden die Funktionen von Liferay Social Office aus Anwendersicht präsentiert. Schulungsteilnehmer lernen den Umgang mit verschiedenen Enterprise 2.0 Komponenten kennen und erfahren, wie sie in ihrem Arbeitsalltag im Unternehmensumfeld von IT-gestützter Kollaboration profitieren können. Auf Basis von Liferay, dem am meisten verbreiteten Open Source Portal, werden mit dem Social Office Aufsatz für Unternehmenskollaboration praxisgerechte Übungen durchgeführt. Inhaltlich wird im Verlauf des Kurses der Auf- und Ausbau eines sozialen Web 2.0 Unternehmensportals einer fiktiven Organisation simuliert.

    Details zu diesem Kurs

    Liferay Social Office für Administratoren

    Kursziele

    Dieser Kurs ist als eintägige Basisschulung für Administratoren konzipiert. Es wird der Umgang mit Liferay Social Office aus administrativer Sicht präsentiert. Schulungsteilnehmer erlernen die Installation, Einrichtung und Verwaltung des Enterprise 2.0 Unternehmensportals. Liferay, das am meisten verbreitete Open Source Portal, wird mit dem Social Office Aufsatz für Unternehmenskollaboration eingerichtet und konfiguriert. Inhaltlich wird im Verlauf des Kurses das initiale Setup des sozialen Unternehmensportals anhand einer fiktiven Organisation simuliert.

    Details zu diesem Kurs

    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

    Grundlagen von Angular

    Kursziele

    Angular aus dem Hause Google ist in aller Munde, verspricht dieses clientseitige JavaScript-Webframework doch die Entwicklung von modernen, plattformübergreifenden Webanwendungen. In diesem Seminar lernen Sie die Grundlagen zur Entwicklung mit Angular.

    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

    AngularJS für Webapplikationen

    Kursziele

    AngularJS hat für die Erstellung von Single-Page-Webapplikationen mittlerweile größere Bedeutung erlangt. Das von Google entwickelte Open-Source-Framework baut auf dem Model-View-Controller Entwurfsmuster auf und bietet dadurch eine Trennung von Darstellung und Logik des User Interfaces.  Der Kurs stellt die Grundlagen für die Entwicklung einer eigenen AngularJS Anwendung bereit. Anhand von Übungen werden dem Teilnehmer die Konzepte, Methoden und Strategien für einen erfolgreichen Einsatz
    von AngularJS vermittelt.

    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

    jQuery Komplett

    Kursziele

    jQuery ist die am meisten verwendete JavaScript-Bibliothek. Sie bietet den Vorteil, schnell und mit stark reduziertem Code zu eindrucksvollen Ergebnissen zu kommen. Grundlage dafür ist ein logisches und ausgereiftes System.  Von zentraler Bedeutung ist die Auswahl einer geeigneten Softwarearchitektur. Bei der Anbindung an Serversystem können mittels Ajax JSON- und XML-Format verwendet werden.  Und schließlich stellt testgetriebene Entwicklung (TDD) den hohen Standard ihrer jQuery-Anwendung sicher.

    Details zu diesem Kurs

    JavaScript für Java Entwickler

    Kursziele

    Sie kennen das grundlegende Konzept von JavaScript und sind in der Lage eigenständig JavaScript Programme zu erstellen.

    Details zu diesem Kurs

    Continuous Delivery - DevOps

    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

    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 – 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

    Architecting for Continuous Delivery and Zero Downtime

    Kursziele

    Dieser Workshop ist als Inhouse-Workshop oder Firmenschulung buchbar. Gerne kommt Axel Fontaine zu Ihnen ins Haus oder wir führen den Workshop für Ihr Unternehmen in einem Business Center europaweit durch. Die Agenda bestimmen Sie.

    Sprechen Sie uns an:
    Tim Neumann
    tim.neumann@gedoplan.de
    030 - 7 55 49 188

    Details zu diesem Kurs

    Mobile Anwendungsentwicklung / App Entwicklung

    Mobile Apps mit HTML5, CSS3, JavaScript und Apache Cordova

    Kursziele

    Ziel des Kurses ist es, Ihnen die notwendigen Grundkenntnisse zu vermitteln.  Darüber hinaus werden sie einzelne Module entwickeln und daraus eine mobile Web-Anwendung zusammenstellen. Und as auf der Grundlage von PhoneGap / Cordova.

    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

    Mobile App - Entwicklung für IOS, Android und Windows

    Kursziele

    In diesem Spezialkurs lernen Sie die professionelle Entwicklung von Apps für die mobilen Plattformen iOS, Android und Windows. Sie erlernen dabei alle wichtigen Techniken, Scriptsprachen, Stylesheet-Sprache, Deployment-­ und Plattform-Tools sowie die wichtigsten Frameworks professionell einzusetzen und damit leicht und eigenständig Apps zu erstellen und programmieren.

    Details zu diesem Kurs

    Angular mit TypeScript Einführung und Grundlagen

    Kursziele

    Nach dieser Veranstaltung wissen Sie, wie man mit Angular und TypeScript Anwendungen entwickelt und welche Besonderheiten dabei zu beachten sind. Sie lernen die Angular Grundkonzepte wie Component, Templating und Data Bindung kennen und anwenden. Mit Hilfe von Angular Dependency Injection entwickeln Sie Services und nutzen dabei REST-basierte Serverschnittstellen. Durch den Angular Router stellen Sie eine Navigation innerhalb Ihrer Anwendung zur Verfügung und nutzen Angular Formulare für die Eingabe von Daten. Durch Testing wird Ihre Angulat - Anwendung robust. Hinweise für das Upgrade bestehender AngularJS runden die Veranstaltung ab.

    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

    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 Jenkins-Pipeline für Continuous Delivery. Dabei wird auch auf die Möglichkeiten und Problemstellungen der lokalen Entwicklung aus der IDE heraus eingegangen.

    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

    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

    Scala Einführung

    Kursziele

    Scala ist eine moderne Programmiersprache für die JVM, die objektorientierte, funktionale und imperative Konzepte auf elegante Weise miteinander vereint. Sie ist statisch typisiert, dank Typinferenz und einer knappen Syntax lassen sich Scala-Programme dennoch mit einer Klarheit ausdrücken, die man sonst nur von Ruby oder Python kennt. Die aus Java bekannte Objektorientierung wird durch Scala um Konzepte wie Case Classes, Pattern Matching und Traits erweitert, darüber hinaus ist Scala eine echte funktionale Sprache – sie bietet first-class functions, eine effiziente Bibliothek zur Verarbeitung von Collections und umfangreiche Unterstützung für parallele Programmierung.

    Details zu diesem Kurs

    Python 3 Einführung

    Kursziele

    In diesem Training werden die Grundlagen der Sprache Python in der aktuellen Version 3 vermittelt. Neben der Theorie werden die Inhalte ausgiebig durch Übungen vertieft, so dass die Teilnehmer am Ende des Seminars selbständig Programme in Python konzipieren, umsetzen und debuggen können.

    Details zu diesem Kurs

    Data Science mit Python

    Kursziele

    In diesem Seminar werden die Teilnehmer die Fähigkeit erwerben, effiziente Datenanalyse mit der Python-Toolchain durchzuführen. Die Inhalte werden im Workshop-Format vermittelt - mindestens 50% der Zeit wird für praktischen Übungen und Live-Coding genutzt.

    Details zu diesem Kurs

    Projektmethodik

    Übergeordnete Inhalte für IT-Projektleiter

    SWE - Agile Softwareentwicklung

    Agile 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

    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

    Scrum for Developers

    Kursziele

    Ziel der Schulung ist es allen umsetzenden Teammitgliedern eines Scrum oder Kanban Teams verständlich zu machen, worin ihre Aufgaben und Verantwortlichkeiten liegen und wie sich diese zum Product Owner und Scrum Master abgrenzen.

    Des Weiteren werden Entwicklungspraktiken für agile Java Projekte wie zum Beispiel Pair Programming und Test Driven Development aufgegriffen und erklärt.

    Details zu diesem Kurs

    Scrum for Product Owners

    Kursziele

    Ziel der Schulung ist es Produktmanagern und Product Ownern zu vermitteln wie agiles Anforderungsmanagement funktioniert und welche Aufgaben in der Rolle des Product Owners verankert sind.

    Details zu diesem Kurs

    Scrum for Scrum Masters

    Kursziele

    Diese Schulung soll angehenden oder bereits aktiven Scrum/Kanban Mastern
    das passende Handwerkszeug für ihre Rolle mitgeben. Ziel ist es am Ende
    des Kurses zu wissen für welche Aufgaben ein Scrum/Kanban Master die
    Verantwortung übernimmt und worauf dabei zu achten ist. Neben der Moderation von Meetings wird hier vor allem auf die Betreuung des Product Owners, die Auflösung von Impdediments und die Weiterentwicklung des Teams
    eingegangen.

    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

    Agile Complete

    Kursziele

    Das Agile Complete Paket beinhaltet alle Elemente der Agile Basics, Scrum Basics und Kanban Basics Schulung. Ziel ist es ein solides Grundwissen in agiler Arbeitsmethodik aufzubauen und sowohl Scrum als auch Kanban kennen zu lernen. Dieser Kurs eignet sich gut um sich ein Bild über die agile Methodenlandschaft zu verschaffen um anschließend eines der beiden Frameworks für ein Java Projekt auswählen zu können.

    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

    Maßgeschneidert?

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

    Kontaktieren Sie mich oder
    nutzen Sie unseren
    Schulungskonfigurator!

    030 / 755 49 188

    Tim.Neumann@GEDOPLAN.de

    So läuft's bei uns