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
- Einführung, Symbolik
- Demonstration von Filter, Transformer, Splitter und Aggregator anhand eines Beispiels
- Loadbalancing und Failover
Camel Architektur
- Processors
- Message Modell
- Camel URLs
Entwicklung mit Camel
- Domain spezifische Sprachen
- Wann verwende ich die Java oder Spring DSL?
- Bauen von Camel Projekten mit Maven
Get Connected!
- Components, die Verbindung zur Außenwelt
- Konnektoren im Überblick: FTP, JMS, Web Services mit CXF, Datenbank, JPA, Timer, Bean, Jetty
Camel und JMS
- ActiveMQ als Message Broker
- Wie sieht eine Architektur mit Camel und JMS aus?
- Gliedern von Routen mit Queues
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 in Camel Routen
REST
- Die Camel REST DSL
- API Beschreibung mit Swagger
- Erstellen von REST Ressourcen
- Camel als REST Client
Web Services
- Die CXF Komponente
- Aufrufen und Anbieten von SOAP basierten Web Services
Deployment
- Warum du ServiceMix nicht verwenden solltest
- Standalone mit camel-main
- Serverless mit Camel K
- Camel K und Camel Quarkus
- Native Images mit der GraalVM
- Spring Boot
- Microservices mit Camel: Deployment als Docker Container
Monitoring
- Überwachung mit JMX
- Camel in der hawt.io Konsole
- Visualisierung von Camel-Routen
- Logging, Tracing und Live Debugging
- Wire Tap Pattern
Fehlerbehandlung
- Tote Briefe und der Dead Letter Channel
- Verarbeiten von Exceptions mit dem errorHandler
- Redelivery von Nachrichten
- Transaktionen vs Saga EIP
Routing
- Erstellen von Routen mit der Java und Spring DSL
- EIP Router Patterns: Content Based Router, Dynamic Router, Receipient List
Transformation
- Mediation mit XML und XSLT
- Automatische Konvertierung mit Type Converter
Transaktionen und Komponenten
- Grundlagen in der transaktionalen 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 man Routen testet
- 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
- Modulares Camel Core
- Startup und Footprint
- Endpunkte typsicher mit der DSL beschreiben
- Reactive Camel mit Vert.X oder RxJava
Integrations Beispiele aus der Praxis
- Ersatz für Cron-Jobs
- Datenbank Abgleich
- 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
- 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
* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer