Post on 04-Jun-2020
transcript
Achim Nierbeck | inovex
Integration in der Cloud mit Camel, Karaf und Cellar
Agenda
• Vorstellung
• Cloud? Integration? Cluster?• Protagonisten - Eine Vorstellung• Integration + Cloud• Demo
• ... don't Panic!
Vorstellung
• Achim Nierbeck
• inovex GmbH– Pforzheim, Karlsruhe, München Köln
• @anierbeck
• open source – Apache Karaf PMC
– Apache Kalumet PMC– OPS4j Pax Web Project Lead
Integration? Cluster? Cloud?
Situation
• wie kommen die Daten an ihr Ziel
• woher kommen die Daten
• welche Daten
Image: © Nevit Dilmen found at Wikimedia commons
Integration ?
Integration mit Camel
Apache Camel is messaging technology glue with routing. It joins together messaging start and end points allowing the transference of messages from different sources to different destinations. For example:
JMS->JSONHTTP->JMS
or funneling
FTP->JMS, HTTP->JMSJMS=>JSON
Quelle: Universal Business Adapter (IBM)
http://stackoverflow.com/questions/8845186/what-exactly-is-apache-camel
EAI - Enterprise Application Integration
• Gregor Hohpe und Bobby Woolfe
• Martin Fowler: „the missing piece“ zu Patterns of Enterprise Application Architecture
Die Protagonisten
• Apache Camel– Eines der am weitesten verbreiteten EAI
Frameworks
• Apache Karaf– Leichtgewichtiger OSGi Container– perfekte Laufzeitumgebung für Camel
• Apache Karaf-Cellar– Karaf Cluster Lösung --> Cloud Lösung
Camel Architektur
Message Routing
Apache Karaf
Karaf - Overview
Apache Karaf - Cellar
Karaf Cellar – Node Kommunikation
Karaf Cellar - Überblick
Karaf Cellar - Farming
Maven Repo
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Karaf Cellar - Farming
Maven RepoFeature
install
xxx
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Karaf Cellar - Farming
Maven Repo
Re
plicate
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Karaf Cellar - Farming
Maven Repo
Feature
install
xxx
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Karaf Cellar - Farming
Maven Repo
Feature
install
zzz
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Karaf Cellar - Farming
Maven Repo
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Re
plicate
Karaf Cellar - Farming
Maven Repo
Node 1
Whitelist: - xxx- yyyBlacklist: - zzz
Node 2
Whitelist: - xxx- zzzBlacklist: - yyy
Integration in der Cloud
Apache Karaf-Cellar
Apache Karaf
Apache Camel
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:to(s3://bucket/object)
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:
to(cxf:endpoint)
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:
from(cxf:endpoint).to(jms:queue)
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:
from(twitter://xxx).bean(filterBean).to(hdfs://storage)
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:
from(jms).convertTo(String.class).to(hazelcast:seda:queue)
Cloud Integration
© twitter.com
Privat Node
Data
S3
EC-Node 1
EC-Node 3
EC-Node 2
HDFS
EIP:from(hazelcast:seda:queue).to(hdfs:storage)
DEMO
Privat Node
S3
EC-Node 2EIP:
EC-Node 1
from(file).to(cxf)
from(cxf).to(hazelcast: seda: queue)
from(seda:x).to(blobstore)
Browse
... don't Panic
• Bring dein Handtuch mit
• http://camel.apache.org
• http://karaf.apache.org
• http://karaf.apache.org/index/subprojects/cellar.html
• Showcase: https://github.com/inovex/camel-cloud-integartion-jax2013/
• Fragen immer jederzeit auf den Mailinglisten
• … am Inovex Stand