Apache Camel

Schulung / Webinar

Apache Camel ist ein leichtgewichtiges und flexibles open source Framework für die Integration. Zu den Stärken von Camel zählen die Java basierte DSL (Domain Specific Language) zur Beschreibung von Routen sowie die Unterstützung zahlreicher EIPs (Enterprise Integration Patterns).

In dieser praxisnahen Schulung lernst du Integrationsaufgaben mit Routen in Camel effizient umzusetzen.


Einführung

  • Was ist Camel?
  • Integration mit Camel am Beispiel einer Route für die Logistik

Enterprise Integration Patterns

  • Beispiel mit Filter, Transformer, Splitter und Aggregator
  • Routing: Content Based Router, Dynamic Router, Receipient List
  • Loadbalancing und Failover

Die Architektur von Apache Camel

  • Internas: Exchange, Message und Processor
  • Komponenten und deren Konfiguration

Entwicklung mit Camel

  • Wann verwende ich die Java oder XML DSL?
  • Bauen von Camel Projekten mit Maven

Get Connected!

  • Components, die Verbindung zur Außenwelt
  • Konnektoren im Überblick: HTTP, JMS, Web Services mit CXF, Datenbank, JPA, Timer, Bean, Jetty, FTP

Camel und JMS

  • ActiveMQ Artemis als Message Broker
  • Asynchrone Verarbeitung mit Camel und Queues?

Java Beans

  • Verarbeiten von Nachrichten mit Beans
  • Parameter Übergabe mit Binding Annotations
  • Java Config

Data Formats

  • XML und JSON
  • Verwendung von JAXB
  • Einbindung eigener Formate
  • Transformation von JSON

REST APIs

  • Beschreibung von APIs mit der REST DSL
  • Erstellen von APIs mit Camel
  • Routen, die aus APIs lesen und in APIs schreiben

Legacy Web Services mit SOAP (Optional bei Interesse)

  • Die CXF Komponente
  • Aufrufen und Anbieten von SOAP basierten Web Services

Deployment

  • Standalone, Spring Boot, Serverless Camel K oder Quarkus
  • Native Images mit der GraalVM
  • Integration Microservices mit Camel
  • Optimierung für den Betrieb im Docker Container

Monitoring und Logging

  • Überwachung mit JMX und der hawt.io Konsole
  • Visualisierung von Camel-Routen
  • Logging, Tracing und Live Debugging
  • Prometheus und Grafana

Transformation

  • Transformation von JSON, XML und anderen Formaten
  • Automatische Konvertierung mit Type Converter
  • Marshalling und Data Formats

Fehlerbehandlung

  • Tote Briefe und der Dead Letter Channel
  • Verarbeiten von Exceptions mit dem ErrorHandler
  • Redelivery von Nachrichten
  • Transaktionen vs. Saga EIP

Transaktionen und Komponenten

  • Grundlagen transaktionaler Verarbeitung
  • Der Transaction Manager des Spring Frameworks
  • Verwendung der Unit of Work bei der Anbindung nicht-transaktionaler Systeme
  • Verteilte Transaktionen (XA) mit Two-Phase Commit (2PC) und dem Java Transaction API (JTA) am Beispiel von ActiveMQ und PostgreSQL

Testen

  • Wie testet man Camel Routen, Prozessoren,...?
  • JUnit Tests mit dem Camel Test Kit
  • Mocken von Endpoints
  • Einsatz der Mock Komponente zur Verifikation

Camel für Fortgeschrittene

  • Parallele Verarbeitung und Nebenläufigkeit
  • Neues in Camel 3 und 4

Integrations Beispiele aus der Praxis

  • Ersatz für Cron-Jobs
  • Datenbank Abgleich
  • Anbindung unzuverlässiger Schnittstellen
  • Nachrichten basierte Integration

Optionale Themen

  • Erstellen von eigenen Konnektoren
  • Schreiben von eigenen Type Convertern

Zielgruppe

Java Entwickler

Vorkenntnisse

Grundkenntnisse in der Entwicklung mit Java

Deine Vorteile

  • Du lernst die Funktionsweise und die Konzepte von Apache Camel kennen.
  • Am Ende der Schulung kannst du mit Camel schnell und effizient Integrationsprojekte durchführen.
  • Du kannst Camel von einem Enterprise Service Bus abgrenzen.

Dauer

2 Tage

Kursunterlage

Handouts aller in der Schulung präsentierten Folien.

Infos zu Firmenseminaren

TerminOrtTrainerPreis
17. - 18. 3.onlineThomas Bayer1.320,- €**

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer

** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer

Unsere Trainer auf YouTube: