SlideShare una empresa de Scribd logo
1 de 71
Apache
Camel
by
Claus
Ibsen




                                                                                                               A
Progress
So3ware
Company
1    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
A




2     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/ibsen

3     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.html

5   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.html

6   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
parents




7    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
2007


8      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
‐ns

9     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
A




10     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
PaFerns


11     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
B




13   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                                              B




16   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
EIP


Endpoint
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
Route



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);
}




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
paFern




25   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




26   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
components




31   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
A




32     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
server




33       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
server
34    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
server
35     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
A




37     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/eip
39   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
omi6ed

41   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.html
45   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.html
46   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.html

47   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.html


48   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) --> B




49     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




50   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
prototyping




52       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
IDE




53   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
Console




54   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
A




56     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

  • 
Cloud
57   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
A




59     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.B




To
start
Ac6veMQ:
bin/ac6vemq
start

WebConsole:
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:8080

61   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:run
64   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




65   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
A




66     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.org




67     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
                                                                                                                      Manning




70     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

Más contenido relacionado

Similar a Apache Camel - JEEConf May 2011

Apache camel community day - october 2010
Apache camel   community day - october 2010Apache camel   community day - october 2010
Apache camel community day - october 2010Claus Ibsen
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollodejanb
 
Leverage Enterprise Integration Patterns with Apache Camel and Twitter
Leverage Enterprise Integration Patterns with Apache Camel and TwitterLeverage Enterprise Integration Patterns with Apache Camel and Twitter
Leverage Enterprise Integration Patterns with Apache Camel and TwitterBruno Borges
 
Fusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardFusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardCharles Moulliard
 
Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemixCharles Moulliard
 
Fusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardFusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardCharles Moulliard
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevOracle Developers
 
Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_aioughydchapter
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Apache Camel Introduction
Apache Camel IntroductionApache Camel Introduction
Apache Camel IntroductionClaus Ibsen
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesPavel Bucek
 
Apache camel overview dec 2011
Apache camel overview dec 2011Apache camel overview dec 2011
Apache camel overview dec 2011Marcelo Jabali
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěDevelcz
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееOlga Lavrentieva
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationClaus Ibsen
 
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevGraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevOracle Developers
 
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...vasuballa
 
Are you new to Apache Camel
Are you new to Apache CamelAre you new to Apache Camel
Are you new to Apache Camelgnanagurus
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Mee Nam Lee
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXBruno Borges
 

Similar a Apache Camel - JEEConf May 2011 (20)

Apache camel community day - october 2010
Apache camel   community day - october 2010Apache camel   community day - october 2010
Apache camel community day - october 2010
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
 
Leverage Enterprise Integration Patterns with Apache Camel and Twitter
Leverage Enterprise Integration Patterns with Apache Camel and TwitterLeverage Enterprise Integration Patterns with Apache Camel and Twitter
Leverage Enterprise Integration Patterns with Apache Camel and Twitter
 
Fusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardFusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliard
 
Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemix
 
Fusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardFusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliard
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
 
Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Apache Camel Introduction
Apache Camel IntroductionApache Camel Introduction
Apache Camel Introduction
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 
Apache camel overview dec 2011
Apache camel overview dec 2011Apache camel overview dec 2011
Apache camel overview dec 2011
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentation
 
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevGraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
 
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
 
Are you new to Apache Camel
Are you new to Apache CamelAre you new to Apache Camel
Are you new to Apache Camel
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
 

Más de Claus Ibsen

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfClaus Ibsen
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfClaus Ibsen
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelClaus Ibsen
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Claus Ibsen
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3Claus Ibsen
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Claus Ibsen
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationClaus Ibsen
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusClaus Ibsen
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Claus Ibsen
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)Claus Ibsen
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesClaus Ibsen
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Claus Ibsen
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - CopenhagenClaus Ibsen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - FredericiaClaus Ibsen
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesClaus Ibsen
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloudClaus Ibsen
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Claus Ibsen
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelClaus Ibsen
 

Más de Claus Ibsen (20)

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloud
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Apache Camel - JEEConf May 2011

  • 1. Apache
Camel by
Claus
Ibsen A
Progress
So3ware
Company 1 Copyright
©
2010
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 2. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 2 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 3. 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/ibsen 3 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 4. 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
  • 5. Why
the
name
Camel?  What
does
Camel
stand
for? Concise Application Messaging Exchange Language hFp://camel.apache.org/why‐the‐name‐camel.html 5 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 6. 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.html 6 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 7. The
birth
of
Apache
Camel  
Camel’s
parents 7 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 8. 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
2007 8 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 9. 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
‐ns 9 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 10. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 10 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 11. 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
PaFerns 11 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 12. 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
  • 13. What
is
Apache
Camel  What
is
Enterprise
Integra6on
PaFerns? System
A System
B 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
PaFerns? Its
a
book 14 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 15. 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
  • 16. What
is
Apache
Camel  Camel
and
EIP from filter send
to A message B 16 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 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. What
is
Apache
Camel  Camel
and
EIP Endpoint
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
  • 22. What
is
Apache
Camel  Filter
Route 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); } 22 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 23. 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
  • 24. 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
  • 25. What
is
Apache
Camel  Lets
look
at
the
most
famous
paFern 25 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 26. What
is
Apache
Camel  Content
Based
Router 26 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
components 31 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 32. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liQle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 32 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 33. 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
server 33 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 34. 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
server 34 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 35. 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
server 35 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 36. 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
  • 37. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 37 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 38. 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
  • 39. Whats
included
in
the
box?  50
Enterprise
Integra6on
PaFerns http://camel.apache.org/eip 39 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 40. 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
  • 41. 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
omi6ed 41 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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.html 45 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 46. 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.html 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?  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.html 47 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 48. 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.html 48 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 49. 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) --> B 49 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 50. Whats
included
in
the
box?  Bean
as
Message
Translator
EIP 50 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 51. 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
  • 52. Whats
included
in
the
box?  Test
Kit • camel‐test
JAR
(JUnit) • camel‐testng
JAR
(TestNG) • Supports
Spring • Easy
to
test • Quick
prototyping 52 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 53. Whats
included
in
the
box?  Test
Kit
from
IDE 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?  Developer
Web
Console 54 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 55. 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
  • 56. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 56 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 57. 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 • 
Cloud 57 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 58. 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
  • 59. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 59 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 60. Live
Demo
1  Ac6veMQ
and
Camel example.A example.B To
start
Ac6veMQ:
bin/ac6vemq
start WebConsole:
hFp://localhost:8161/ 60 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 61. Live
Demo
2  Groovy
Script HTTP Service Transform groovy
mycamel.groovy curl
hFp://localhost:8080 61 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 62. 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
  • 63. 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
  • 64. 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:run 64 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 65. Live
Demo
3  Create
new
Project
using
Maven 65 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 66. Agenda  Who
is
Claus
Ibsen?  What
is
Apache
Camel?  A
liFle
example  Whats
included
in
the
box?  Running
Camel  Live
Demos  Q
and
A 66 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 67. More
Informa6on  Where
do
I
get
more
informa6on? • Apache
Camel
Website – hFp://camel.apache.org 67 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 68. 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
  • 69. 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
  • 70. 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 Manning 70 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company
  • 71. Q
and
A ? 71 Copyright
©
2011
Progress
So3ware
Corpora6on
and/or
its
subsidiaries
or
affiliates.
All
rights
reserved.
 A
Progress
So3ware
Company

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n