Schulung: Apache Camel

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 Routen in Camel zu definieren und wiederkehrende Integrationsaufgaben zu lösen.

In der Schulung lernst Du mit Camel Anwendungen zu integrieren und trainierst für die Praxis.

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

  • Standalone Camel
  • Einsatz von Camel in einem ESB oder Application Server
  • OSGi, ServiceMix und Camel
  • 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
  • Fehler in Transaktionen

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

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.

Apache and Apache Cassandra sind eingetragen Warenzeichen der The Apache Software Foundation.

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