When Camel Smiles
-
Upload
orest-ivasiv -
Category
Internet
-
view
143 -
download
0
Transcript of When Camel Smiles
Pace
mak
er: J
ava
When Camel SmilesOREST IVASIV
1/18/2015 @halyph
Pace
mak
er: J
ava
Integration concept
Camel Intro
Sample route
Camel community
1/18/2015 @halyph2
Agenda
Pace
mak
er: J
ava
1/18/2015 @halyph3
What is Apache Camel?
Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns.
Is not ESB (Servicemix, Mule)Is not Message Broker (ActiveMQ, RabbitMQ)Is not a runtime container (see Tomcat)
Pace
mak
er: J
ava
1. Enterprise integration—how to integrate independent applications so that they can work together.
2. An enterprise application often incorporates an n-tier architecture enabling it to be distributed across several computers.
3. Q: Why is an n-tier architecture considered application distribution and not application integration?
◦ the communicating parts are tightly coupled
◦ communication between tiers tends to be synchronous
4. Communication between tiers tends to be synchronous
1/18/2015 @halyph4
Distributed Applications vs. Integration
Pace
mak
er: J
ava
1/18/2015 @halyph5
Complexity of Integration
No Tool
Integration Framework
Enterprise Service Bus
Integration Suite
Low High
ConnectivityRoutingTransformation
IntegrationToolingMonitoringSupport
Business Process ManagementBig Data / MDMRegistry / RepositoryRule Engine“You Name It”
Custom integration
Pace
mak
er: J
ava
1/18/2015 @halyph6
Message
Pace
mak
er: J
ava
1/18/2015 @halyph7
Exchange
Pace
mak
er: J
ava
1/18/2015 @halyph8
CamelContext
Pace
mak
er: J
ava
1/18/2015 @halyph9
Camel Architecture
Pace
mak
er: J
ava
General use Direct, seda, file, bean, log, timer
Search, big data, cashing Lucene, solr, elasticsearch
Hdfs, s3, mongodb
Ehcache, hazelcast
Management Jmx, ldap, splunk, zookeeper
Integration http, servlet, cxf, jms
protocols Mina, netty, pop3, imap
1/18/2015 @halyph10
Component Categories
Pace
mak
er: J
ava
1/18/2015 @halyph11
ls camel/components
Pace
mak
er: J
ava
• You found a component… now what?◦ Review the spec page, samples, unit tests
◦ Include camel-[component] jar in your project◦ Add dependency to your pom.xml
◦ w/o maven (gradle) just add your jars to your classpath
◦ Create a basic unit test◦ Copy/paste from component test
◦ Sanity test your setup
◦ Validate desired config option
◦ Integrate your component with your app◦ Is you CamelContent setup?
◦ Is your RouteBuilder wired in?
1/18/2015 @halyph12
How to use a component
Pace
mak
er: J
ava
1/18/2015 @halyph13
Sample Route
Pace
mak
er: J
ava
1/18/2015 @halyph14
Sample Route (cont.)
Pace
mak
er: J
ava
1/18/2015 @halyph15
Top Camel contributors$ git shortlog -ns
8095 Claus Ibsen2853 Willem Ning Jiang1385 James Strachan930 Willem Jiang757 Hadrian Zbarcea648 Babak Vahdat487 Christian Mueller478 Jonathan Anstey196 cmueller194 Hiram R. Chirino143 Christian Schneider139 Henryk Konsek136 Daniel Kulp130 Moulliard Charles108 Gert Vanthienen100 Dhiraj Bokde
Pace
mak
er: J
ava
Author: James Strachan <[email protected]> 2007-03-19 12:54:57
1/18/2015 @halyph16
Camel initial commit`
Apache ActiveMQApache CamelApache ServiceMixGroovy programming language
Pace
mak
er: J
ava
1/18/2015 @halyph17
Books
Pace
mak
er: J
ava
• Camel One 2011-2013 (http://camelone.org)
• DevNation 2014 (http://www.devnation.org)
1/18/2015 @halyph18
Conferences
Pace
mak
er: J
ava
Q&A
1/18/2015 @halyph19