SlideShare a Scribd company logo
1 of 77
Download to read offline
Apache	
  Camel
Camel	
  in	
  Berlin
by	
  Claus	
  Ibsen
@davsclaus




                                                                                                                                                         A	
  Progress	
  So3ware	
  Company
1    Copyright	
  ©	
  2010	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
           A	
  Progress	
  So3ware	
  Company
Camel	
  in	
  Berlin




2     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


   Your	
  speaker
   What	
  is	
  Apache	
  Camel?
   A	
  liKle	
  example
   Whats	
  included	
  in	
  the	
  box?
   Running	
  Camel
   Live	
  Demos
   Q	
  and	
  A




3      Copyright	
  ©	
  2012	
  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
 Apache	
  Camel
    • 4.5	
  years	
  working	
  with	
  Camel
 Author	
  of	
  Camel	
  in	
  Ac6on	
  book
 Contact
    • 	
  TwiKer:	
  @davsclaus
    • 	
  Blog:	
  hKp://davsclaus.blogspot.com
    • 	
  Email:	
  cibsen@fusesource.com




                                                                                                                                                   hKp://manning.com/ibsen


4      Copyright	
  ©	
  2012	
  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



                                  hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html

5     Copyright	
  ©	
  2012	
  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
                                   hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html

6      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
The	
  birth	
  of	
  Camel


 	
  Camel’s	
  parents




7      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
The	
  birth	
  of	
  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




 Camel	
  1.0	
  released	
  June	
  2007




8       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
The	
  birth	
  of	
  Camel


 My	
  ini6al	
  commit

    r640963	
  |	
  davsclaus	
  |	
  2008-­‐03-­‐25	
  21:07:10	
  +0100
    (Tue,	
  25	
  Mar	
  2008)	
  |	
  1	
  line

    Added	
  unit	
  test	
  for	
  mistyped	
  URI




9       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker
    What	
  is	
  Apache	
  Camel?
    A	
  liKle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




10      Copyright	
  ©	
  2012	
  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	
  
     • 	
  hKp://camel.apache.org


                                    Camel	
  is	
  a	
  powerful
                                       Open	
  Source
                                  Integra6on	
  Framework
                                     based	
  on	
  known
                              Enterprise	
  Integra6on	
  PaKerns


11     Copyright	
  ©	
  2012	
  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	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel?

 What	
  is	
  Enterprise	
  Integra6on	
  PaKerns?




        System	
  A                                                                                                                                       System	
  B




13    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
          A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel?

 What	
  is	
  Enterprise	
  Integra6on	
  PaKerns?




                                                                                                    Its	
  a	
  book
 14    Copyright	
  ©	
  2012	
  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	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
          A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel?

 Camel	
  and	
  EIP




 16    Copyright	
  ©	
  2012	
  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




17    Copyright	
  ©	
  2012	
  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)




18    Copyright	
  ©	
  2012	
  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	
  ©	
  2012	
  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);




20    Copyright	
  ©	
  2012	
  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);


21    Copyright	
  ©	
  2012	
  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:queue:quote");
Endpoint	
  B	
  =	
  endpoint("mq:quote");
Predicate	
  isWidget	
  =	
  xpath("/quote/product	
  =	
  ‘widget’");

from(A).filter(isWidget).to(B);




22    Copyright	
  ©	
  2012	
  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:queue:quote");
    Endpoint B = endpoint("mq:quote");
    Predicate isWidget = xpath("/quote/product = ‘widget’");

      from(A).filter(isWidget).to(B);
}




23    Copyright	
  ©	
  2012	
  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:queue:quote");
        Endpoint B = endpoint("mq:quote");
        Predicate isWidget = xpath("/quote/product = ‘widget’");

            from(A).filter(isWidget).to(B);
      }
  }


 24     Copyright	
  ©	
  2012	
  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:queue:quote")
              .filter().xpath("/quote/product =‘widget’")
                .to("mq:quote");
          }
      }




 25       Copyright	
  ©	
  2012	
  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	
  paKern




26     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel?


 Content	
  Based	
  Router




27    Copyright	
  ©	
  2012	
  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>
28     Copyright	
  ©	
  2012	
  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");




29     Copyright	
  ©	
  2012	
  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");




30    Copyright	
  ©	
  2012	
  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");




31    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
           A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel?


  Camel	
  Architecture




32    Copyright	
  ©	
  2012	
  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	
  PaKerns	
  (EIP)	
  
   • 	
  Rou6ng	
  (using	
  DSL)
   • 	
  Easy	
  configura6on	
  (endpoints	
  as	
  URIs)
   • 	
  No	
  heavy	
  specifica6on
   • 	
  No	
  container	
  dependency
   • 	
  Payload	
  agnos6c
   • 	
  A	
  lot	
  of	
  components




33    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker
    What	
  is	
  Apache	
  Camel?
    A	
  liSle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




34      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  What	
  is	
  a	
  Message?




                                                                              org.apache.camel.Message



35    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  ...	
  And	
  Message	
  is	
  contained	
  in	
  an	
  Exchange




                                                                              org.apache.camel.Exchange


36     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  File	
  Copier	
  Example




37    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  File	
  Copier	
  Example




38    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  File	
  Copier	
  Example




39    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
A	
  liKle	
  example


  File	
  Copier	
  w/	
  Transforma6on	
  Example




40    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker
    What	
  is	
  Apache	
  Camel?
    A	
  liKle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




41      Copyright	
  ©	
  2012	
  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	
  )




 42     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 50	
  Enterprise	
  Integra6on	
  PaKerns




                                                             http://camel.apache.org/eip
43    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 SpliKer	
  EIP



        File                                                                Splitter                                                          Custom
                                                                                                                                                          ActiveMQ
                                                                                                                                              -> XML




     from("file:inbox")
       .split(body().tokenize("n")
         .marshal(customToXml)
         .to("activemq:line");




44    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
      A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 100	
  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	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                 A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 100	
  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	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                       A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 22	
  Data	
  Formats	
  

                                                                          bindy                                                 json
                                                                          beanio                                             protobuf
                                                                          castor                                                 rss
                                                                            csv                                            serialization
                                                                          crypto                                                soap
                                                                          dozer                                                syslog
                                                                         flatpack                                           tidy markup
                                                                           gzip                                             xml beans
                                                                            hl7                                            xml security
                                                                           jaxb                                               xstream
                                                                            jibx                                                 zip

                                           http://camel.apache.org/data-format.html

47     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 16	
  Expression	
  Languages


                                                                              BeanShell                                               PHP
                                                                                  EL                                                Python
                                                                                Groovy                                               Ruby
                                                                              JavaScript                                            Simple
                                                                                JoSQL                                                SpEL
                                                                               JSR 223                                                SQL
                                                                                OGNL                                                 XPath
                                                                                MVEL                                                XQuery
                                                                  hKp://camel.apache.org/languages.html


48    Copyright	
  ©	
  2012	
  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	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Test	
  Kit
     •   JUnit
     •   TestNG
     •   Supports	
  Spring
     •   Support	
  Blueprint
     •   Easy	
  to	
  test
     •   Quick	
  prototyping




50       Copyright	
  ©	
  2012	
  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




51     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Managed
     • 	
  JMX	
  API
     • 	
  REST	
  API




52       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Graphical	
  Tooling


 Eclipse	
  -­‐	
  Fuse	
  IDE	
  (hKp://fusesource.com)




53    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Error	
  Handling
     • 	
  Errors	
  happen




                                                                                                                                                            X

54      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
         A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Error	
  Handling
     • 	
  Try	
  ...	
  Catch	
  style


                      from("activemq:incoming")
                        .doTry()
                          .marshal().jaxb()
                          .to("mq:QueueWithXmlMessages")
                        .doCatch(Exception.class)
                          .to("activemq:error")
                        .end();




55       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Error	
  Handling
     • 	
  Dead	
  LeKer	
  Channel	
  EIP


      errorHandler(
         deadLetterChannel("activemq:error")
      );

      from("activemq:incoming")
        .marshal().jaxb()
        .to("mq:QueueWithXmlMessages");




56      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Error	
  Handling
     • 	
  Dead	
  LeKer	
  Channel	
  EIP	
  w/	
  Redelivery	
  


      errorHandler(
         deadLetterChannel("activemq:error")
           .maximumRedeliveries(5)
           .redeliveryDelay(5000)
      );

      from("activemq:incoming")
        .marshal().jaxb()
        .to("mq:QueueWithXmlMessages");


57       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Whats	
  included	
  in	
  the	
  box?


 Error	
  Handling
     • 	
  Camel	
  End	
  User	
  Experience	
  (March	
  2012)	
  




58      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker	
  
    What	
  is	
  Apache	
  Camel?
    A	
  liKle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




59      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Running	
  Camel


 Deployment	
  Strategy
  • 	
  No	
  container	
  dependency                                                                                                                    Known	
  Containers
  • 	
  Lightweight                                                                                                                                      Fuse	
  ESB
                                                                                                                                                         Fuse	
  Message	
  Broker
  • 	
  Embedable	
                                                                                                                                      Tomcat
 Deployment	
  Op6ons                                                                                                                                   JeKy
                                                                                                                                                         JBoss
  • 	
  Standalone                                                                                                                                       IBM	
  WebSphere
  • 	
  WAR                                                                                                                                              Oracle	
  WebLogic
                                                                                                                                                         Oracle	
  OC4j
  • 	
  Spring                                                                                                                                           Glassfish
  • 	
  JEE                                                                                                                                              Google	
  App	
  Engine
                                                                                                                                                         Amazon	
  EC2
  • 	
  OSGi                                                                                                                                             ...	
  others
  • 	
  Cloud

60   Copyright	
  ©	
  2012	
  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();




61      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Running	
  Camel


 Java	
  Client	
  Applica6on	
  (no	
  routes)
 CamelContext context = new DefaultCamelContext();
 ProducerTemplate template = context.createProducerTemplate();

 String data = ...
 String fileName = ...

 String uri = "ftp://myserver?username=foo&password=secret";
 template.sendBodyAndHeader(uri, data, Exchange.FILE_NAME, fileName);




62    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Running	
  Camel


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




63      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Running	
  Camel


  Spring-­‐DM	
  (OSGi)	
  Applica6on
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:osgi="http://www.springframework.org/schema/osgi"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">


  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
      <from uri="timer:foo?period=5000"/>
      <setBody>
          <constant>Hello World</constant>
      </setBody>
      <log message="The message contains ${body}"/>
    </route>
  </camelContext>

</beans>




  64       Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Running	
  Camel


  OSGi	
  Blueprint	
  Applica6on
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
       http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/spring/camel-blueprint.xsd">


  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
    <route>
      <from uri="timer:foo?period=5000"/>
      <setBody>
          <constant>Hello World</constant>
      </setBody>
      <log message="The message contains ${body}"/>
    </route>
  </camelContext>

</blueprint>




  65     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker
    What	
  is	
  Apache	
  Camel?
    A	
  liKle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




66      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Live	
  Demos




67   Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
TwiKer	
  &	
  Web-­‐Socket	
  Demo


 camel-­‐example-­‐twiKer-­‐websocket




      examples/camel-­‐example-­‐twiKer-­‐websocket$	
  mvn	
  compile	
  exec:java


 68    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
TwiKer	
  &	
  Web-­‐Socket	
  Demo



 • main	
  class




69    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
TwiKer	
  &	
  Web-­‐Socket	
  Demo




70    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
TwiKer	
  &	
  Web-­‐Socket	
  Demo




71    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Groovy	
  Demo


 Groovy	
  Script




                       HTTP Service                                                                                                                      Transform




                                    groovy	
  mycamel.groovy
                                    curl	
  hKp://localhost:8080

72   Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                 A	
  Progress	
  So3ware	
  Company
Groovy	
  Demo


 Groovy	
  Script	
  (mycamel.groovy)




73   Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Groovy	
  Demo


 Groovy	
  Script	
  (mycamel.groovy	
  -­‐	
  cont.)




74    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Create	
  New	
  Project	
  using	
  Maven


 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
75    Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                   A	
  Progress	
  So3ware	
  Company
Agenda


    Your	
  speaker
    What	
  is	
  Apache	
  Camel?
    A	
  liKle	
  example
    Whats	
  included	
  in	
  the	
  box?
    Running	
  Camel
    Live	
  Demos
    Q	
  and	
  A




76      Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Q	
  and	
  A




                                              • TwiKer:	
  @davsclaus
                                              • 	
  Blog:	
  hKp://davsclaus.blogspot.com
                                              • 	
  Email:	
  cibsen@fusesource.com



77     Copyright	
  ©	
  2012	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company

More Related Content

Viewers also liked

Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemixCharles Moulliard
 
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFAdrian Trenaman
 
Apache Camel Devoxx 2010
Apache Camel Devoxx 2010Apache Camel Devoxx 2010
Apache Camel Devoxx 2010Claus Ibsen
 
Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Claus Ibsen
 
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Claus Ibsen
 
An Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAn Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAdrian Trenaman
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Claus Ibsen
 
WebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFWebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFAdrian Trenaman
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewMarcelo Jabali
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache CamelClaus Ibsen
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Claus Ibsen
 
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Kai Wähner
 
Introduction to Apache Spark Developer Training
Introduction to Apache Spark Developer TrainingIntroduction to Apache Spark Developer Training
Introduction to Apache Spark Developer TrainingCloudera, Inc.
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryClaus Ibsen
 
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr
Cloudera, Inc.
 
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Cloudera, Inc.
 

Viewers also liked (19)

Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemix
 
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
 
Apache Camel Devoxx 2010
Apache Camel Devoxx 2010Apache Camel Devoxx 2010
Apache Camel Devoxx 2010
 
Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014
 
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
 
An Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESBAn Introduction to Apache ServiceMix 4 - FUSE ESB
An Introduction to Apache ServiceMix 4 - FUSE ESB
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013
 
WebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFWebServices in ServiceMix with CXF
WebServices in ServiceMix with CXF
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache Camel
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
 
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
 
Introduction to Apache Spark Developer Training
Introduction to Apache Spark Developer TrainingIntroduction to Apache Spark Developer Training
Introduction to Apache Spark Developer Training
 
MPP vs Hadoop
MPP vs HadoopMPP vs Hadoop
MPP vs Hadoop
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
 
Modern Data Architecture
Modern Data ArchitectureModern Data Architecture
Modern Data Architecture
 
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr

 
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution

 
Apache Spark Architecture
Apache Spark ArchitectureApache Spark Architecture
Apache Spark Architecture
 

Similar to Camels in Berlin

Apache camel community day - october 2010
Apache camel   community day - october 2010Apache camel   community day - october 2010
Apache camel community day - october 2010Claus Ibsen
 
Apache Camel
Apache CamelApache Camel
Apache CamelGenevaJUG
 
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
 
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
 
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
 
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
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Mee Nam Lee
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle CloudJuan Carlos Ruiz Rico
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollodejanb
 
GraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster EverywhereGraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster EverywhereJ On The Beach
 
Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02hideki hasegawa
 
Smartphone reward by adways
Smartphone reward by adwaysSmartphone reward by adways
Smartphone reward by adways01Booster
 
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudJava @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudPaulo Alberto Simoes ∴
 
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
 
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
 
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаАлександр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаVolha Banadyseva
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesUsing Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesChris Saxon
 

Similar to Camels in Berlin (20)

Apache camel community day - october 2010
Apache camel   community day - october 2010Apache camel   community day - october 2010
Apache camel community day - october 2010
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
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
 
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
 
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
 
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
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
 
Cool SQL Features
Cool SQL FeaturesCool SQL Features
Cool SQL Features
 
GraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster EverywhereGraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster Everywhere
 
Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02
 
Smartphone reward by adways
Smartphone reward by adwaysSmartphone reward by adways
Smartphone reward by adways
 
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudJava @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle Cloud
 
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
 
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...
 
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаАлександр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesUsing Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
 

More from 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
 

More from 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
 

Recently uploaded

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Camels in Berlin

  • 1. Apache  Camel Camel  in  Berlin by  Claus  Ibsen @davsclaus A  Progress  So3ware  Company 1 Copyright  ©  2010  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 2. Camel  in  Berlin 2 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 3. Agenda  Your  speaker  What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 3 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 4. Who  is  Claus  Ibsen?  Principal  So3ware  Engineer  at  FuseSource  Apache  Camel • 4.5  years  working  with  Camel  Author  of  Camel  in  Ac6on  book  Contact •  TwiKer:  @davsclaus •  Blog:  hKp://davsclaus.blogspot.com •  Email:  cibsen@fusesource.com hKp://manning.com/ibsen 4 Copyright  ©  2012  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 hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html 5 Copyright  ©  2012  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 hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html 6 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 7. The  birth  of  Camel   Camel’s  parents 7 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 8. The  birth  of  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  Camel  1.0  released  June  2007 8 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 9. The  birth  of  Camel  My  ini6al  commit r640963  |  davsclaus  |  2008-­‐03-­‐25  21:07:10  +0100 (Tue,  25  Mar  2008)  |  1  line Added  unit  test  for  mistyped  URI 9 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 10. Agenda  Your  speaker  What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 10 Copyright  ©  2012  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   •  hKp://camel.apache.org Camel  is  a  powerful Open  Source Integra6on  Framework based  on  known Enterprise  Integra6on  PaKerns 11 Copyright  ©  2012  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  ©  2012  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  PaKerns? System  A System  B 13 Copyright  ©  2012  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  PaKerns? Its  a  book 14 Copyright  ©  2012  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  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 16. What  is  Apache  Camel?  Camel  and  EIP 16 Copyright  ©  2012  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 filter send  to A message B 17 Copyright  ©  2012  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(predicate) to(B) 18 Copyright  ©  2012  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  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 20. What  is  Apache  Camel?  Camel  and  EIP from(A).filter(isWidget).to(B); 20 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 21. What  is  Apache  Camel?  Camel  and  EIP isWidget  =  xpath("/quote/product  =  ‘widget’"); from(A).filter(isWidget).to(B); 21 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 22. What  is  Apache  Camel?  Camel  and  EIP Endpoint  A  =  endpoint("ac6vemq:queue:quote"); Endpoint  B  =  endpoint("mq:quote"); Predicate  isWidget  =  xpath("/quote/product  =  ‘widget’"); from(A).filter(isWidget).to(B); 22 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 23. What  is  Apache  Camel?  Filter  Route public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } 23 Copyright  ©  2012  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 { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } } 24 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 25. What  is  Apache  Camel?  Filter  Route  -­‐  Java  DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } } 25 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 26. What  is  Apache  Camel?  Lets  look  at  the  most  famous  paKern 26 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 27. What  is  Apache  Camel?  Content  Based  Router 27 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 28. 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> 28 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 29. 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"); 29 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 30. 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"); 30 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 31. 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"); 31 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 32. What  is  Apache  Camel?  Camel  Architecture 32 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 33. What  is  Apache  Camel?  Summary •  Integra6on  framework •  Enterprise  Integra6on  PaKerns  (EIP)   •  Rou6ng  (using  DSL) •  Easy  configura6on  (endpoints  as  URIs) •  No  heavy  specifica6on •  No  container  dependency •  Payload  agnos6c •  A  lot  of  components 33 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 34. Agenda  Your  speaker  What  is  Apache  Camel?  A  liSle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 34 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 35. A  liKle  example  What  is  a  Message? org.apache.camel.Message 35 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 36. A  liKle  example  ...  And  Message  is  contained  in  an  Exchange org.apache.camel.Exchange 36 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 37. A  liKle  example  File  Copier  Example 37 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 38. A  liKle  example  File  Copier  Example 38 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 39. A  liKle  example  File  Copier  Example 39 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 40. A  liKle  example  File  Copier  w/  Transforma6on  Example 40 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 41. Agenda  Your  speaker  What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 41 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 42. Whats  included  in  the  box?  Highlights  of  some  of  the  features          (  there  is  much  more  ) 42 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 43. Whats  included  in  the  box?  50  Enterprise  Integra6on  PaKerns http://camel.apache.org/eip 43 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 44. Whats  included  in  the  box?  SpliKer  EIP File Splitter Custom ActiveMQ -> XML from("file:inbox") .split(body().tokenize("n") .marshal(customToXml) .to("activemq:line"); 44 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 45. Whats  included  in  the  box?  100  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  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 46. Whats  included  in  the  box?  100  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  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 47. Whats  included  in  the  box?  22  Data  Formats   bindy json beanio protobuf castor rss csv serialization crypto soap dozer syslog flatpack tidy markup gzip xml beans hl7 xml security jaxb xstream jibx zip http://camel.apache.org/data-format.html 47 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 48. Whats  included  in  the  box?  16  Expression  Languages BeanShell PHP EL Python Groovy Ruby JavaScript Simple JoSQL SpEL JSR 223 SQL OGNL XPath MVEL XQuery hKp://camel.apache.org/languages.html 48 Copyright  ©  2012  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  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 50. Whats  included  in  the  box?  Test  Kit • JUnit • TestNG • Supports  Spring • Support  Blueprint • Easy  to  test • Quick  prototyping 50 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 51. Whats  included  in  the  box?  Test  Kit  from  IDE 51 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 52. Whats  included  in  the  box?  Managed •  JMX  API •  REST  API 52 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 53. Graphical  Tooling  Eclipse  -­‐  Fuse  IDE  (hKp://fusesource.com) 53 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 54. Whats  included  in  the  box?  Error  Handling •  Errors  happen X 54 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 55. Whats  included  in  the  box?  Error  Handling •  Try  ...  Catch  style from("activemq:incoming") .doTry() .marshal().jaxb() .to("mq:QueueWithXmlMessages") .doCatch(Exception.class) .to("activemq:error") .end(); 55 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 56. Whats  included  in  the  box?  Error  Handling •  Dead  LeKer  Channel  EIP errorHandler( deadLetterChannel("activemq:error") ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages"); 56 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 57. Whats  included  in  the  box?  Error  Handling •  Dead  LeKer  Channel  EIP  w/  Redelivery   errorHandler( deadLetterChannel("activemq:error") .maximumRedeliveries(5) .redeliveryDelay(5000) ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages"); 57 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 58. Whats  included  in  the  box?  Error  Handling •  Camel  End  User  Experience  (March  2012)   58 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 59. Agenda  Your  speaker    What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 59 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 60. Running  Camel  Deployment  Strategy •  No  container  dependency Known  Containers •  Lightweight Fuse  ESB Fuse  Message  Broker •  Embedable   Tomcat  Deployment  Op6ons JeKy JBoss •  Standalone IBM  WebSphere •  WAR Oracle  WebLogic Oracle  OC4j •  Spring Glassfish •  JEE Google  App  Engine Amazon  EC2 •  OSGi ...  others •  Cloud 60 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 61. Running  Camel  Java  Applica6on CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start(); 61 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 62. Running  Camel  Java  Client  Applica6on  (no  routes) CamelContext context = new DefaultCamelContext(); ProducerTemplate template = context.createProducerTemplate(); String data = ... String fileName = ... String uri = "ftp://myserver?username=foo&password=secret"; template.sendBodyAndHeader(uri, data, Exchange.FILE_NAME, fileName); 62 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 63. Running  Camel  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> 63 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 64. Running  Camel  Spring-­‐DM  (OSGi)  Applica6on <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext> </beans> 64 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 65. Running  Camel  OSGi  Blueprint  Applica6on <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/spring/camel-blueprint.xsd"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext> </blueprint> 65 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 66. Agenda  Your  speaker  What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 66 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 67. Live  Demos 67 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 68. TwiKer  &  Web-­‐Socket  Demo  camel-­‐example-­‐twiKer-­‐websocket examples/camel-­‐example-­‐twiKer-­‐websocket$  mvn  compile  exec:java 68 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 69. TwiKer  &  Web-­‐Socket  Demo • main  class 69 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 70. TwiKer  &  Web-­‐Socket  Demo 70 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 71. TwiKer  &  Web-­‐Socket  Demo 71 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 72. Groovy  Demo  Groovy  Script HTTP Service Transform groovy  mycamel.groovy curl  hKp://localhost:8080 72 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 73. Groovy  Demo  Groovy  Script  (mycamel.groovy) 73 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 74. Groovy  Demo  Groovy  Script  (mycamel.groovy  -­‐  cont.) 74 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 75. Create  New  Project  using  Maven  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 75 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 76. Agenda  Your  speaker  What  is  Apache  Camel?  A  liKle  example  Whats  included  in  the  box?  Running  Camel  Live  Demos  Q  and  A 76 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 77. Q  and  A • TwiKer:  @davsclaus •  Blog:  hKp://davsclaus.blogspot.com •  Email:  cibsen@fusesource.com 77 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company