Unsere Trainer auf YouTube:
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.
Termin | Ort | Trainer | Preis | |
---|---|---|---|---|
17. - 18. 3. | online | Thomas Bayer | 1.320,- €** |
* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer
** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer