SlideShare a Scribd company logo
Enterprise	
  Integra6on	
  PaDerns	
  and	
  DSL
with	
  Apache	
  Camel
by	
  Claus	
  Ibsen
Principal	
  So3ware	
  Engineer,	
  FuseSource




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


   Who	
  is	
  Claus	
  Ibsen?
   What	
  is	
  Apache	
  Camel?
   Camel	
  Architecture
   Whats	
  included	
  in	
  the	
  box?
   Running	
  Camel
   Live	
  Demos
   Apache	
  ServiceMix
   Apache	
  Camel	
  Roadmap
   Q	
  and	
  A




2      Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Who	
  is	
  Claus	
  Ibsen?


 Principal	
  So3ware	
  Engineer	
  at	
  FuseSource
    • 	
  Full	
  6me	
  Apache	
  Camel	
  hacker
 Apache	
  Camel	
  commiDer
    • Camel	
  Top	
  Contributor
    • 	
  4	
  years	
  working	
  with	
  Camel
 Author	
  of	
  Camel	
  in	
  Ac6on	
  book
 Contact
    • 	
  TwiDer:	
  @davsclaus
    • 	
  Blog:	
  hDp://davsclaus.blogspot.com
    • 	
  Email:	
  cibsen@fusesource.com



                                                                                                                                                        hDp://www.manning.com/ibsen

3       Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                  A	
  Progress	
  So3ware	
  Company
My	
  Employer


 FuseSource	
  -­‐	
  hDp://fusesource.com	
  
  	
  




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


   Who	
  is	
  Claus	
  Ibsen?
   What	
  is	
  Apache	
  Camel?
   Camel	
  Architecture
   Whats	
  included	
  in	
  the	
  box?
   Running	
  Camel
   Live	
  Demos
   Apache	
  ServiceMix
   Apache	
  Camel	
  Roadmap
   Q	
  and	
  A




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


 Quote	
  from	
  the	
  web	
  site	
  
    • 	
  hDp://camel.apache.org


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


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


 Why	
  do	
  we	
  need	
  integra6on?
    • 	
  Your	
  apps	
  are	
  build	
  using	
  different	
  tech	
  stacks
    • 	
  Cri6cal	
  for	
  your	
  business	
  to	
  integrate
 Why	
  Integra6on	
  Framework?
    • 	
  Framework	
  do	
  the	
  heavy	
  li3ing
    • 	
  Focus	
  on	
  business	
  problem	
  
    • 	
  Not	
  "reinven6ng	
  the	
  wheel"




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

 What	
  is	
  Enterprise	
  Integra6on	
  PaDerns?




        System	
  A                                                                                                                                       System	
  B




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

 What	
  is	
  Enterprise	
  Integra6on	
  PaDerns?




                                                                                                    Its	
  a	
  book
 9     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel

 Camel	
  and	
  EIP




       Apache                                                                                                                                             WebSphereMQ
      Ac6veMQ




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

 Camel	
  and	
  EIP




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


 Camel	
  and	
  EIP




         from                                                                         filter                                                               send	
  to
           A                                                                         message                                                                 B




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


 Camel	
  and	
  EIP




     from(A)                                                         filter(predicate)                                                                     to(B)




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


 Camel	
  and	
  EIP




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




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


 Camel	
  and	
  EIP




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




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


 Camel	
  and	
  EIP




     isWidget	
  =	
  xpath("/quote/product	
  =	
  ‘widget’");

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


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


  Camel	
  and	
  EIP


Endpoint	
  A	
  =	
  endpoint("ac6vemq:queue:quote");
Endpoint	
  B	
  =	
  endpoint("mq:quote");
Predicate	
  isWidget	
  =	
  xpath("/quote/product	
  =	
  ‘widget’");

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




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


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




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


 Filter	
  Route	
  -­‐	
  Java	
  DSL

  import org.apache.camel.builder.RouteBuilder;

  public class FilterRoute extends RouteBuilder {

      public void configure() throws Exception {
        Endpoint A = endpoint("activemq:queue:quote");
        Endpoint B = endpoint("mq:quote");
        Predicate isWidget = xpath("/quote/product = ‘widget’");

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


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


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




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


 Lets	
  look	
  at	
  the	
  most	
  famous	
  paDern




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


 Content	
  Based	
  Router




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


  Content	
  Based	
  Router	
  -­‐	
  XML	
  DSL
  <camelContext>
    <route>
      <from uri="activemq:NewOrders"/>
      <choice>
        <when>
          <xpath>/order/product = 'widget'</xpath>
          <to uri="activemq:Orders.Widgets"/>
        </when>
        <otherwise>
          <to uri="activemq:Orders.Gadgets"/>
        </otherwise>
      </choice>
    </route>
  </camelContext>
23     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
What	
  is	
  Apache	
  Camel


  Content	
  Based	
  Router	
  -­‐	
  Java	
  DSL



     from("activemq:NewOrders")
       .choice()
         .when().xpath("/order/product = 'widget'")
           .to("activemq:Orders.Widget")
         .otherwise()
           .to("activemq:Orders.Gadget");




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


  Endpoints	
  as	
  URIs
                                                            use file instead

     from("file:inbox/orders")
       .choice()
         .when().xpath("/order/product = 'widget'")
           .to("activemq:Orders.Widget")
         .otherwise()
           .to("activemq:Orders.Gadget");




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


  Endpoints	
  as	
  URIs
                                                                                                                                                   parameters


     from("file:inbox/orders?delete=true")
       .choice()
         .when().xpath("/order/product = 'widget'")
           .to("activemq:Orders.Widget")
         .otherwise()
           .to("activemq:Orders.Gadget");




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


 Summary
   • 	
  Integra6on	
  framework
   • 	
  Enterprise	
  Integra6on	
  PaDerns	
  (EIP)	
  
   • 	
  Rou6ng	
  (using	
  DSL)
   • 	
  Easy	
  configura6on	
  (endpoints	
  as	
  URIs)
   • 	
  No	
  heavy	
  specifica6on
   • 	
  No	
  container	
  dependency
   • 	
  Payload	
  agnos6c
   • 	
  A	
  lot	
  of	
  components




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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




28     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Message	
  PaDern




29   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Message




30   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Camel	
  Exchange




31   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Camel	
  Architecture




32   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Camel	
  DSL	
  -­‐	
  Highest	
  Level	
  
     from("file:inbox/orders?delete=true")
       .choice()
         .when().xpath("/order/product = 'widget'")
           .to("activemq:Orders.Widget")
         .otherwise()
           .to("activemq:Orders.Gadget");




33    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Camel	
  Architecture


 Camel	
  DSL	
  	
  -­‐	
  Lowest	
  Level
     • Rou6ng	
  Engine

                Iterator<Processor> it = ...
                while (it.hasNext()) {
                  Processor processor = it.next();
                  processor.process(exchange);
                }
     • Processor	
  API

        process(Exchange exchange) throws Exception;




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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra9on	
  Pa;erns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




35     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 50	
  Enterprise	
  Integra6on	
  PaDerns




                                                             http://camel.apache.org/eip
36    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Pipes	
  and	
  Filters	
  EIP




      from("file:inbox")
        .pipeline()
        .to("bean:decrypt")
        .to("bean:authenticate")
        .to("bean:deDup");




37     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Pipes	
  and	
  Filters	
  EIP




      from("file:inbox")
        .to("bean:decrypt")
        .to("bean:authenticate")
        .to("bean:deDup");



             pipeline()	
  is	
  default	
  mode	
  in	
  Camel	
  and	
  can	
  usually	
  be	
  omi5ed

38     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 SpliDer	
  EIP



        File                                                                Splitter                                                          Custom
                                                                                                                                                          ActiveMQ
                                                                                                                                              -> XML




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




39    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
      A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Recipient	
  List	
  EIP
                                                                                                                                                                 stock.APPL
                                                                                                                                                                 stock.ORCL
                                                                                                                                                                 stock.XXXX
                                                         REST Service                                                                                 ActiveMQ




40     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                   A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Recipient	
  List	
  EIP
                                                                                                                                                                 stock.APPL
                                                                                                                                                                 stock.ORCL
                                                                                                                                                                 stock.XXXX
                                                         REST Service                                                                                 ActiveMQ




                            	
  curl	
  -­‐X	
  	
  POST	
  -­‐d	
  "120"	
  "hDp://localhost:9080/stock/ORCL"


41     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                   A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Bean	
  as	
  Message	
  Translator




42    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Bean	
  as	
  Message	
  Translator
     from("activemq:Incoming”).
            beanRef("myBeanName", "someMethod").
                 to("activemq:Outgoing");


     public class Foo {

             public String someMethod(String name) {
               return “Hello “ + name;
             }
     }



43       Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Bean	
  Parameter	
  Binding	
  w/	
  Annota6ons
     from("activemq:Incoming").
           beanRef("myBeanName", "someMethod").
              to("activemq:Outgoing");

     public class Foo {

           public String someMethod(String name,
                     @Header(”JMSCorrelationID”) String cid) {
                     ...
           }
     }                                          Annota6ons



44       Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Enterprise	
  Integra6on	
  PaDerns


 Bean	
  Parameter	
  Binding	
  w/	
  Method	
  Name	
  (new	
  in	
  Camel	
  2.9)
 from("activemq:Incoming").
   beanRef("myBeanName",
           "someMethod(${body}, ${header.JMSCorrelationID})").
     to("activemq:Outgoing");

 public class Foo {

     public String someMethod(String name,
                                                                                                                                    String cid) {
            ...
     }
 }



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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




46     Copyright	
  ©	
  2011	
  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
                                                                                                                                                         Apache	
  ServiceMix
  • 	
  Embedable	
                                                                                                                                      Apache	
  Ac6veMQ
 Deployment	
  Op6ons                                                                                                                                   Apache	
  Tomcat
                                                                                                                                                         JeDy
  • Standalone                                                                                                                                           JBoss
  • Spring                                                                                                                                               IBM	
  WebSphere
                                                                                                                                                         Oracle	
  WebLogic
  • WAR                                                                                                                                                  Glassfish
  • JEE                                                                                                                                                  Google	
  App	
  Engine
                                                                                                                                                         Amazon	
  EC2
  • OSGi                                                                                                                                                 ...	
  others
  • Cloud

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


 Java	
  Applica6on
     CamelContext context = new DefaultCamelContext();
     context.addRoutes(new MyRouteBuilder());
     context.start();




48      Copyright	
  ©	
  2011	
  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>




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


 Java	
  Client	
  Applica6on
 CamelContext context = new DefaultCamelContext();
 context.start();

 ProducerTemplate template = context.newProducerTemplate();

 Object data = ...
 String filename = "mydata.csv";
 String uri = "ftp:myftpserver?username=me&password=secret";

 template.sendBodyAndHeader(uri, data, "CamelFileName", filename);




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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns	
  
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




51     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Live	
  Demo	
  1


 Groovy	
  Script




                        HTTP Service                                                                                                                      Transform




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

52    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                 A	
  Progress	
  So3ware	
  Company
Live	
  Demo	
  1


 Groovy	
  Script	
  (mycamel.groovy)




53    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Live	
  Demo	
  1


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




54    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Live	
  Demo	
  2


 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
55    Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
                   A	
  Progress	
  So3ware	
  Company
Live	
  Demo	
  2


 Create	
  new	
  Project	
  using	
  Maven




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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




57     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  ServiceMix


 Architecture




58   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  ServiceMix


 Modular




59   Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  ServiceMix


 ServiceMix	
  and	
  Camel	
  Demo




 SSH	
  access	
  to	
  shell
                                                               	
  ssh	
  smx@localhost	
  -­‐p	
  8101


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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




61     Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  Camel	
  Roadmap


 Apache	
  Camel	
  2.9.0	
  -­‐	
  Highlights
     •   Reduced	
  Spring	
  JAR	
  dependency
     •   Reworked	
  Simple	
  Expression	
  Language
     •   Splisng	
  big	
  XML	
  files	
  in	
  streaming	
  mode
     •   Improved	
  Bean	
  Parameter	
  Binding
     •   Improved	
  JMX
     •   Improved	
  JMS	
  request/reply
     •   Addi6onal	
  Camel	
  shell	
  commands
     •   JClouds	
  Component




                                              hDp://camel.apache.org/camel-­‐290-­‐release.html
                                                      hDp://davsclaus.blogspot.com

62        Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  Camel	
  Roadmap


 Apache	
  Camel	
  2.10	
  -­‐	
  Roadmap
     •   Blueprint	
  not	
  6ed	
  to	
  Apache	
  Aries
     •   Transac6on	
  API	
  not	
  6ed	
  to	
  Spring	
  TX	
  API
     •   Make	
  it	
  easier	
  to	
  use	
  Bindy
     •   Persistent	
  Dead	
  LeDer	
  Channel
     •   CDI	
  support
     •   camel-­‐mina2	
  component




63        Copyright	
  ©	
  2011	
  Progress	
  So3ware	
  Corpora6on	
  and/or	
  its	
  subsidiaries	
  or	
  affiliates.	
  All	
  rights	
  reserved.	
     A	
  Progress	
  So3ware	
  Company
Apache	
  Camel	
  Roadmap


 Apache	
  Camel	
  3.0	
  -­‐	
  Roadmap
   •   Split	
  camel-­‐core	
  into	
  mul6ple	
  JARs
   •   Support	
  async	
  transac6ons
   •   Internal	
  rou6ng	
  engine	
  cleanup
   •   Dynamic	
  add/remove	
  interceptors	
  to	
  running	
  routes
   •   Unify	
  JMX/REST	
  API	
  for	
  management




                                            hDp://camel.apache.org/camel-­‐30-­‐roadmap.html

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


    Who	
  is	
  Claus	
  Ibsen?
    What	
  is	
  Apache	
  Camel?
    Camel	
  Architecture
    Enterprise	
  Integra6on	
  PaDerns
    Running	
  Camel
    Live	
  Demos
    Apache	
  ServiceMix
    Apache	
  Camel	
  Roadmap
    Q	
  and	
  A




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




  Contact
                                                                                            ?
     • 	
  TwiDer:	
  @davsclaus
     • 	
  Blog:	
  hDp://davsclaus.blogspot.com
     • 	
  Email:	
  cibsen@fusesource.com

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

More Related Content

Viewers also liked (20)

PDF
Taking Apache Camel For A Ride
Bruce Snyder
 
PDF
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
ODP
Getting Started with Apache Camel at DevNation 2014
Claus Ibsen
 
PPTX
Essential Camel Components
Christian Posta
 
PPTX
JISC Digging into Data
Alastair Dunning
 
PPTX
Xml to xml transformation in mule
Rajkattamuri
 
PPTX
Mule ESB Intro
Noga Manela
 
PDF
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
PDF
Application Architecture: The Next Wave | MuleSoft
Bui Kiet
 
PDF
Camel oneactivemq posta-final
Christian Posta
 
PPTX
Smart Enterprise Application Integration with Apache Camel
Kai Wähner
 
PDF
Apache Camel Lifecycle
Ilya Lapitan
 
PPT
Mule exception strategies - Catch exception strategy
Ankush Sharma
 
PDF
Solving Enterprise Integration with Apache Camel
Christian Posta
 
PPTX
Mule ESB
Rajkattamuri
 
PPT
SaaS Metrics That Matter | MuleSoft
MuleSoft
 
PDF
Mule ESB
Yura Nosenko
 
PDF
Enterprise Integration Patterns with Apache Camel
Ioan Eugen Stan
 
PDF
Apache Camel Introduction & What's in the box
Claus Ibsen
 
PDF
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
Kai Wähner
 
Taking Apache Camel For A Ride
Bruce Snyder
 
Jazoon 2011 - Smart EAI with Apache Camel
Kai Wähner
 
Getting Started with Apache Camel at DevNation 2014
Claus Ibsen
 
Essential Camel Components
Christian Posta
 
JISC Digging into Data
Alastair Dunning
 
Xml to xml transformation in mule
Rajkattamuri
 
Mule ESB Intro
Noga Manela
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
Application Architecture: The Next Wave | MuleSoft
Bui Kiet
 
Camel oneactivemq posta-final
Christian Posta
 
Smart Enterprise Application Integration with Apache Camel
Kai Wähner
 
Apache Camel Lifecycle
Ilya Lapitan
 
Mule exception strategies - Catch exception strategy
Ankush Sharma
 
Solving Enterprise Integration with Apache Camel
Christian Posta
 
Mule ESB
Rajkattamuri
 
SaaS Metrics That Matter | MuleSoft
MuleSoft
 
Mule ESB
Yura Nosenko
 
Enterprise Integration Patterns with Apache Camel
Ioan Eugen Stan
 
Apache Camel Introduction & What's in the box
Claus Ibsen
 
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
Kai Wähner
 

Similar to Enterprise Integration Patterns and DSL with Apache Camel (20)

PDF
Apache camel community day - october 2010
Claus Ibsen
 
PDF
Introduction to ActiveMQ Apollo
dejanb
 
PDF
Be jug 090611_apacheservicemix
Charles Moulliard
 
PDF
Fusesource camel-persistence-part2-webinar-charles-moulliard
Charles Moulliard
 
PDF
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
 
PPTX
Apache camel overview dec 2011
Marcelo Jabali
 
PDF
Apache Camel - FUSE community day London 2010 presentation
Claus Ibsen
 
PDF
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Bruno Borges
 
PDF
GraalVM Native Images by Oleg Selajev @shelajev
Oracle Developers
 
PDF
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
vasuballa
 
PDF
Leverage integration cloud_service_for_ebs_
aioughydchapter
 
PDF
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
 
PDF
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Marco Antonio Maciel
 
PDF
Modern App Development with Oracle Cloud
Juan Carlos Ruiz Rico
 
PPTX
Are you new to Apache Camel
gnanagurus
 
PPTX
Oracle REST Data Services
Chris Muir
 
PDF
2 Guide MySQL Cloud Service Provisioning.
Virve Kettunen
 
PDF
GraalVM: Run Programs Faster Everywhere
J On The Beach
 
PDF
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Develcz
 
PDF
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Paulo Alberto Simoes ∴
 
Apache camel community day - october 2010
Claus Ibsen
 
Introduction to ActiveMQ Apollo
dejanb
 
Be jug 090611_apacheservicemix
Charles Moulliard
 
Fusesource camel-persistence-part2-webinar-charles-moulliard
Charles Moulliard
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
 
Apache camel overview dec 2011
Marcelo Jabali
 
Apache Camel - FUSE community day London 2010 presentation
Claus Ibsen
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Bruno Borges
 
GraalVM Native Images by Oleg Selajev @shelajev
Oracle Developers
 
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
vasuballa
 
Leverage integration cloud_service_for_ebs_
aioughydchapter
 
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
 
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Marco Antonio Maciel
 
Modern App Development with Oracle Cloud
Juan Carlos Ruiz Rico
 
Are you new to Apache Camel
gnanagurus
 
Oracle REST Data Services
Chris Muir
 
2 Guide MySQL Cloud Service Provisioning.
Virve Kettunen
 
GraalVM: Run Programs Faster Everywhere
J On The Beach
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Develcz
 
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Paulo Alberto Simoes ∴
 
Ad

More from Dmitry Buzdin (20)

PDF
How Payment Cards Really Work?
Dmitry Buzdin
 
PDF
Как построить свой фреймворк для автотестов?
Dmitry Buzdin
 
PDF
How to grow your own Microservice?
Dmitry Buzdin
 
PDF
How to Build Your Own Test Automation Framework?
Dmitry Buzdin
 
PDF
Delivery Pipeline for Windows Machines
Dmitry Buzdin
 
PPTX
Big Data Processing Using Hadoop Infrastructure
Dmitry Buzdin
 
PDF
JOOQ and Flyway
Dmitry Buzdin
 
PDF
Developing Useful APIs
Dmitry Buzdin
 
PPTX
Whats New in Java 8
Dmitry Buzdin
 
PPTX
Архитектура Ленты на Одноклассниках
Dmitry Buzdin
 
PDF
Dart Workshop
Dmitry Buzdin
 
PDF
Riding Redis @ask.fm
Dmitry Buzdin
 
PDF
Rubylight JUG Contest Results Part II
Dmitry Buzdin
 
PDF
Rubylight Pattern-Matching Solutions
Dmitry Buzdin
 
PDF
Refactoring to Macros with Clojure
Dmitry Buzdin
 
PPTX
Poor Man's Functional Programming
Dmitry Buzdin
 
PDF
Rubylight programming contest
Dmitry Buzdin
 
PPTX
Continuous Delivery
Dmitry Buzdin
 
PPTX
Introduction to DevOps
Dmitry Buzdin
 
PDF
Thread Dump Analysis
Dmitry Buzdin
 
How Payment Cards Really Work?
Dmitry Buzdin
 
Как построить свой фреймворк для автотестов?
Dmitry Buzdin
 
How to grow your own Microservice?
Dmitry Buzdin
 
How to Build Your Own Test Automation Framework?
Dmitry Buzdin
 
Delivery Pipeline for Windows Machines
Dmitry Buzdin
 
Big Data Processing Using Hadoop Infrastructure
Dmitry Buzdin
 
JOOQ and Flyway
Dmitry Buzdin
 
Developing Useful APIs
Dmitry Buzdin
 
Whats New in Java 8
Dmitry Buzdin
 
Архитектура Ленты на Одноклассниках
Dmitry Buzdin
 
Dart Workshop
Dmitry Buzdin
 
Riding Redis @ask.fm
Dmitry Buzdin
 
Rubylight JUG Contest Results Part II
Dmitry Buzdin
 
Rubylight Pattern-Matching Solutions
Dmitry Buzdin
 
Refactoring to Macros with Clojure
Dmitry Buzdin
 
Poor Man's Functional Programming
Dmitry Buzdin
 
Rubylight programming contest
Dmitry Buzdin
 
Continuous Delivery
Dmitry Buzdin
 
Introduction to DevOps
Dmitry Buzdin
 
Thread Dump Analysis
Dmitry Buzdin
 
Ad

Recently uploaded (20)

PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 

Enterprise Integration Patterns and DSL with Apache Camel

  • 1. Enterprise  Integra6on  PaDerns  and  DSL with  Apache  Camel by  Claus  Ibsen Principal  So3ware  Engineer,  FuseSource A  Progress  So3ware  Company 1 Copyright  ©  2010  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 2. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Whats  included  in  the  box?  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 2 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 3. Who  is  Claus  Ibsen?  Principal  So3ware  Engineer  at  FuseSource •  Full  6me  Apache  Camel  hacker  Apache  Camel  commiDer • Camel  Top  Contributor •  4  years  working  with  Camel  Author  of  Camel  in  Ac6on  book  Contact •  TwiDer:  @davsclaus •  Blog:  hDp://davsclaus.blogspot.com •  Email:  [email protected] hDp://www.manning.com/ibsen 3 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 4. My  Employer  FuseSource  -­‐  hDp://fusesource.com     4 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 5. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Whats  included  in  the  box?  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 5 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 6. What  is  Apache  Camel  Quote  from  the  web  site   •  hDp://camel.apache.org Apache  Camel  is  a powerful  Open  Source Integra6on  Framework based  on  known Enterprise  Integra6on  PaDerns 6 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 7. 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" 7 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 8. What  is  Apache  Camel  What  is  Enterprise  Integra6on  PaDerns? System  A System  B 8 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 9. What  is  Apache  Camel  What  is  Enterprise  Integra6on  PaDerns? Its  a  book 9 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 10. What  is  Apache  Camel  Camel  and  EIP Apache WebSphereMQ Ac6veMQ 10 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 11. What  is  Apache  Camel  Camel  and  EIP 11 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 12. What  is  Apache  Camel  Camel  and  EIP from filter send  to A message B 12 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 13. What  is  Apache  Camel  Camel  and  EIP from(A) filter(predicate) to(B) 13 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 14. What  is  Apache  Camel  Camel  and  EIP from(A) .filter(isWidget) .to(B) 14 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 15. What  is  Apache  Camel  Camel  and  EIP from(A).filter(isWidget).to(B); 15 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 16. What  is  Apache  Camel  Camel  and  EIP isWidget  =  xpath("/quote/product  =  ‘widget’"); from(A).filter(isWidget).to(B); 16 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 17. What  is  Apache  Camel  Camel  and  EIP Endpoint  A  =  endpoint("ac6vemq:queue:quote"); Endpoint  B  =  endpoint("mq:quote"); Predicate  isWidget  =  xpath("/quote/product  =  ‘widget’"); from(A).filter(isWidget).to(B); 17 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 18. What  is  Apache  Camel  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); } 18 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 19. 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); } } 19 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 20. 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"); } } 20 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 21. What  is  Apache  Camel  Lets  look  at  the  most  famous  paDern 21 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 22. What  is  Apache  Camel  Content  Based  Router 22 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 23. 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> 23 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 24. 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"); 24 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 25. 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"); 25 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 26. 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"); 26 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 27. What  is  Apache  Camel  Summary •  Integra6on  framework •  Enterprise  Integra6on  PaDerns  (EIP)   •  Rou6ng  (using  DSL) •  Easy  configura6on  (endpoints  as  URIs) •  No  heavy  specifica6on •  No  container  dependency •  Payload  agnos6c •  A  lot  of  components 27 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 28. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 28 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 29. Camel  Architecture  Message  PaDern 29 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 30. Camel  Architecture  Message 30 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 31. Camel  Architecture  Camel  Exchange 31 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 32. Camel  Architecture  Camel  Architecture 32 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 33. Camel  Architecture  Camel  DSL  -­‐  Highest  Level   from("file:inbox/orders?delete=true") .choice() .when().xpath("/order/product = 'widget'") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget"); 33 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 34. Camel  Architecture  Camel  DSL    -­‐  Lowest  Level • Rou6ng  Engine Iterator<Processor> it = ... while (it.hasNext()) { Processor processor = it.next(); processor.process(exchange); } • Processor  API process(Exchange exchange) throws Exception; 34 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 35. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra9on  Pa;erns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 35 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 36. Enterprise  Integra6on  PaDerns  50  Enterprise  Integra6on  PaDerns http://camel.apache.org/eip 36 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 37. Enterprise  Integra6on  PaDerns  Pipes  and  Filters  EIP from("file:inbox") .pipeline() .to("bean:decrypt") .to("bean:authenticate") .to("bean:deDup"); 37 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 38. Enterprise  Integra6on  PaDerns  Pipes  and  Filters  EIP from("file:inbox") .to("bean:decrypt") .to("bean:authenticate") .to("bean:deDup"); pipeline()  is  default  mode  in  Camel  and  can  usually  be  omi5ed 38 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 39. Enterprise  Integra6on  PaDerns  SpliDer  EIP File Splitter Custom ActiveMQ -> XML from("file:inbox") .split(body().tokenize("n") .marshal(customToXml) .to("activemq:line"); 39 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 40. Enterprise  Integra6on  PaDerns  Recipient  List  EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ 40 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 41. Enterprise  Integra6on  PaDerns  Recipient  List  EIP stock.APPL stock.ORCL stock.XXXX REST Service ActiveMQ  curl  -­‐X    POST  -­‐d  "120"  "hDp://localhost:9080/stock/ORCL" 41 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 42. Enterprise  Integra6on  PaDerns  Bean  as  Message  Translator 42 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 43. Enterprise  Integra6on  PaDerns  Bean  as  Message  Translator from("activemq:Incoming”). beanRef("myBeanName", "someMethod"). to("activemq:Outgoing"); public class Foo { public String someMethod(String name) { return “Hello “ + name; } } 43 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 44. Enterprise  Integra6on  PaDerns  Bean  Parameter  Binding  w/  Annota6ons from("activemq:Incoming"). beanRef("myBeanName", "someMethod"). to("activemq:Outgoing"); public class Foo { public String someMethod(String name, @Header(”JMSCorrelationID”) String cid) { ... } } Annota6ons 44 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 45. Enterprise  Integra6on  PaDerns  Bean  Parameter  Binding  w/  Method  Name  (new  in  Camel  2.9) from("activemq:Incoming"). beanRef("myBeanName", "someMethod(${body}, ${header.JMSCorrelationID})"). to("activemq:Outgoing"); public class Foo { public String someMethod(String name, String cid) { ... } } 45 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 46. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 46 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 47. Running  Camel  Deployment  Strategy •  No  container  dependency Known  Containers •  Lightweight Fuse  ESB Apache  ServiceMix •  Embedable   Apache  Ac6veMQ  Deployment  Op6ons Apache  Tomcat JeDy • Standalone JBoss • Spring IBM  WebSphere Oracle  WebLogic • WAR Glassfish • JEE Google  App  Engine Amazon  EC2 • OSGi ...  others • Cloud 47 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 48. Running  Camel  Java  Applica6on CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start(); 48 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 49. 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> 49 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 50. Running  Camel  Java  Client  Applica6on CamelContext context = new DefaultCamelContext(); context.start(); ProducerTemplate template = context.newProducerTemplate(); Object data = ... String filename = "mydata.csv"; String uri = "ftp:myftpserver?username=me&password=secret"; template.sendBodyAndHeader(uri, data, "CamelFileName", filename); 50 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 51. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns    Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 51 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 52. Live  Demo  1  Groovy  Script HTTP Service Transform groovy  mycamel.groovy curl  hDp://localhost:8080 52 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 53. Live  Demo  1  Groovy  Script  (mycamel.groovy) 53 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 54. Live  Demo  1  Groovy  Script  (mycamel.groovy  -­‐  cont.) 54 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 55. Live  Demo  2  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 55 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 56. Live  Demo  2  Create  new  Project  using  Maven 56 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 57. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 57 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 58. Apache  ServiceMix  Architecture 58 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 59. Apache  ServiceMix  Modular 59 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 60. Apache  ServiceMix  ServiceMix  and  Camel  Demo  SSH  access  to  shell  ssh  smx@localhost  -­‐p  8101 60 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 61. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 61 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 62. Apache  Camel  Roadmap  Apache  Camel  2.9.0  -­‐  Highlights • Reduced  Spring  JAR  dependency • Reworked  Simple  Expression  Language • Splisng  big  XML  files  in  streaming  mode • Improved  Bean  Parameter  Binding • Improved  JMX • Improved  JMS  request/reply • Addi6onal  Camel  shell  commands • JClouds  Component hDp://camel.apache.org/camel-­‐290-­‐release.html hDp://davsclaus.blogspot.com 62 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 63. Apache  Camel  Roadmap  Apache  Camel  2.10  -­‐  Roadmap • Blueprint  not  6ed  to  Apache  Aries • Transac6on  API  not  6ed  to  Spring  TX  API • Make  it  easier  to  use  Bindy • Persistent  Dead  LeDer  Channel • CDI  support • camel-­‐mina2  component 63 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 64. Apache  Camel  Roadmap  Apache  Camel  3.0  -­‐  Roadmap • Split  camel-­‐core  into  mul6ple  JARs • Support  async  transac6ons • Internal  rou6ng  engine  cleanup • Dynamic  add/remove  interceptors  to  running  routes • Unify  JMX/REST  API  for  management hDp://camel.apache.org/camel-­‐30-­‐roadmap.html 64 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 65. Agenda  Who  is  Claus  Ibsen?  What  is  Apache  Camel?  Camel  Architecture  Enterprise  Integra6on  PaDerns  Running  Camel  Live  Demos  Apache  ServiceMix  Apache  Camel  Roadmap  Q  and  A 65 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  • 66. Q  and  A  Contact ? •  TwiDer:  @davsclaus •  Blog:  hDp://davsclaus.blogspot.com •  Email:  [email protected] 66 Copyright  ©  2011  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company