SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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->JSON
HTTP->JMS
or funneling
FTP->JMS, HTTP->JMS
JMS=>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
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming
Maven Repo
Feature
install
xxx
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming
Maven Repo
Replicate
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming
Maven Repo
Feature
install
xxx
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming
Maven Repo
Feature
install
zzz
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming
Maven Repo
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Replicate
Karaf Cellar - Farming
Maven Repo
Node 1
Whitelist:
- xxx
- yyy
Blacklist:
- zzz
Node 2
Whitelist:
- xxx
- zzz
Blacklist:
- 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

Weitere ähnliche Inhalte

Ähnlich wie Jax2013 came-karaf-cellar-inovex

Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit JujuFrank Müller
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit TerraformHarald Schmaldienst
 
Julian Fischer Ruby On Rails
Julian Fischer   Ruby On RailsJulian Fischer   Ruby On Rails
Julian Fischer Ruby On RailsAvarteq
 
Rails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturRails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturHeiko Seebach
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 MicroservicesQAware GmbH
 
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel KleblDigicomp Academy AG
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit AnsibleMichael Döhler
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenAndré Goliath
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3Ralf Eggert
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with youSandro Sonntag
 

Ähnlich wie Jax2013 came-karaf-cellar-inovex (20)

Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit Terraform
 
Julian Fischer Ruby On Rails
Julian Fischer   Ruby On RailsJulian Fischer   Ruby On Rails
Julian Fischer Ruby On Rails
 
Rails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturRails in Production - telewebber Architektur
Rails in Production - telewebber Architektur
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Rack-Middleware
Rack-MiddlewareRack-Middleware
Rack-Middleware
 
Infra coders meetup
Infra coders meetupInfra coders meetup
Infra coders meetup
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 Microservices
 
Offline Arbeiten
Offline ArbeitenOffline Arbeiten
Offline Arbeiten
 
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit Ansible
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
Migration zum Zend Framework 3
Migration zum Zend Framework 3Migration zum Zend Framework 3
Migration zum Zend Framework 3
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with you
 
Dockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloudDockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloud
 
JRuby
JRubyJRuby
JRuby
 

Jax2013 came-karaf-cellar-inovex

  • 1. Achim Nierbeck | inovex Integration in der Cloud mit Camel, Karaf und Cellar
  • 2. Agenda • Vorstellung • Cloud? Integration? Cluster? • Protagonisten - Eine Vorstellung • Integration + Cloud • Demo • ... don't Panic!
  • 3. 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
  • 4. Integration? Cluster? Cloud? Situation • wie kommen die Daten an ihr Ziel • woher kommen die Daten • welche Daten Image: © Nevit Dilmen found at Wikimedia commons
  • 6. 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->JSON HTTP->JMS or funneling FTP->JMS, HTTP->JMS JMS=>JSON Quelle: Universal Business Adapter (IBM) http://stackoverflow.com/questions/8845186/what-exactly-is-apache-camel
  • 7. EAI - Enterprise Application Integration • Gregor Hohpe und Bobby Woolfe • Martin Fowler: „the missing piece“ zu Patterns of Enterprise Application Architecture
  • 8. 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
  • 13. Apache Karaf - Cellar
  • 14. Karaf Cellar – Node Kommunikation
  • 15. Karaf Cellar - Überblick
  • 16. Karaf Cellar - Farming Maven Repo Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 17. Karaf Cellar - Farming Maven Repo Feature install xxx Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 18. Karaf Cellar - Farming Maven Repo Replicate Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 19. Karaf Cellar - Farming Maven Repo Feature install xxx Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 20. Karaf Cellar - Farming Maven Repo Feature install zzz Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 21. Karaf Cellar - Farming Maven Repo Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy Replicate
  • 22. Karaf Cellar - Farming Maven Repo Node 1 Whitelist: - xxx - yyy Blacklist: - zzz Node 2 Whitelist: - xxx - zzz Blacklist: - yyy
  • 23. Integration in der Cloud Apache Karaf-Cellar Apache Karaf Apache Camel
  • 24. Cloud Integration © twitter.com Privat Node Data S3 EC-Node 1 EC-Node 3 EC-Node 2 HDFS EIP:
  • 25. Cloud Integration © twitter.com Privat Node Data S3 EC-Node 1 EC-Node 3 EC-Node 2 HDFS EIP: to(s3://bucket/object)
  • 26. Cloud Integration © twitter.com Privat Node Data S3 EC-Node 1 EC-Node 3 EC-Node 2 HDFS EIP: to(cxf:endpoint)
  • 27. 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)
  • 28. 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)
  • 29. 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)
  • 30. 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)
  • 31. 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
  • 32. ... 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