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

1,905 views

Published on

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,905
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
65
Comments
0
Likes
3
Embeds 0
No embeds

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
  • What Riding the Camel can do to make integration easier for you

    1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 80. Q
and
A ?80 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company

    ×