Apache Camel - JEEConf May 2011
Upcoming SlideShare
Loading in...5
×
 

Apache Camel - JEEConf May 2011

on

  • 4,213 views

Claus Ibsen presented Apache Camel at the JEEConf in Kiew, Ukraine, in may 2011....

Claus Ibsen presented Apache Camel at the JEEConf in Kiew, Ukraine, in may 2011.

We start from the beginning, ‘Why’ and ‘How’ Apache Camel got started. Then we see the influence of the Enterprise Integration Patterns (EIP) has upon Apache Camel. Showing how this applies in practice with easy to understand examples, highlighting the simplicity and power of Apache Camel. Integrating becomes literally as simple as building routes in ‘lego style’ by wiring together EIP patterns, processes and transports. This is done using the Camel DSL, which comes in multiple flavors such as Java, XML, Groovy and Scala. We then give you an overview of the other features Apache Camel provides out of the box and as well which option you have for running your Apache Camel applications. After this we cover 3 live demos, showing Camel using ActiveMQ, Groovy, Eclipse and Fuse IDE.

Statistics

Views

Total Views
4,213
Views on SlideShare
3,620
Embed Views
593

Actions

Likes
4
Downloads
146
Comments
0

6 Embeds 593

http://jeeconf.com 582
http://www.techgig.com 4
http://twitter.com 2
url_unknown 2
http://www.linkedin.com 2
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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

Apache Camel - JEEConf May 2011 Apache Camel - JEEConf May 2011 Presentation Transcript

  • Apache
Camelby
Claus
Ibsen A
Progress
So3ware
Company1 Copyright
©
2010
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A2 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Who
is
Claus
Ibsen? Principal
So3ware
Engineer
at
FuseSource • 
Full
6me
Apache
Camel
hacker Apache
Camel
commiFer
for
3
years • Camel
Project
Lead • 
3.5
years
working
with
Camel Author
of
Camel
in
Ac6on
book Contact • 
TwiFer:
@davsclaus • 
Blog:
hFp://davsclaus.blogspot.com • 
Email:
cibsen@fusesource.com hFp://www.manning.com/ibsen3 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • My
Employer FuseSource
‐
hFp://fusesource.com
 
4 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Why
the
name
Camel? What
does
Camel
stand
for? Concise Application Messaging Exchange Language hFp://camel.apache.org/why‐the‐name‐camel.html5 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Why
the
name
Camel? The
reason
for
the
Camel
name Camel
is
easy
to
remember
and
type hFp://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
  • The
birth
of
Apache
Camel 
Camel’s
parents7 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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
20078 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • My
first
commit 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 

4074

Claus
Ibsen 

2073

Willem
Ning
Jiang 

1316

James
Strachan git
shortlog
‐ns9 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A10 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Quote
from
the
web
site
 • 
hFp://camel.apache.org Apache
Camel
is
a powerful
Open
Source Integra6on
Framework based
on
known Enterprise
Integra6on
PaFerns11 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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"12 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel What
is
Enterprise
Integra6on
PaFerns? System
A System
B13 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel What
is
Enterprise
Integra6on
PaFerns? Its
a
book 14 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP Ac6veMQ WebSphereMQ 15 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP from filter send
to A message B16 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP from(A) filter(predicate) to(B)17 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP from(A) .filter(isWidget) .to(B)18 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP from(A).filter(isWidget).to(B);19 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Camel
and
EIP isWidget
=
xpath("/quote/product
=
‘widget’"); 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
  • What
is
Apache
Camel Camel
and
EIPEndpoint
A
=
endpoint("ac6vemq:quote");Endpoint
B
=
endpoint("mq:quote");Predicate
isWidget
=
xpath("/quote/product
=
‘widget’");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
  • What
is
Apache
Camel Filter
Routepublic void configure() throws Exception { Endpoint A = endpoint("activemq:quote"); Endpoint B = endpoint("mq:quote"); Predicate 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
  • 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: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
  • 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:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } }24 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Lets
look
at
the
most
famous
paFern25 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Content
Based
Router26 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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>27 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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");28 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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");29 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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");30 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • What
is
Apache
Camel Summary • 
Integra6on
framework • 
Enterprise
Integra6on
PaFerns
(EIP)
 • 
Rou6ng
(using
DSL) • 
Easy
configura6on
(endpoints
as
URIs) • 
No
heavy
specifica6on • 
No
container
dependency • 
Payload
agnos6c • 
A
lot
of
components31 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liQle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A32 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • A
liFle
example Based
on
community
user
(Gunnar
Hillert) • hFp://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
server33 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • A
liFle
example  Goals
using
Enterprise
Integra6on
PaFerns 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
server34 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • A
liFle
example Goals
using
Enterprise
Integra6on
PaFerns 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
server35 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • A
liFle
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>36 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A37 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Highlights
of
some
of
the
features 







(there
is
much
more)38 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? 50
Enterprise
Integra6on
PaFerns http://camel.apache.org/eip39 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Pipes
and
Filters
EIP from("file:inbox") .pipeline() .to("bean:decrypt") .to("bean:authenticate") .to("bean:deDup");40 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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
omi6ed41 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? SpliFer
EIP File Splitter Custom ActiveMQ -> XML from("file:inbox") .split(body().tokenize("n") .marshal(customToXml) .to("activemq:line");42 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Recipient
List
EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ from("restlet:http:localhost:9080 /stock/${symbol}?restletMethods=post") .recipientList() .simple("activemq:stocks.${header.symbol}");43 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Recipient
List
EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ from("restlet:http:localhost:9080 /stock/${symbol}?restletMethods=post") .recipientList() .simple("activemq:stocks.${header.symbol}"); 
curl
‐X

POST
‐d
"120"
"hFp://localhost:9080/stock/ORCL"44 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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.html45 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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.html46 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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.html47 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? 15
Expression
Languages BeanShell Python EL Ruby Groovy Simple JavaScript SpEL JSR 223 SQL OGNL XPath MVEL XQuery PHP hFp://camel.apache.org/languages.html48 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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) --> B49 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Bean
as
Message
Translator
EIP50 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Bean
as
Message
Translator
EIP from("activemq:incoming”). beanRef("myBeanName", "someMethod"). to("activemq:outgoing"); public class Foo { public String someMethod(String name) { return “Hello “ + name; } }51 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Test
Kit • camel‐test
JAR
(JUnit) • camel‐testng
JAR
(TestNG) • Supports
Spring • Easy
to
test • Quick
prototyping52 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Test
Kit
from
IDE53 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Developer
Web
Console54 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Whats
included
in
the
box? Fuse
IDE
‐
hFp://fusesource.com/products/fuse‐ide‐camel/55 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A56 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Running
Camel Deployment
Strategy Known
Containers • 
No
container
dependency Fuse
ESB • 
Lightweight Fuse
Message
Broker Apache
ServiceMix • 
Embed
 Apache
Ac6veMQ Deployment
Op6ons Apache
Tomcat JeFy • 
Standalone JBoss • 
WAR IBM
WebSphere Oracle
WebLogic • 
Spring Oracle
OC4j • 
J2EE Glassfish Google
App
Engine • 
JBI Amazon
EC2 • 
OSGi ...
others • 
Cloud57 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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>58 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A59 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Live
Demo
1 Ac6veMQ
and
Camel example.A example.BTo
start
Ac6veMQ:
bin/ac6vemq
startWebConsole:
hFp://localhost:8161/60 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Live
Demo
2 Groovy
Script HTTP Service Transform groovy
mycamel.groovy curl
hFp://localhost:808061 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Live
Demo
2 Groovy
Script
(mycamel.groovy) import org.apache.camel.builder.RouteBuilder import org.apache.camel.impl.DefaultCamelContext @Grab(group="org.apache.camel",module="camel-core",version="2.7.1") @Grab(group="org.apache.camel",module="camel-jetty",version="2.7.1") @Grab(group="org.slf4j",module="slf4j-jdk14",version="1.6.1") class MyRouteBuilder extends RouteBuilder { void configure() { from("jetty:http://localhost:8080/") .to("log:input") .transform(constant("Hello from Groovyn")) } }62 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Live
Demo
2 Groovy
Script
(mycamel.groovy
‐
cont.) ... def camelContext = new DefaultCamelContext() camelContext.addRoutes(new MyRouteBuilder()) camelContext.start() System.console().readLine() camelContext.stop()63 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 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:run64 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Live
Demo
3 Create
new
Project
using
Maven65 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Agenda Who
is
Claus
Ibsen? What
is
Apache
Camel? A
liFle
example Whats
included
in
the
box? Running
Camel Live
Demos Q
and
A66 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • More
Informa6on Where
do
I
get
more
informa6on? • Apache
Camel
Website – hFp://camel.apache.org67 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • More
Informa6on Where
do
I
get
more
informa6on? • Join
the
Mailinglist – hFp://camel.apache.org/mailing‐lists.html
 • Try
the
IRC‐room – hFp://camel.apache.org/irc‐room.html • Use
the
Search
Box • Checkout
the
Camel
Ar6cles – hFp://camel.apache.org/ar6cles.html • Run
Camel
Examples – hFp://camel.apache.org/examples.html
68 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • More
Informa6on FuseSource
‐
hFp://fusesource.com
 
69 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • More
Informa6on Where
do
I
get
more
informa6on? • Camel
in
Ac6on
book:
hFp://manning.com/ibsen 40%
Discount
Code Use
coupon
code camel40 when
ordering
from Manning70 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • Q
and
A ?71 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company