SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
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

Node 1

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Node 2

Whitelist:
- xxx
- zzz
Blacklist:
- yyy

re
Featu
install
xxx

Maven Repo
Karaf Cellar - Farming

Maven Repo

Node 1
Replicate
Node 2

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming

Maven Repo

Node 1

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Node 2

Whitelist:
- xxx
- zzz
Blacklist:
- yyy

e
tur
a
Fe tall
ins
x
xx
Karaf Cellar - Farming

Maven Repo

Node 1

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Node 2

Whitelist:
- xxx
- zzz
Blacklist:
- yyy

e
tur
a
Fe tall
ins
z
zz
Karaf Cellar - Farming

Maven Repo

Node 1
Replicate
Node 2

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Karaf Cellar - Farming

Maven Repo

Node 1

Whitelist:
- xxx
- yyy
Blacklist:
- zzz

Node 2

Whitelist:
- xxx
- zzz
Blacklist:
- yyy
Integration in der Cloud

Apache Camel
Apache Karaf-Cellar
Apache Karaf
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:
Privat Node

Data

EC-Node 2

HDFS
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
to(s3://bucket/object)

EIP:
Privat Node

Data

EC-Node 2

HDFS
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:
Privat Node

to(cxf:endpoint)

Data

EC-Node 2

HDFS
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:

EC-Node 2

Privat Node

Data

from(cxf:endpoint).to(jms:queue)

HDFS
Cloud Integration

from(twitter://xxx).bean(filterBean).to(hdfs://storage)
EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:
Privat Node

Data

EC-Node 2

HDFS
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:

HDFS

EC-Node 2

Privat Node

Data

from(jms).convertTo(String.class).
to(hazelcast:seda:queue)
Cloud Integration

EC-Node 1

© twitter.com

EC-Node 3

S3
EIP:
Privat Node

Data

EC-Node 2

HDFS

from(hazelcast:seda:queue).
to(hdfs:storage)
DEMO

from(seda:x).to(blobstore)

Brow

se

EC-Node 1

S3
EIP:
Privat Node

from(file).to(cxf)

EC-Node 2

from(cxf)
.to(hazelcast:
seda:
queue)
... 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

Mais conteúdo relacionado

Semelhante a Integration in der Cloud mit Camel, Karaf und Cellar

Semelhante a Integration in der Cloud mit Camel, Karaf und Cellar (9)

Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit Terraform
 
Rails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturRails in Production - telewebber Architektur
Rails in Production - telewebber Architektur
 
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
 
Infra coders meetup
Infra coders meetupInfra coders meetup
Infra coders meetup
 
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
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit Ansible
 
IPC 2017 - Alexa Skills für Amazon Echo mit PHP entwickeln
IPC 2017 - Alexa Skills für Amazon Echo mit PHP entwickelnIPC 2017 - Alexa Skills für Amazon Echo mit PHP entwickeln
IPC 2017 - Alexa Skills für Amazon Echo mit PHP entwickeln
 
Rack-Middleware
Rack-MiddlewareRack-Middleware
Rack-Middleware
 

Mais de inovex GmbH

Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
inovex GmbH
 

Mais de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Integration in der Cloud mit Camel, Karaf und Cellar