Anwendungsintegration mit Apache Camel
Open Source Systeme und Applikationen
07.09.2022
9:00 – 17:00 Uhr
BFH - Berner Fachhochschule
Max. Teilnehmer: 30
Einleitung
Die meisten Unternehmen verwenden in ihrem Tagesgeschäft mehrere Softwareprodukte verschiedener Anbieter. Diese Anwendungen können unterschiedliche Verwendungszwecke, Datenspeicher und Betriebsmethoden haben. Dies führt in der Regel zu Datensilos, in denen Daten entweder zwischen Datenbanken dupliziert werden oder in einer Datenbank verfügbar sind, in einer anderen aber nicht. Infolgedessen klagen Unternehmen über Dateninkonsistenz, langsame Prozessdurchlaufzeiten, fehlende Früherkennung von Änderungen im Unternehmensumfeld (Kundenverhalten) etc.
Abhilfe versprechen Integrationsarchitekturen, welche die ursprünglich isolierten Anwendungen (z.B. ERP, CRM…) miteinander integrieren beziehungsweise inhaltliche und technologische Gräben überbrücken. Apache Camel ist ein leichtgewichtiges und flexibles open source Framework für die Integration von in sich geschlossenen Anwendungen, welches die Entwicklung von Integrationsarchitekturen unterstützt. Zu den Stärken von Camel zählen die Verfügbarkeit verschiedener DSL (Domain Specific Language) zur Beschreibung von Routen sowie die Unterstützung zahlreicher Enterprise Integration Patterns. Camel zeichnet sich zudem dadurch aus, dass es sich in alle relevanten Ecosysteme einbetten lässt, wie z.B. Spring Boot, Quarkus, diverse Application Servers, Kubernetes.
In diesem praxisnahen Workshop lernen die Teilnehmenden, wie mit Hilfe von Camel aktuelle Integrationsaufgaben verschiedener Komplexität elegant umgesetzt werden können. Es werden verschiedene praxisnahe Übungen bearbeitet, eingebettet in das Spring Boot Ecosystem und unter Verwendung der Java basierten DSL von Camel.
Programm
Nach einer kurzen Einführung in die Problematik der in sich geschlossenen Anwendungssysteme werden verschiedene Lösungsansätze im Hinblick auf eine Integrationsarchitektur diskutiert und einander gegenübergestellt (z.B. Punkt zu Punkt, Hub-and-Spoke, Enterprise Service Bus etc.). Besondere Aufmerksamkeit wird dabei auf die Integrationsanforderungen in einem modernen Microservice Umfeld gelegt.
Anschliessend werden das Basiskonzept und die Architektur von Apache Camel vorgestellt sowie die wichtigsten Komponenten diskutiert (verbunden mit ersten kurzen Übungen). Thematisiert werden sodann die sogenannten Enterprise Integration Pattern von G. Hohpe und B. Woolf sowie deren Unterstützung durch Camel. Der Nutzen dieser Patterns erkennen die Teilnehmenden anhand von geeigneten Praxisübungen.
Der Umgang von Camel mit verschiedenen Datenformaten sowie die Fehlerbehandlung und das Monitoring runden den Workshop ab.
Kursziel
Die Teilnehmenden kennen am Schluss des Workshops die wichtigsten Konzepte, die Architektur und die hauptsächlichen Komponenten von Apache Camel. Sie sind in der Lage, mit Hilfe von Camel Integrationslösungen für einfachere Problemstellungen zu entwickeln (auf der Basis von Spring Boot und Java DSL). Zudem können sie abschätzen, wann sich der Einsatz des Integrationsframeworks Camel lohnt und in welchen Situationen davon abzuraten ist.
Adressaten
Software-Entwickler*innen, Software-Architekten*innen
Voraussetzungen
Grundkenntnisse in der Software-Entwicklung mit Java und Spring Boot
Infrastruktur
Eigener Laptop, aktuelle Java JDK, Entwicklungsumgebung (IDE) z.B. IntelliJ, Eclipse, WLAN Zugang
Referenten
Rolf Jufer
Berner Fachhochschule BFH, Departement Technik und InformatikIch arbeite und unterrichte als Professor für Informatik an der Berner Fachhochschule. In meiner über 35-jährigen Berufstätigkeit habe ich Erfahrungen in zahlreichen Bereichen wie Prozessmanagement mit BPMN, Enterprise Application Integration, Backend-Entwicklung mit dem Spring Ecosystem (Spring Boot, Spring Data, Spring Cloud, etc.), Containerisierung von Spring-Anwendungen mit Docker und deren Betrieb mit Kubernetes gesammelt.