Seminarinformationen

Seminar - Ziel

In dem 3-tägigen Seminar „Microservices mit dem Spring Framework“ vertiefen Sie Ihre Kenntnisse im Umgang mit dem Spring-Framework und erhalten eine praxisorientierte Einführung in Spring MVC, Spring Cloud und Spring Boot. Dabei lernen Sie den Architekturstil der Microservices kennen, bei dem Anwendungen aus kleinen, unabhängigen Diensten bestehen, die sich um eine bestimmte Geschäftsdomäne gruppieren. Diese Struktur fördert die Skalierbarkeit und Effizienz von Entwicklungsteams. Spring unterstützt Sie dabei, solche Anwendungen schnell und produktiv umzusetzen.

Das Seminar startet mit einer Einführung in zentrale Konzepte wie Controller, Models, Services, Spring Boot-Anwendungen sowie die Grundlagen von Spring MVC und Spring Configuration Management. Im weiteren Verlauf befassen Sie sich mit der Entwicklung und dem Testen von REST Services in Spring. Den Abschluss bildet eine praktische Übung, in der Sie das erworbene Wissen anwenden und einen Microservice selbst umsetzen.

Teilnehmer - Zielgruppe

  • Java-Entwickler
  • Softwarearchitekten, die Microservices mit Spring Boot entwickeln möchten

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • gute Java-Kenntnisse
  • Grundkenntnisse in Spring Boot

Seminardauer

  • 3 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Microservices — Einordnung

  • Motivation und Preis: wann Microservices, wann der Monolith reicht
  • Datenhoheit, unabhängige Deployments, 12-Factor-Prinzipien
  • Die Fallstudien-Landschaft: drei Services, Weboberfläche, Broker

Der einzelne Service: REST-Kern

  • REST-API mit sauberen Statuscodes; zentrale Fehlerantworten mit ProblemDetail (RFC 9457)
  • API-Dokumentation mit OpenAPI/springdoc (Swagger-UI)
  • Persistenz mit Spring Data JPA, Flyway-Migrationen und PostgreSQL per Docker Compose
  • Integrationstests mit Testcontainers (@ServiceConnection)
  • Aggregierende Endpunkte für die Oberfläche (Backend for Frontend)

Synchrone Kommunikation

  • Zweiter Service mit eigener Datenbank — Datenhoheit statt geteiltem Code
  • Deklarative HTTP Interfaces und RestClient; die Client-Generationen im Überblick
  • Timeouts von Anfang an — und was ohne sie passiert

Asynchrone Kommunikation: Messaging

  • RabbitMQ: Exchange, Queue, Binding, JSON-Events
  • Entkopplung erleben: die Queue puffert Consumer-Ausfälle
  • At-least-once-Zustellung, Idempotenz, Retry → Dead Letter Queue
  • Broker-Landschaft: RabbitMQ, Kafka und ActiveMQ Artemis im Vergleich; Einordnung von Spring Cloud Stream

Resilienz nach „Release It!"

  • Stability-Antipatterns (Nygard) und ihre Gegenmuster
  • Chaos-Schalter: Latenz und Fehlerrate zur Laufzeit zuschalten
  • Resilience4j: Retry, Circuit Breaker, Bulkhead und Fallbacks
  • Breaker-Zustände im Actuator beobachten; typische Konfigurationsfallen

Observability

  • Die drei Signale: Metriken, Traces, Logs
  • Actuator absichern; Spring Boot Admin
  • OpenTelemetry: Traces, Metriken und Logs per OTLP nach Grafana (LGTM-Stack)
  • Ein Trace über REST- und Messaging-Grenzen; Log-Korrelation über Trace-IDs

Spring Cloud

  • Config Server: zentrale Konfiguration mit spring.config.import; Refresh zur Laufzeit
  • Service Discovery mit Eureka; client-seitiges Load Balancing auf Service-Namen
  • Gateway: ein Einstiegspunkt für Oberfläche und alle APIs
  • Einordnung: Spring Cloud in der Kubernetes-Ära

Container und Kubernetes

  • OCI-Images mit Cloud Native Buildpacks — ohne Dockerfile
  • Die ganze Landschaft in einem Docker Compose
  • Kubernetes lokal: Deployment, Service, ConfigMap, Probes, Self-Healing
  • Deployment-Landkarte: Kubernetes, Cloud-Plattformen und was aus Azure Spring Apps und Cloud Foundry geworden ist

Weitere Schulungen zu Thema Java

Java SE/EE Programmierung mit Eclipse

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Das Seminar vermittelt Kenntnisse im Einsatz von Eclipse in Java SE/EE-Programmierung.

Java - XML

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Das Seminar unterrichtet Sie in den wichtigsten Technologien um XML in Verbindung mit Java. Nach einem Überblick über Grundlagen von XML werden Sie XML-basierte Anwendungen entwerfen und validieren. Sie erhalten einen Einblick in das SAX- und DOM-Parsing.

Jakarta EE - Intensivkurs Messaging mit JMS

- u.a. in Frankfurt am Main, Stuttgart, Mannheim, Offenbach, Kassel

In diesem 2-tägigen Seminar "Jakarta EE - Intensivkurs Messaging mit JMS" erfahren Sie, wie Sie Message-getriebene Architekturen mithilfe von Jakarta Message Service (JMS) umsetzen. JMS ist ein zentraler Bestandteil der Jakarta Enterprise Edition (Java EE) und ...

Einführung in Continuous Delivery

- u.a. in Köln, Leipzig, Nürnberg, Zürich, Koblenz

In diesem 2-tägigen Seminar „Einführung in Continuous Delivery“ setzen Sie sich mit der Motivation und den Konzepten von Continuous Delivery sowie dessen Verbindung zum DevOps-Paradigma auseinander. Sie erhalten einen Überblick über Continuous Integration, Continuous ...