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 Informatik


Ich 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.