What Riding the Camel can do to make integration easier for you
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

What Riding the Camel can do to make integration easier for you

  • 1,551 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,551
On Slideshare
1,549
From Embeds
2
Number of Embeds
1

Actions

Shares
Downloads
57
Comments
0
Likes
2

Embeds 2

http://www.linkedin.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. Apache
CamelWhat
Riding
the
Camel
can
do
to
make
integra6on
easier
for
you
by
Claus
IbsenPrincipal
So3ware
Engineer,
FuseSource A
Progress
So3ware
Company1 Copyright
©
2010
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 2. My
2nd
visit
to
Norway Hovden Malmo Esbjerg2 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 3. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A3 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 4. Who
is
Claus
Ibsen? Principal
So3ware
Engineer
at
FuseSource • 
Full
6me
Apache
Camel
hacker Apache
Camel
commiQer • Camel
Top
Contributor • 
3.5
years
working
with
Camel Author
of
Camel
in
Ac6on
book Contact • 
TwiQer:
@davsclaus • 
Blog:
hQp://davsclaus.blogspot.com • 
Email:
cibsen@fusesource.com hQp://www.manning.com/ibsen4 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 5. My
Employer FuseSource
‐
hQp://fusesource.com
 
5 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 6. Why
the
name
Camel? What
does
Camel
stand
for? Concise Application Messaging Exchange Language hQp://camel.apache.org/why‐the‐name‐camel.html6 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 7. Why
the
name
Camel? The
reason
for
the
Camel
name Camel
is
easy
to
remember
and
type hQp://camel.apache.org/why‐the‐name‐camel.html7 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 8. The
birth
of
Apache
Camel 
Camel’s
parents8 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 9. The
birth
of
Apache
Camel First
commit r519901
|
jstrachan
|
2007‐03‐19
11:54:57
+0100 (Mon,
19
Mar
2007)
|
1
line Ini?al
checkin
of
Camel
rou?ng
library Apache
Camel
1.0
released
June
20079 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 10. The
birth
of
Apache
Camel My
ini6al
commit r640963
|
davsclaus
|
2008‐03‐25
21:07:10
+0100 (Tue,
25
Mar
2008)
|
1
line Added
unit
test
for
mistyped
URI Top‐3
CommiQers 4476

Claus
Ibsen 2239

Willem
Ning
Jiang 1316

James
Strachan git
shortlog
‐ns10 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 11. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A11 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 12. What
is
Apache
Camel Quote
from
the
web
site
 • 
hQp://camel.apache.org Apache
Camel
is
a powerful
Open
Source Integra6on
Framework based
on
known Enterprise
Integra6on
PaQerns12 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 13. What
is
Apache
Camel Why
do
we
need
integra6on? • 
Your
apps
are
build
using
different
tech
stacks • 
Cri6cal
for
your
business
to
integrate Why
Integra6on
Framework? • 
Framework
do
the
heavy
li3ing • 
Focus
on
business
problem
 • 
Not
"reinven6ng
the
wheel"13 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 14. What
is
Apache
Camel What
is
Enterprise
Integra6on
PaQerns? System
A System
B14 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 15. What
is
Apache
Camel What
is
Enterprise
Integra6on
PaQerns? Its
a
book 15 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 16. What
is
Apache
Camel Camel
and
EIP Apache WebSphereMQ Ac6veMQ16 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 17. What
is
Apache
Camel Camel
and
EIP 17 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 18. What
is
Apache
Camel Camel
and
EIP from filter send
to A message B18 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 19. What
is
Apache
Camel Camel
and
EIP from(A) filter(predicate) to(B)19 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 20. What
is
Apache
Camel Camel
and
EIP from(A) .filter(isWidget) .to(B)20 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 21. What
is
Apache
Camel Camel
and
EIP from(A).filter(isWidget).to(B);21 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 22. What
is
Apache
Camel Camel
and
EIP isWidget
=
xpath("/quote/product
=
‘widget’"); from(A).filter(isWidget).to(B);22 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 23. What
is
Apache
Camel Camel
and
EIPEndpoint
A
=
endpoint("ac6vemq:queue:quote");Endpoint
B
=
endpoint("mq:quote");Predicate
isWidget
=
xpath("/quote/product
=
‘widget’");from(A).filter(isWidget).to(B);23 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 24. What
is
Apache
Camel Filter
Routepublic void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B);}24 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 25. What
is
Apache
Camel Filter
Route
‐
Java
DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } }25 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 26. What
is
Apache
Camel Filter
Route
‐
Java
DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } }26 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 27. What
is
Apache
Camel Lets
look
at
the
most
famous
paQern27 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 28. What
is
Apache
Camel Content
Based
Router28 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 29. What
is
Apache
Camel Content
Based
Router
‐
XML
DSL <camelContext> <route> <from uri="activemq:NewOrders"/> <choice> <when> <xpath>/order/product = widget</xpath> <to uri="activemq:Orders.Widgets"/> </when> <otherwise> <to uri="activemq:Orders.Gadgets"/> </otherwise> </choice> </route> </camelContext>29 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 30. What
is
Apache
Camel Content
Based
Router
‐
Java
DSL from("activemq:NewOrders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");30 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 31. What
is
Apache
Camel Endpoints
as
URIs use file instead from("file:inbox/orders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");31 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 32. What
is
Apache
Camel Endpoints
as
URIs parameters from("file:inbox/orders?delete=true") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");32 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 33. What
is
Apache
Camel Summary • 
Integra6on
framework • 
Enterprise
Integra6on
PaQerns
(EIP)
 • 
Rou6ng
(using
DSL) • 
Easy
configura6on
(endpoints
as
URIs) • 
No
heavy
specifica6on • 
No
container
dependency • 
Payload
agnos6c • 
A
lot
of
components33 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 34. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A34 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 35. A
liQle
example Based
on
community
user
(Gunnar
Hillert) • hQp://hillert.blogspot.com/2009/09/camellos‐discovering‐apache‐camel‐ii.html Goals • 
1)
Pickup
files
from
a
directory • 
2)
Make
sure
we
only
pickup
3
files
per
30
seconds • 
3)
Store
into
JMS
queue • 
4)
Listen
on
JMS
queue • 
5)
And
upload
file
to
FTP
server35 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 36. A
liQle
example  Goals
using
Enterprise
Integra6on
PaQerns 1 2 3 4 5  Goals • 1)
Pickup
files
from
a
directory • 2)
Make
sure
we
only
pickup
3
files
per
30
seconds • 3)
Store
into
JMS
queue • 4)
Listen
on
JMS
queue • 5)
And
upload
file
to
FTP
server36 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 37. A
liQle
example Goals
using
Enterprise
Integra6on
PaQerns from throQle to from to Goals • 1)
Pickup
files
from
a
directory • 2)
Make
sure
we
only
pickup
3
files
per
30
seconds • 3)
Store
into
JMS
queue • 4)
Listen
on
JMS
queue • 5)
And
upload
file
to
FTP
server37 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 38. A
liQle
example Camel
Route
in
XML
DSL <camelContext> <route> <from uri="file:camellos/inbox?move=.done"/> <throttle maximumRequestsPerPeriod="3" timePeriodMillis="30000”> <to uri="activemq:queue:camellos"/> </throttle> </route> <route> <from uri="activemq:queue:camellos"/> <to uri="ftp://admin:secret@localhost:3333"/> </route> </camelContext>38 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 39. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A39 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 40. Whats
included
in
the
box? Highlights
of
some
of
the
features 




(
there
is
much
more
)40 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 41. Whats
included
in
the
box? 50
Enterprise
Integra6on
PaQerns http://camel.apache.org/eip41 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 42. Whats
included
in
the
box? Pipes
and
Filters
EIP from("file:inbox") .pipeline() .to("bean:decrypt") .to("bean:authenticate") .to("bean:deDup");42 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 43. Whats
included
in
the
box? Pipes
and
Filters
EIP from("file:inbox") .to("bean:decrypt") .to("bean:authenticate") .to("bean:deDup"); pipeline()
is
default
mode
in
Camel
and
can
usually
be
omi6ed43 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 44. Whats
included
in
the
box? SpliQer
EIP File Splitter Custom ActiveMQ -> XML from("file:inbox") .split(body().tokenize("n") .marshal(customToXml) .to("activemq:line");44 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 45. Whats
included
in
the
box? Recipient
List
EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ45 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 46. Whats
included
in
the
box? Recipient
List
EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ 
curl
‐X

POST
‐d
"120"
"hQp://localhost:9080/stock/ORCL"46 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 47. Whats
included
in
the
box? 80
Components
 activemq cxf flatpack jasypt activemq-journal cxfrs freemarker javaspace amqp dataset ftp/ftps/sftp jbi atom db4o gae jcr bean direct hdfs jdbc bean validation ejb hibernate jetty browse esper hl7 jms cache event http jmx cometd exec ibatis jpa crypto file irc jt/400 http://camel.apache.org/components.html47 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 48. Whats
included
in
the
box? 80
Components
 language properties seda stream ldap quartz servlet string-template mail/imap/pop3 quickfix sip test mina ref smooks timer mock restlet smpp validation msv rmi snmp velocity nagios rnc spring-integration vm netty rng spring-security xmpp nmr rss spring-ws xquery printer scalate sql xslt http://camel.apache.org/components.html48 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 49. Whats
included
in
the
box? 19
Data
Formats
 bindy protobuf castor serialization csv soap crypto syslog dozer tidy markup flatpack xml beans gzip xml security hl7 xstream jaxb zip json http://camel.apache.org/data-format.html49 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 50. Whats
included
in
the
box? 15
Expression
Languages BeanShell Python EL Ruby Groovy Simple JavaScript SpEL JSR 223 SQL OGNL XPath MVEL XQuery PHP hQp://camel.apache.org/languages.html50 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 51. Whats
included
in
the
box? DSL
in
mul6ple
flavors Java <route> from(A).filter(isWidget).to(B); <from ref="A"/> <filter> <xpath>/quote/product = ‘widget’</xpath> <to ref="B"/> </filter> </route> Scala from(A) filter(isWidget) --> B51 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 52. Whats
included
in
the
box? Bean
as
Message
Translator52 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 53. Whats
included
in
the
box? Bean
as
Message
Translator from("activemq:Incoming”). beanRef("myBeanName", "someMethod"). to("activemq:Outgoing"); public class Foo { public String someMethod(String name) { return “Hello “ + name; } }53 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 54. Whats
included
in
the
box? Test
Kit • camel‐test
JAR
(JUnit) • camel‐testng
JAR
(TestNG) • Supports
Spring • Easy
to
test • Quick
prototyping54 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 55. Whats
included
in
the
box? Test
Kit
from
IDE55 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 56. Whats
included
in
the
box? Managed • 
JMX
API • 
REST
API56 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 57. Whats
included
in
the
box? Developer
Web
Console57 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 58. Whats
included
in
the
box? Fuse
IDE
‐
hQp://fusesource.com/products/fuse‐ide/58 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 59. Whats
included
in
the
box? Error
Handling • 
Errors
happen X59 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 60. Whats
included
in
the
box? Error
Handling • 
Try
...
Catch
style from("activemq:incoming") .doTry() .marshal().jaxb() .to("mq:QueueWithXmlMessages") .doCatch(Exception.class) .to("activemq:error") .end();60 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 61. Whats
included
in
the
box? Error
Handling • 
Dead
LeQer
Channel
EIP errorHandler( deadLetterChannel("activemq:error") ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages");61 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 62. Whats
included
in
the
box? Error
Handling • 
Dead
LeQer
Channel
EIP
w/
Redelivery
 errorHandler( deadLetterChannel("activemq:error") .maximumRedeliveries(5) .redeliveryDelay(5000) ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages");62 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 63. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A63 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 64. Running
Camel Deployment
Strategy • 
No
container
dependency Known
Containers • 
Lightweight Apache
ServiceMix Apache
Ac6veMQ • 
Embedable
 Apache
Tomcat Deployment
Op6ons JeQy JBoss • 
Standalone IBM
WebSphere • 
WAR Oracle
WebLogic Oracle
OC4j • 
Spring Glassfish • 
JEE Google
App
Engine Amazon
EC2 • 
OSGi ...
others • 
Cloud64 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 65. Running
Camel Java
Applica6on CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start(); Spring
Applica6on <beans xmlns="http://www.springframework.org/schema/beans"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="file:/orders"/> ... </route> </camelContext> </beans>65 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 66. Running
Camel  Spring‐DM
(OSGi)
Applica6on<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext></beans> 66 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 67. Running
Camel  OSGi
Blueprint
Applica6on<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/spring/camel-blueprint.xsd"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext></blueprint> 67 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 68. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A68 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 69. Live
Demo
1 Ac6veMQ
and
Camel example.A example.BTo
start
Ac6veMQ:
bin/ac6vemq
startWebConsole:
hQp://localhost:8161/69 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 70. Live
Demo
2 Groovy
Script HTTP Service Transform groovy
mycamel.groovy curl
hQp://localhost:808070 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 71. Live
Demo
2 Groovy
Script
(mycamel.groovy)71 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 72. Live
Demo
2 Groovy
Script
(mycamel.groovy
‐
cont.)72 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 73. Live
Demo
3 Create
new
Project
using
Maven UK messages File Content Based Router Other messages mvn
archetype:generate (camel‐archetype‐spring) mvn
eclipse:eclipse mvn
camel:run73 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 74. Live
Demo
3 Create
new
Project
using
Maven74 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 75. Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A75 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 76. More
Informa6on Where
do
I
get
more
informa6on? • Apache
Camel
Website hQp://camel.apache.org76 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 77. More
Informa6on Where
do
I
get
more
informa6on? • Join
the
Mailing
list hQp://camel.apache.org/mailing‐lists.html
 • Try
the
IRC‐room hQp://camel.apache.org/irc‐room.html • Use
the
Search
Box • Checkout
the
Camel
Ar6cles hQp://camel.apache.org/ar6cles.html • Run
Camel
Examples hQp://camel.apache.org/examples.html
77 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 78. More
Informa6on FuseSource
‐
hQp://fusesource.com
 
78 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 79. More
Informa6on The
defini6ve
Camel
guide • Camel
in
Ac6on
book:
hQp://manning.com/ibsen 40%
Discount
Code.
Link
 from
FuseSource
website Exclusive
excerpt
at hQp://fusesource.com/fuse/apache‐books/79 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 80. Q
and
A ?80 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company