SlideShare a Scribd company logo
1 of 85
Download to read offline
Introduction to Apache Camel




Claus Ibsen
Principal Software Engineer, FuseSource
September 2010




              1
When you joined today‟s session …

       Audio is broadcast from your computer




                               Submit your questions
                                via the Chat Window

                                Contact today‟s Host
                                via the Chat Window
Today's speaker - Claus Ibsen



 Principal Software Engineer at FuseSource
     • Full time Apache Camel hacker
 Apache Camel committer
 Co-author of Camel in Action book
     • Available in late 2010
 Contact
     • claus.ibsen@fusesource.com
     • http://davsclaus.blogspot.com/
     • http://twitter.com/davsclaus

                                              http://www.manning.com/ibsen




 3     © 2010 Progress Software Corporation
Why the name Camel?




                                Camel is easy to remember and type




 4   © 2010 Progress Software Corporation
Agenda



    The birth of Apache Camel
    What is Apache Camel
    A little example
    What's included in the box?
    Running Camel
    Another Example
    The Camel Community
    Q and A




 5     © 2010 Progress Software Corporation
The birth of Apache Camel



     • Camel’s parents




 6     © 2010 Progress Software Corporation
The birth of Apache Camel



 Initial Commit Log
  r519901 | jstrachan | 2007-03-19 11:54:57 +0100
  (Mon, 19 Mar 2007) | 1 line

     Initial checkin of Camel routing library




 Apache Camel 1.0 released June 2007

 Apache Camel is 3 years old

 7     © 2010 Progress Software Corporation
The birth of Apache Camel



 My initial commit

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

     Added unit test for mistyped URI




 8     © 2010 Progress Software Corporation
Agenda



    The birth of Apache Camel
    What is Apache Camel
    A little example
    What's included in the box?
    Running Camel
    Another Example
    The Camel Community
    Q and A




 9     © 2010 Progress Software Corporation
What is Apache Camel



 Quote from the web site


                         Apache Camel is a
                      Powerful Open Source
                       Integration Framework
                          based on known
                   Enterprise Integration Patterns



 10   © 2010 Progress Software Corporation
What is Apache Camel



 Why do we need Integration?
      • Your apps are build using different tech stacks
      • Critical for your business to integrate
 Why Integration Framework?
      • Framework do the heavy lifting
      • Focus on business problem
      • Not "reinventing the wheel"




 11     © 2010 Progress Software Corporation
What is Apache Camel



 What is Enterprise Integration Patterns?




 12   © 2010 Progress Software Corporation
What is Apache Camel



 What is Enterprise Integration Patterns?




 13   © 2010 Progress Software Corporation
What is Apache Camel



 What is Enterprise Integration Patterns?




                                             Its a book
 14   © 2010 Progress Software Corporation
What is Apache Camel



 Lets look at one of the patterns




 15   © 2010 Progress Software Corporation
What is Apache Camel



 Use Case




      ActiveMQ                               WebSphereMQ




 16   © 2010 Progress Software Corporation
What is Apache Camel



 Filter Pattern




 17   © 2010 Progress Software Corporation
What is Apache Camel



 Filter Pattern




      from                                    filter   send to
        A                                    message     B




 18   © 2010 Progress Software Corporation
What is Apache Camel



 Filter Pattern




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




 19    © 2010 Progress Software Corporation
What is Apache Camel



 Filter Pattern




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




 20    © 2010 Progress Software Corporation
What is Apache Camel



 Filter Route




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




 21   © 2010 Progress Software Corporation
What is Apache Camel



 Filter Route




      isWidget = xpath(“/quote/product = „widget‟”);

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


 22    © 2010 Progress Software Corporation
What is Apache Camel



 Filter Route

Endpoint A = endpoint(“activemq:queue:quote”);

Endpoint B = endpoint(“mq:quote”);

Predicate isWidget = xpath(“/quote/product = „widget‟”);


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



 23   © 2010 Progress Software Corporation
What is Apache Camel



     Filter Route - Java DSL



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   © 2010 Progress Software Corporation
What is Apache Camel



 Filter Route - Java DSL

 import org.apache.camel.builder.RouteBuilder;
 import static org.apache.camel.builder.xml.XPathBuilder.xpath;

 public class FilterRoute extends RouteBuilder {

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

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




 25         © 2010 Progress Software Corporation
What is Apache Camel



 Filter Route - Java DSL

 import org.apache.camel.builder.RouteBuilder;

 public class FilterRoute extends RouteBuilder {

     public void configure() throws Exception {
       from("activemq:queue:quote")
         .filter().xpath("/quote/product =„widget‟")
           .to("mq:quote");
     }
 }




 26     © 2010 Progress Software Corporation
What is Apache Camel



 IDE Tooling
                                                       Code
                                                       Assistance




                                             JavaDoc




 27   © 2010 Progress Software Corporation
What is Apache Camel



 IDE Tooling




                                             Code
                                             Assistance




 28   © 2010 Progress Software Corporation
What is Apache Camel



 Lets look at the most famous pattern




 29   © 2010 Progress Software Corporation
What is Apache Camel



 Content Based Router




 30   © 2010 Progress Software Corporation
What is Apache Camel



 Content Based Router - Spring XML

<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>
 31   © 2010 Progress Software Corporation
What is Apache Camel



 Content Based Router - Java DSL



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




 32     © 2010 Progress Software Corporation
What is Apache Camel



 Summary
      •   Camel is an integration framework
      •   Based on Enterprise Integration Patterns
      •   Routing and mediation
      •   Easy to use DSL to define routes
      •   No heavy specification
      •   No container dependency
      •   Payload agnostic
      •   Connectivity to a great wealth of transports




 33       © 2010 Progress Software Corporation
What is Apache Camel



 Mission Statement




                   Making integration easier and
                   more accessible to developers




 34   © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 35     © 2010 Progress Software Corporation
A little example



 Based on community user (Gunnar Hillert)
      • http://hillert.blogspot.com/2009/09/camellos-discovering-apache-
        camel-ii.html
 Goals
      •   1) Pickup files from a directory
      •   2) Make sure we only pickup 3 files per 30 seconds
      •   3) Store into JMS queue
      •   4) Listen on JMS queue
      •   5) And upload file to FTP server




 36       © 2010 Progress Software Corporation
A little example



 Goals using Enterprise Integration Patterns




          1                        2             3       4     5



 Goals
      •   1) Pickup files from a directory
      •   2) Make sure we only pickup 3 files per 30 seconds
      •   3) Store into JMS queue
      •   4) Listen on JMS queue
      •   5) And upload file to FTP server

 37       © 2010 Progress Software Corporation
A little example



 Goals using Enterprise Integration Patterns




 from                    throttle                to   from     to
 Goals
      •   1) Pickup files from a directory
      •   2) Make sure we only pickup 3 files per 30 seconds
      •   3) Store into JMS queue
      •   4) Listen on JMS queue
      •   5) And upload file to FTP server

 38       © 2010 Progress Software Corporation
A little example



 Camel DSL in XML


 <camelContext>
  <route>
   <from uri="file:camellos/inbox?move=.done"/>
   <throttle maximumRequestsPerPeriod="3”
          timePeriodMillis="30000”>
     <to uri="activemq:queue:camellos"/>
   </throttle>
  </route>
  <route>
   <from uri="activemq:queue:camellos"/>
   <to uri="ftp://admin:secret@localhost:3333"/>
  </route>
 </camelContext>

 39   © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 40     © 2010 Progress Software Corporation
What's included in the box?



 Highlights of whats included in Camel




 41   © 2010 Progress Software Corporation
What's included in the box?



 50+ EIP patterns




  http://camel.apache.org/enterprise-integration-patterns.html

 42   © 2010 Progress Software Corporation
What's included in the box?



 70+ Components
           activemq                crypto     flatpack          irc           ldap

      activemq-journal               cxf     freemarker      javaspace   mail/imap/pop3

             amqp                   cxfrs    ftp/ftps/sftp      jbi          mina

             atom                 dataset        gae            jcr          mock

             bean                  direct       hdfs           jdbc           msv

       bean validation             esper     hibernate         jetty        nagios

            browse                 event         hl7            jms          netty

             cache                  exec         http           jpa           nmr

            cometd                   file       ibatis         jt/400        printer


                      http://camel.apache.org/components.html

 43   © 2010 Progress Software Corporation
What's included in the box?



 70+ Components
          properties              scalate             stream        xslt

             quartz                 seda          string-template   ejb

            quickfix               servlet             test

               ref                smooks              timer

             restlet               smpp             validation

              rmi                  snmp              velocity

              rnc            spring-integration        vm

               rng            spring-security         xmpp

               rss                   sql              xquery


                       http://camel.apache.org/components.html

 44   © 2010 Progress Software Corporation
What's included in the box?



 18 Data Formats
                                        bindy       protobuf
                                       castor      serialization
                                             csv      soap
                                       crypto      tidy markup
                                      flatpack     xml beans
                                         gzip      xml security
                                             hl7     xstream
                                         jaxb          zip
                                         json         dozer

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

 45   © 2010 Progress Software Corporation
What's included in the box?



 Data Format




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




 46   © 2010 Progress Software Corporation
What's included in the box?



 Predicates & Expressions


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


 47   © 2010 Progress Software Corporation
What's included in the box?



 DSL in 3 programming languages
                                                                                     Java
 XML

                                                         from(A).filter(isWidget).to(B);
<route>
 <from ref="A"/>
 <filter>
   <xpath>/quote/product = „widget‟</xpath>
   <to ref="B"/>
 </filter>
</route>
                                              from(A) filter(isWidget) --> B
                                                             Scala




 48    © 2010 Progress Software Corporation
What's included in the box?



 Type Converters




                         INFO DefaultTypeConverter
                         - Loaded 148 type converters

 49   © 2010 Progress Software Corporation
What's included in the box?



 Custom Type Converters

      @Converter
      public class MyTypeConverter {
        @Converter
        public String toString(MyOrder order) {
          StringBuilder sb = new StringBuilder();
          ...
          return sb.toString();
        }
      }
             # META-INF/services/org/apache/camel/TypeConverter
             com.acme.converters
                                             META-INF file in the JAR

 50   © 2010 Progress Software Corporation
What's included in the box?



 Powerful bean integration
      • Adapt to your beans
      • EIP as @annotations
         -   @Produce
         -   @Consume
         -   @DynamicRouter
         -   @RecipientList
         -   @RoutingSlip

       more to come in future releases ...




 51     © 2010 Progress Software Corporation
What's included in the box?



 Bean as Message Translator




 52   © 2010 Progress Software Corporation
What's included in the box?



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




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


    53     © 2010 Progress Software Corporation
What's included in the box?


  Bean Parameter Binding with XPath


      public class Foo {
        public String processOrder(
          String orderAsXml,
          @XPath(“/order/@id") String oid,
          @Header("JMSCorrelationID") String cid) {
              ...
        }
      }




 54    © 2010 Progress Software Corporation
What's included in the box?



 Sending message


        public class Foo {
         @Produce(uri = "activemq:foo.bar")
         ProducerTemplate producer;

            public void doSomething() {
              if (whatEver) {
                producer.sendBody("Hello World");
              }
            }

        }



 55   © 2010 Progress Software Corporation
What's included in the box?



 Receiving message


         public class Foo {

             @Consume(uri = "activemq:cheese")
             public void onCheese(String name) {
               ...
             }

         }




 56   © 2010 Progress Software Corporation
What's included in the box?



 Test Kit
      •   camel-test.jar
      •   JUnit based (3.x and 4.x)
      •   Supports Spring
      •   Easy to test
      •   Quick prototyping




 57       © 2010 Progress Software Corporation
What's included in the box?


                                         extend CamelTestSupport
 Test Kit from IDE
                                                                   Right Click ->
                                                                    Run
                                                                    Debug




                           Inline RouteBuilder




 58   © 2010 Progress Software Corporation
What's included in the box?



 Managed
      • JMX API
      • REST API




 59    © 2010 Progress Software Corporation
What's included in the box?



 Web console
      • REST API




 60    © 2010 Progress Software Corporation
What's included in the box?



 FuseSource Rider
      •




 61       © 2010 Progress Software Corporation
What's included in the box?



 Summary
      •   50+ EIP patterns
      •   70+ Connectivity components
      •   15+ Data formats
      •   10+ Languages
      •   DSL in multiple flavors (Java, XML, Scala, Groovy)
      •   Automatic type conversion
      •   Strong bean support
      •   Test Kit
      •   Management (JMX, REST)
      •   Web console




 62       © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 63     © 2010 Progress Software Corporation
Running Camel



 Riding the Camel




 64   © 2010 Progress Software Corporation
Running Camel



 Camel is not a server
 Camel is lightweight and embeddable
 Known Deployment Options
      •   Standalone Java Application            Known Containers
                                                 Apache ServiceMix
      •   Web Application
                                                 Apache ActiveMQ
      •   J2EE Application                       Apache Tomcat
      •   JBI                                    Jetty
                                                 JBoss
      •   OSGi                                   IBM WebSphere
      •   Google App Engine                      BEA WebLogic
                                                 Oracle OC4j
      •   Java Web Start
                                                 GAE
      •   Spring Application                     ... others




 65       © 2010 Progress Software Corporation
Running Camel



 Java Application

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



 Spring Application
       <camelContext>
        <package>com.acme.quotes</package>
       </camelContext>




 66     © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 67     © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example by Jonathan Anstey
        http://architects.dzone.com/articles/apache-camel-integration




 68   © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 3 Routes

                                             1




 69   © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 3 Routes

                                             1




          2




 70   © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 3 Routes

                                             1




                                                 3
          2




 71   © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 1st Route
                from                    1


                                            to

 public class Route1 extends RouteBuilder {

     public void configure() throws Exception {
       from("ftp:user@rider.com?password=secret")
         .to("activemq:queue:incoming");
     }
 }
  72    © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 2nd Route

                                from                      to
                                                     2

       public class Route2 extends RouteBuilder {

           public void configure() throws Exception {
             from("jetty:http://localhost:8080/orders")
               .inOnly("activemq:queue:incoming")
               .transform().constant("OK");
           }
       }



  73       © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 3rd Route

                                                              3
                      from                               to


                         choice

                                       route on next slide



  74   © 2010 Progress Software Corporation
Another Example



 Rider Auto Parts Example - 3rd Route
       public class Route3 extends RouteBuilder {
        public void configure() throws Exception {
         JaxbDataFormat jaxb = new JaxbDataFormat("com.rider");

               from("activemq:queue:incoming")
                 .convertBodyTo(String.class)
                 .choice()
                   .when().method("helper”, "isXml")
                    .unmarshal(jaxb)
                    .to("activemq:queue:order")
                   .when().method("helper”, "isCsv")
                    .unmarshal().csv()
                    .beanRef("orderService”, "csvToXml")
                    .to("activemq:queue:order")
           }
       }



  75       © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 76     © 2010 Progress Software Corporation
The Camel Community



 Camel website
      • 52% increase (2010 over 2009)
      • Average 2200 visits per weekday (2000 - 2500)

 High activity on mailing list




 77     © 2010 Progress Software Corporation
The Camel Community



 20 committers

 High commit activity




                                             http://markmail.org/


 78   © 2010 Progress Software Corporation
The Camel Community



 Books - Bestseller
      • Manning top-15 year to date (2010)




                                #10


 79     © 2010 Progress Software Corporation
The Camel Community



 JIRA tickets

                                        Total           3106

                                        Open          136 (4%)

                                    Resolved        2970 (96%)

                                        Bugs        2 (2% open)

                                  Oldest Bug          Dec 2009

                                             Sep 6th 2010



 80   © 2010 Progress Software Corporation
The Camel Community



 A lot in each new release

                  Release                     Date       Tickets
                 Camel 2.0                   Aug 2009     760
                 Camel 2.1                   Dec 2009     303
                 Camel 2.2                   Feb 2010     180
                 Camel 2.3                   May 2010     278
                 Camel 2.4                   July 2010    182
                 Camel 2.5                   Sep 2010     170+



 81   © 2010 Progress Software Corporation
The Camel Community



 3rd party integrating Camel
      •   Apache ServiceMix
      •   Apache ActiveMQ
      •   Apache James                           In Progress
      •   OpenESB                                • Smooks
      •   Progress Actional Diagnostics          • Doozer
      •   FuseHQ
      •   Open eHealth Integration Platform
      •   Grails Camel Plugin
      •   Play Framework
      •   Akka
      •   Scalate
      •   JBoss Drools
      •   JBoss ESB
 82       © 2010 Progress Software Corporation
Agenda



     The birth of Apache Camel
     What is Apache Camel
     A little example
     What's included in the box?
     Running Camel
     Another Example
     The Camel Community
     Q and A




 83     © 2010 Progress Software Corporation
Q and A



 Where do I get more information?
       Camel website: http://camel.apache.org
       Camel article: http://architects.dzone.com/articles/apache-camel-integration
       FuseSource website: http://fusesource.com
       Camel in Action book: http://manning.com/ibsen




 84   © 2010 Progress Software Corporation
Q and A




 85   © 2010 Progress Software Corporation

More Related Content

What's hot

Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
Kafka Connect & Streams - the ecosystem around Kafka
Kafka Connect & Streams - the ecosystem around KafkaKafka Connect & Streams - the ecosystem around Kafka
Kafka Connect & Streams - the ecosystem around KafkaGuido Schmutz
 
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
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache CamelClaus Ibsen
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignMichael Noll
 
Terraform introduction
Terraform introductionTerraform introduction
Terraform introductionJason Vance
 
Terraform Introduction
Terraform IntroductionTerraform Introduction
Terraform Introductionsoniasnowfrog
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David AndersonVerverica
 
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
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
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
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowAnton Babenko
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Flink Forward
 
Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionDataWorks Summit
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeMartin Schütte
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraformJulien Pivotto
 

What's hot (20)

Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Vagrant
Vagrant Vagrant
Vagrant
 
Kafka Connect & Streams - the ecosystem around Kafka
Kafka Connect & Streams - the ecosystem around KafkaKafka Connect & Streams - the ecosystem around Kafka
Kafka Connect & Streams - the ecosystem around Kafka
 
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
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache Camel
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
 
Advanced Terraform
Advanced TerraformAdvanced Terraform
Advanced Terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform introduction
Terraform introductionTerraform introduction
Terraform introduction
 
Terraform Introduction
Terraform IntroductionTerraform Introduction
Terraform Introduction
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
 
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
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
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
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data Ingestion
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 

Similar to Introduction to Apache Camel Components

Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationClaus Ibsen
 
Introductiontoapachecamel 110131060022-phpapp01
Introductiontoapachecamel 110131060022-phpapp01Introductiontoapachecamel 110131060022-phpapp01
Introductiontoapachecamel 110131060022-phpapp01dheeraj kumar
 
Peter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsPeter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsSkills Matter
 
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)robinzimmermann
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel ComponentsChristian Posta
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricPatryk Bandurski
 
Solving Enterprise Integration with Apache Camel
Solving Enterprise Integration with Apache CamelSolving Enterprise Integration with Apache Camel
Solving Enterprise Integration with Apache CamelChristian Posta
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformNicola Ferraro
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsIBM UrbanCode Products
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyJean-Sebastien Delfino
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesByreddy Sravan Kumar Reddy
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsJeff Potts
 
São Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricSão Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricGuilherme Pereira Silva
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
 

Similar to Introduction to Apache Camel Components (20)

Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentation
 
Introductiontoapachecamel 110131060022-phpapp01
Introductiontoapachecamel 110131060022-phpapp01Introductiontoapachecamel 110131060022-phpapp01
Introductiontoapachecamel 110131060022-phpapp01
 
Peter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-appsPeter lubbers-html5-offline-web-apps
Peter lubbers-html5-offline-web-apps
 
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel Components
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
 
EIP In Practice
EIP In PracticeEIP In Practice
EIP In Practice
 
Solving Enterprise Integration with Apache Camel
Solving Enterprise Integration with Apache CamelSolving Enterprise Integration with Apache Camel
Solving Enterprise Integration with Apache Camel
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platform
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with Plugins
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
 
Making Apache Camel work for you
Making Apache Camel work for you Making Apache Camel work for you
Making Apache Camel work for you
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Mule meetup 25thjan
Mule meetup 25thjanMule meetup 25thjan
Mule meetup 25thjan
 
São Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime FabricSão Paulo MuleSoft Meetup #5 - Runtime Fabric
São Paulo MuleSoft Meetup #5 - Runtime Fabric
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 

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
 
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
 
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 - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - FredericiaClaus 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
 
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
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration libraryClaus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesClaus 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
 
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
 
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 - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
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...
 
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
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Introduction to Apache Camel Components

  • 1. Introduction to Apache Camel Claus Ibsen Principal Software Engineer, FuseSource September 2010 1
  • 2. When you joined today‟s session … Audio is broadcast from your computer Submit your questions via the Chat Window Contact today‟s Host via the Chat Window
  • 3. Today's speaker - Claus Ibsen  Principal Software Engineer at FuseSource • Full time Apache Camel hacker  Apache Camel committer  Co-author of Camel in Action book • Available in late 2010  Contact • claus.ibsen@fusesource.com • http://davsclaus.blogspot.com/ • http://twitter.com/davsclaus http://www.manning.com/ibsen 3 © 2010 Progress Software Corporation
  • 4. Why the name Camel? Camel is easy to remember and type 4 © 2010 Progress Software Corporation
  • 5. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 5 © 2010 Progress Software Corporation
  • 6. The birth of Apache Camel • Camel’s parents 6 © 2010 Progress Software Corporation
  • 7. The birth of Apache Camel  Initial Commit Log r519901 | jstrachan | 2007-03-19 11:54:57 +0100 (Mon, 19 Mar 2007) | 1 line Initial checkin of Camel routing library  Apache Camel 1.0 released June 2007  Apache Camel is 3 years old 7 © 2010 Progress Software Corporation
  • 8. The birth of Apache Camel  My initial commit r640963 | davsclaus | 2008-03-25 21:07:10 +0100 (Tue, 25 Mar 2008) | 1 line Added unit test for mistyped URI 8 © 2010 Progress Software Corporation
  • 9. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 9 © 2010 Progress Software Corporation
  • 10. What is Apache Camel  Quote from the web site Apache Camel is a Powerful Open Source Integration Framework based on known Enterprise Integration Patterns 10 © 2010 Progress Software Corporation
  • 11. What is Apache Camel  Why do we need Integration? • Your apps are build using different tech stacks • Critical for your business to integrate  Why Integration Framework? • Framework do the heavy lifting • Focus on business problem • Not "reinventing the wheel" 11 © 2010 Progress Software Corporation
  • 12. What is Apache Camel  What is Enterprise Integration Patterns? 12 © 2010 Progress Software Corporation
  • 13. What is Apache Camel  What is Enterprise Integration Patterns? 13 © 2010 Progress Software Corporation
  • 14. What is Apache Camel  What is Enterprise Integration Patterns? Its a book 14 © 2010 Progress Software Corporation
  • 15. What is Apache Camel  Lets look at one of the patterns 15 © 2010 Progress Software Corporation
  • 16. What is Apache Camel  Use Case ActiveMQ WebSphereMQ 16 © 2010 Progress Software Corporation
  • 17. What is Apache Camel  Filter Pattern 17 © 2010 Progress Software Corporation
  • 18. What is Apache Camel  Filter Pattern from filter send to A message B 18 © 2010 Progress Software Corporation
  • 19. What is Apache Camel  Filter Pattern from(A) filter(predicate) to(B) 19 © 2010 Progress Software Corporation
  • 20. What is Apache Camel  Filter Pattern from(A) .filter(isWidget) .to(B) 20 © 2010 Progress Software Corporation
  • 21. What is Apache Camel  Filter Route from(A).filter(isWidget).to(B); 21 © 2010 Progress Software Corporation
  • 22. What is Apache Camel  Filter Route isWidget = xpath(“/quote/product = „widget‟”); from(A).filter(isWidget).to(B); 22 © 2010 Progress Software Corporation
  • 23. What is Apache Camel  Filter Route Endpoint A = endpoint(“activemq:queue:quote”); Endpoint B = endpoint(“mq:quote”); Predicate isWidget = xpath(“/quote/product = „widget‟”); from(A).filter(isWidget).to(B); 23 © 2010 Progress Software Corporation
  • 24. What is Apache Camel  Filter Route - Java DSL 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 © 2010 Progress Software Corporation
  • 25. What is Apache Camel  Filter Route - Java DSL import org.apache.camel.builder.RouteBuilder; import static org.apache.camel.builder.xml.XPathBuilder.xpath; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = „widget‟"); from(A).filter(isWidget).to(B); } } 25 © 2010 Progress Software Corporation
  • 26. What is Apache Camel  Filter Route - Java DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =„widget‟") .to("mq:quote"); } } 26 © 2010 Progress Software Corporation
  • 27. What is Apache Camel  IDE Tooling Code Assistance JavaDoc 27 © 2010 Progress Software Corporation
  • 28. What is Apache Camel  IDE Tooling Code Assistance 28 © 2010 Progress Software Corporation
  • 29. What is Apache Camel  Lets look at the most famous pattern 29 © 2010 Progress Software Corporation
  • 30. What is Apache Camel  Content Based Router 30 © 2010 Progress Software Corporation
  • 31. What is Apache Camel  Content Based Router - Spring XML <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> 31 © 2010 Progress Software Corporation
  • 32. What is Apache Camel  Content Based Router - Java DSL from("activemq:NewOrders") .choice() .when().xpath(“/order/product = 'widget'”) .to(“activemq:Orders.Widget”) .otherwise() .to(“acitvemq:Orders.Gadget”); 32 © 2010 Progress Software Corporation
  • 33. What is Apache Camel  Summary • Camel is an integration framework • Based on Enterprise Integration Patterns • Routing and mediation • Easy to use DSL to define routes • No heavy specification • No container dependency • Payload agnostic • Connectivity to a great wealth of transports 33 © 2010 Progress Software Corporation
  • 34. What is Apache Camel  Mission Statement Making integration easier and more accessible to developers 34 © 2010 Progress Software Corporation
  • 35. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 35 © 2010 Progress Software Corporation
  • 36. A little example  Based on community user (Gunnar Hillert) • http://hillert.blogspot.com/2009/09/camellos-discovering-apache- camel-ii.html  Goals • 1) Pickup files from a directory • 2) Make sure we only pickup 3 files per 30 seconds • 3) Store into JMS queue • 4) Listen on JMS queue • 5) And upload file to FTP server 36 © 2010 Progress Software Corporation
  • 37. A little example  Goals using Enterprise Integration Patterns 1 2 3 4 5  Goals • 1) Pickup files from a directory • 2) Make sure we only pickup 3 files per 30 seconds • 3) Store into JMS queue • 4) Listen on JMS queue • 5) And upload file to FTP server 37 © 2010 Progress Software Corporation
  • 38. A little example  Goals using Enterprise Integration Patterns from throttle to from to  Goals • 1) Pickup files from a directory • 2) Make sure we only pickup 3 files per 30 seconds • 3) Store into JMS queue • 4) Listen on JMS queue • 5) And upload file to FTP server 38 © 2010 Progress Software Corporation
  • 39. A little example  Camel DSL in XML <camelContext> <route> <from uri="file:camellos/inbox?move=.done"/> <throttle maximumRequestsPerPeriod="3” timePeriodMillis="30000”> <to uri="activemq:queue:camellos"/> </throttle> </route> <route> <from uri="activemq:queue:camellos"/> <to uri="ftp://admin:secret@localhost:3333"/> </route> </camelContext> 39 © 2010 Progress Software Corporation
  • 40. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 40 © 2010 Progress Software Corporation
  • 41. What's included in the box?  Highlights of whats included in Camel 41 © 2010 Progress Software Corporation
  • 42. What's included in the box?  50+ EIP patterns http://camel.apache.org/enterprise-integration-patterns.html 42 © 2010 Progress Software Corporation
  • 43. What's included in the box?  70+ Components activemq crypto flatpack irc ldap activemq-journal cxf freemarker javaspace mail/imap/pop3 amqp cxfrs ftp/ftps/sftp jbi mina atom dataset gae jcr mock bean direct hdfs jdbc msv bean validation esper hibernate jetty nagios browse event hl7 jms netty cache exec http jpa nmr cometd file ibatis jt/400 printer http://camel.apache.org/components.html 43 © 2010 Progress Software Corporation
  • 44. What's included in the box?  70+ Components properties scalate stream xslt quartz seda string-template ejb quickfix servlet test ref smooks timer restlet smpp validation rmi snmp velocity rnc spring-integration vm rng spring-security xmpp rss sql xquery http://camel.apache.org/components.html 44 © 2010 Progress Software Corporation
  • 45. What's included in the box?  18 Data Formats bindy protobuf castor serialization csv soap crypto tidy markup flatpack xml beans gzip xml security hl7 xstream jaxb zip json dozer http://camel.apache.org/data-format.html 45 © 2010 Progress Software Corporation
  • 46. What's included in the box?  Data Format from("activemq:QueueWithJavaObjects”) .marshal().jaxb() .to("mq:QueueWithXmlMessages"); 46 © 2010 Progress Software Corporation
  • 47. What's included in the box?  Predicates & Expressions BeanShell PHP EL Python Groovy Ruby JavaScript Simple JSR 223 SQL OGNL XPath MVEL XQuery http://camel.apache.org/languages.html 47 © 2010 Progress Software Corporation
  • 48. What's included in the box?  DSL in 3 programming languages Java XML from(A).filter(isWidget).to(B); <route> <from ref="A"/> <filter> <xpath>/quote/product = „widget‟</xpath> <to ref="B"/> </filter> </route> from(A) filter(isWidget) --> B Scala 48 © 2010 Progress Software Corporation
  • 49. What's included in the box?  Type Converters INFO DefaultTypeConverter - Loaded 148 type converters 49 © 2010 Progress Software Corporation
  • 50. What's included in the box?  Custom Type Converters @Converter public class MyTypeConverter { @Converter public String toString(MyOrder order) { StringBuilder sb = new StringBuilder(); ... return sb.toString(); } } # META-INF/services/org/apache/camel/TypeConverter com.acme.converters META-INF file in the JAR 50 © 2010 Progress Software Corporation
  • 51. What's included in the box?  Powerful bean integration • Adapt to your beans • EIP as @annotations - @Produce - @Consume - @DynamicRouter - @RecipientList - @RoutingSlip more to come in future releases ... 51 © 2010 Progress Software Corporation
  • 52. What's included in the box?  Bean as Message Translator 52 © 2010 Progress Software Corporation
  • 53. What's included in the box?  Bean as Message Translator from("activemq:Incoming”). beanRef("myBeanName”, “someMethod"). to("activemq:Outgoing"); public class Foo { public String someMethod(String name) { return “Hello “ + name; } } 53 © 2010 Progress Software Corporation
  • 54. What's included in the box?  Bean Parameter Binding with XPath public class Foo { public String processOrder( String orderAsXml, @XPath(“/order/@id") String oid, @Header("JMSCorrelationID") String cid) { ... } } 54 © 2010 Progress Software Corporation
  • 55. What's included in the box?  Sending message public class Foo { @Produce(uri = "activemq:foo.bar") ProducerTemplate producer; public void doSomething() { if (whatEver) { producer.sendBody("Hello World"); } } } 55 © 2010 Progress Software Corporation
  • 56. What's included in the box?  Receiving message public class Foo { @Consume(uri = "activemq:cheese") public void onCheese(String name) { ... } } 56 © 2010 Progress Software Corporation
  • 57. What's included in the box?  Test Kit • camel-test.jar • JUnit based (3.x and 4.x) • Supports Spring • Easy to test • Quick prototyping 57 © 2010 Progress Software Corporation
  • 58. What's included in the box? extend CamelTestSupport  Test Kit from IDE Right Click -> Run Debug Inline RouteBuilder 58 © 2010 Progress Software Corporation
  • 59. What's included in the box?  Managed • JMX API • REST API 59 © 2010 Progress Software Corporation
  • 60. What's included in the box?  Web console • REST API 60 © 2010 Progress Software Corporation
  • 61. What's included in the box?  FuseSource Rider • 61 © 2010 Progress Software Corporation
  • 62. What's included in the box?  Summary • 50+ EIP patterns • 70+ Connectivity components • 15+ Data formats • 10+ Languages • DSL in multiple flavors (Java, XML, Scala, Groovy) • Automatic type conversion • Strong bean support • Test Kit • Management (JMX, REST) • Web console 62 © 2010 Progress Software Corporation
  • 63. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 63 © 2010 Progress Software Corporation
  • 64. Running Camel  Riding the Camel 64 © 2010 Progress Software Corporation
  • 65. Running Camel  Camel is not a server  Camel is lightweight and embeddable  Known Deployment Options • Standalone Java Application Known Containers Apache ServiceMix • Web Application Apache ActiveMQ • J2EE Application Apache Tomcat • JBI Jetty JBoss • OSGi IBM WebSphere • Google App Engine BEA WebLogic Oracle OC4j • Java Web Start GAE • Spring Application ... others 65 © 2010 Progress Software Corporation
  • 66. Running Camel  Java Application CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start();  Spring Application <camelContext> <package>com.acme.quotes</package> </camelContext> 66 © 2010 Progress Software Corporation
  • 67. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 67 © 2010 Progress Software Corporation
  • 68. Another Example  Rider Auto Parts Example by Jonathan Anstey http://architects.dzone.com/articles/apache-camel-integration 68 © 2010 Progress Software Corporation
  • 69. Another Example  Rider Auto Parts Example - 3 Routes 1 69 © 2010 Progress Software Corporation
  • 70. Another Example  Rider Auto Parts Example - 3 Routes 1 2 70 © 2010 Progress Software Corporation
  • 71. Another Example  Rider Auto Parts Example - 3 Routes 1 3 2 71 © 2010 Progress Software Corporation
  • 72. Another Example  Rider Auto Parts Example - 1st Route from 1 to public class Route1 extends RouteBuilder { public void configure() throws Exception { from("ftp:user@rider.com?password=secret") .to("activemq:queue:incoming"); } } 72 © 2010 Progress Software Corporation
  • 73. Another Example  Rider Auto Parts Example - 2nd Route from to 2 public class Route2 extends RouteBuilder { public void configure() throws Exception { from("jetty:http://localhost:8080/orders") .inOnly("activemq:queue:incoming") .transform().constant("OK"); } } 73 © 2010 Progress Software Corporation
  • 74. Another Example  Rider Auto Parts Example - 3rd Route 3 from to choice route on next slide 74 © 2010 Progress Software Corporation
  • 75. Another Example  Rider Auto Parts Example - 3rd Route public class Route3 extends RouteBuilder { public void configure() throws Exception { JaxbDataFormat jaxb = new JaxbDataFormat("com.rider"); from("activemq:queue:incoming") .convertBodyTo(String.class) .choice() .when().method("helper”, "isXml") .unmarshal(jaxb) .to("activemq:queue:order") .when().method("helper”, "isCsv") .unmarshal().csv() .beanRef("orderService”, "csvToXml") .to("activemq:queue:order") } } 75 © 2010 Progress Software Corporation
  • 76. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 76 © 2010 Progress Software Corporation
  • 77. The Camel Community  Camel website • 52% increase (2010 over 2009) • Average 2200 visits per weekday (2000 - 2500)  High activity on mailing list 77 © 2010 Progress Software Corporation
  • 78. The Camel Community  20 committers  High commit activity http://markmail.org/ 78 © 2010 Progress Software Corporation
  • 79. The Camel Community  Books - Bestseller • Manning top-15 year to date (2010) #10 79 © 2010 Progress Software Corporation
  • 80. The Camel Community  JIRA tickets Total 3106 Open 136 (4%) Resolved 2970 (96%) Bugs 2 (2% open) Oldest Bug Dec 2009 Sep 6th 2010 80 © 2010 Progress Software Corporation
  • 81. The Camel Community  A lot in each new release Release Date Tickets Camel 2.0 Aug 2009 760 Camel 2.1 Dec 2009 303 Camel 2.2 Feb 2010 180 Camel 2.3 May 2010 278 Camel 2.4 July 2010 182 Camel 2.5 Sep 2010 170+ 81 © 2010 Progress Software Corporation
  • 82. The Camel Community  3rd party integrating Camel • Apache ServiceMix • Apache ActiveMQ • Apache James In Progress • OpenESB • Smooks • Progress Actional Diagnostics • Doozer • FuseHQ • Open eHealth Integration Platform • Grails Camel Plugin • Play Framework • Akka • Scalate • JBoss Drools • JBoss ESB 82 © 2010 Progress Software Corporation
  • 83. Agenda  The birth of Apache Camel  What is Apache Camel  A little example  What's included in the box?  Running Camel  Another Example  The Camel Community  Q and A 83 © 2010 Progress Software Corporation
  • 84. Q and A  Where do I get more information? Camel website: http://camel.apache.org Camel article: http://architects.dzone.com/articles/apache-camel-integration FuseSource website: http://fusesource.com Camel in Action book: http://manning.com/ibsen 84 © 2010 Progress Software Corporation
  • 85. Q and A 85 © 2010 Progress Software Corporation