Camels in Berlin

1,526 views

Published on

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,526
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
56
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Camels in Berlin

  1. 1. Apache  CamelCamel  in  Berlinby  Claus  Ibsen@davsclaus A  Progress  So3ware  Company1 Copyright  ©  2010  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  2. 2. Camel  in  Berlin2 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  3. 3. Agenda Your  speaker What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A3 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  4. 4. Who  is  Claus  Ibsen? Principal  So3ware  Engineer  at  FuseSource Apache  Camel • 4.5  years  working  with  Camel Author  of  Camel  in  Ac6on  book Contact •  TwiKer:  @davsclaus •  Blog:  hKp://davsclaus.blogspot.com •  Email:  cibsen@fusesource.com hKp://manning.com/ibsen4 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  5. 5. Why  the  name  Camel? What  does  Camel  stand  for? Concise Application Messaging Exchange Language hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html5 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  6. 6. Why  the  name  Camel? The  reason  for  the  Camel  name Camel  is  easy  to  remember  and  type hKp://camel.apache.org/why-­‐the-­‐name-­‐camel.html6 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  7. 7. The  birth  of  Camel  Camel’s  parents7 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  8. 8. The  birth  of  Camel First  commit r519901  |  jstrachan  |  2007-­‐03-­‐19  11:54:57  +0100 (Mon,  19  Mar  2007)  |  1  line Ini?al  checkin  of  Camel  rou?ng  library Camel  1.0  released  June  20078 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  9. 9. The  birth  of  Camel My  ini6al  commit r640963  |  davsclaus  |  2008-­‐03-­‐25  21:07:10  +0100 (Tue,  25  Mar  2008)  |  1  line Added  unit  test  for  mistyped  URI9 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  10. 10. Agenda Your  speaker What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A10 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  11. 11. What  is  Apache  Camel? Quote  from  the  web  site   •  hKp://camel.apache.org Camel  is  a  powerful Open  Source Integra6on  Framework based  on  known Enterprise  Integra6on  PaKerns11 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  12. 12. What  is  Apache  Camel? Why  do  we  need  integra6on? •  Your  apps  are  build  using  different  tech  stacks •  Cri6cal  for  your  business  to  integrate Why  Integra6on  Framework? •  Framework  do  the  heavy  li3ing •  Focus  on  business  problem   •  Not  "reinven6ng  the  wheel"12 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  13. 13. What  is  Apache  Camel? What  is  Enterprise  Integra6on  PaKerns? System  A System  B13 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  14. 14. What  is  Apache  Camel? What  is  Enterprise  Integra6on  PaKerns? Its  a  book 14 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  15. 15. What  is  Apache  Camel? Camel  and  EIP Ac6veMQ WebSphereMQ15 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  16. 16. What  is  Apache  Camel? Camel  and  EIP 16 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  17. 17. What  is  Apache  Camel? Camel  and  EIP from filter send  to A message B17 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  18. 18. What  is  Apache  Camel? Camel  and  EIP from(A) filter(predicate) to(B)18 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  19. 19. What  is  Apache  Camel? Camel  and  EIP from(A) .filter(isWidget) .to(B)19 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  20. 20. What  is  Apache  Camel? Camel  and  EIP from(A).filter(isWidget).to(B);20 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  21. 21. What  is  Apache  Camel? Camel  and  EIP isWidget  =  xpath("/quote/product  =  ‘widget’"); from(A).filter(isWidget).to(B);21 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  22. 22. What  is  Apache  Camel?  Camel  and  EIPEndpoint  A  =  endpoint("ac6vemq:queue:quote");Endpoint  B  =  endpoint("mq:quote");Predicate  isWidget  =  xpath("/quote/product  =  ‘widget’");from(A).filter(isWidget).to(B);22 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  23. 23. What  is  Apache  Camel? Filter  Routepublic void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B);}23 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  24. 24. What  is  Apache  Camel? Filter  Route  -­‐  Java  DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } } 24 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  25. 25. What  is  Apache  Camel? Filter  Route  -­‐  Java  DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } } 25 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  26. 26. What  is  Apache  Camel? Lets  look  at  the  most  famous  paKern26 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  27. 27. What  is  Apache  Camel? Content  Based  Router27 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  28. 28. What  is  Apache  Camel?  Content  Based  Router  -­‐  XML  DSL <camelContext> <route> <from uri="activemq:NewOrders"/> <choice> <when> <xpath>/order/product = widget</xpath> <to uri="activemq:Orders.Widgets"/> </when> <otherwise> <to uri="activemq:Orders.Gadgets"/> </otherwise> </choice> </route> </camelContext>28 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  29. 29. What  is  Apache  Camel?  Content  Based  Router  -­‐  Java  DSL from("activemq:NewOrders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");29 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  30. 30. What  is  Apache  Camel?  Endpoints  as  URIs use file instead from("file:inbox/orders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");30 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  31. 31. What  is  Apache  Camel?  Endpoints  as  URIs parameters from("file:inbox/orders?delete=true") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget");31 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  32. 32. What  is  Apache  Camel?  Camel  Architecture32 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  33. 33. What  is  Apache  Camel? Summary •  Integra6on  framework •  Enterprise  Integra6on  PaKerns  (EIP)   •  Rou6ng  (using  DSL) •  Easy  configura6on  (endpoints  as  URIs) •  No  heavy  specifica6on •  No  container  dependency •  Payload  agnos6c •  A  lot  of  components33 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  34. 34. Agenda Your  speaker What  is  Apache  Camel? A  liSle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A34 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  35. 35. A  liKle  example  What  is  a  Message? org.apache.camel.Message35 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  36. 36. A  liKle  example  ...  And  Message  is  contained  in  an  Exchange org.apache.camel.Exchange36 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  37. 37. A  liKle  example  File  Copier  Example37 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  38. 38. A  liKle  example  File  Copier  Example38 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  39. 39. A  liKle  example  File  Copier  Example39 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  40. 40. A  liKle  example  File  Copier  w/  Transforma6on  Example40 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  41. 41. Agenda Your  speaker What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A41 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  42. 42. Whats  included  in  the  box? Highlights  of  some  of  the  features          (  there  is  much  more  ) 42 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  43. 43. Whats  included  in  the  box? 50  Enterprise  Integra6on  PaKerns http://camel.apache.org/eip43 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  44. 44. Whats  included  in  the  box? SpliKer  EIP File Splitter Custom ActiveMQ -> XML from("file:inbox") .split(body().tokenize("n") .marshal(customToXml) .to("activemq:line");44 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  45. 45. Whats  included  in  the  box? 100  Components   activemq cxf flatpack jasypt activemq-journal cxfrs freemarker javaspace amqp dataset ftp/ftps/sftp jbi atom db4o gae jcr bean direct hdfs jdbc bean validation ejb hibernate jetty browse esper hl7 jms cache event http jmx cometd exec ibatis jpa crypto file irc jt/400 http://camel.apache.org/components.html45 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  46. 46. Whats  included  in  the  box? 100  Components   language properties seda stream ldap quartz servlet string-template mail/imap/pop3 quickfix sip test mina ref smooks timer mock restlet smpp validation msv rmi snmp velocity nagios rnc spring-integration vm netty rng spring-security xmpp nmr rss spring-ws xquery printer scalate sql xslt http://camel.apache.org/components.html46 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  47. 47. Whats  included  in  the  box? 22  Data  Formats   bindy json beanio protobuf castor rss csv serialization crypto soap dozer syslog flatpack tidy markup gzip xml beans hl7 xml security jaxb xstream jibx zip http://camel.apache.org/data-format.html47 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  48. 48. Whats  included  in  the  box? 16  Expression  Languages BeanShell PHP EL Python Groovy Ruby JavaScript Simple JoSQL SpEL JSR 223 SQL OGNL XPath MVEL XQuery hKp://camel.apache.org/languages.html48 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  49. 49. Whats  included  in  the  box? DSL  in  mul6ple  flavors Java <route> from(A).filter(isWidget).to(B); <from ref="A"/> <filter> <xpath>/quote/product = ‘widget’</xpath> <to ref="B"/> </filter> </route> Scala from(A) filter(isWidget) --> B49 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  50. 50. Whats  included  in  the  box? Test  Kit • JUnit • TestNG • Supports  Spring • Support  Blueprint • Easy  to  test • Quick  prototyping50 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  51. 51. Whats  included  in  the  box?  Test  Kit  from  IDE51 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  52. 52. Whats  included  in  the  box? Managed •  JMX  API •  REST  API52 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  53. 53. Graphical  Tooling Eclipse  -­‐  Fuse  IDE  (hKp://fusesource.com)53 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  54. 54. Whats  included  in  the  box? Error  Handling •  Errors  happen X54 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  55. 55. Whats  included  in  the  box? Error  Handling •  Try  ...  Catch  style from("activemq:incoming") .doTry() .marshal().jaxb() .to("mq:QueueWithXmlMessages") .doCatch(Exception.class) .to("activemq:error") .end();55 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  56. 56. Whats  included  in  the  box? Error  Handling •  Dead  LeKer  Channel  EIP errorHandler( deadLetterChannel("activemq:error") ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages");56 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  57. 57. Whats  included  in  the  box? Error  Handling •  Dead  LeKer  Channel  EIP  w/  Redelivery   errorHandler( deadLetterChannel("activemq:error") .maximumRedeliveries(5) .redeliveryDelay(5000) ); from("activemq:incoming") .marshal().jaxb() .to("mq:QueueWithXmlMessages");57 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  58. 58. Whats  included  in  the  box? Error  Handling •  Camel  End  User  Experience  (March  2012)  58 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  59. 59. Agenda Your  speaker   What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A59 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  60. 60. Running  Camel Deployment  Strategy •  No  container  dependency Known  Containers •  Lightweight Fuse  ESB Fuse  Message  Broker •  Embedable   Tomcat Deployment  Op6ons JeKy JBoss •  Standalone IBM  WebSphere •  WAR Oracle  WebLogic Oracle  OC4j •  Spring Glassfish •  JEE Google  App  Engine Amazon  EC2 •  OSGi ...  others •  Cloud60 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  61. 61. Running  Camel Java  Applica6on CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start();61 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  62. 62. Running  Camel Java  Client  Applica6on  (no  routes) CamelContext context = new DefaultCamelContext(); ProducerTemplate template = context.createProducerTemplate(); String data = ... String fileName = ... String uri = "ftp://myserver?username=foo&password=secret"; template.sendBodyAndHeader(uri, data, Exchange.FILE_NAME, fileName);62 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  63. 63. Running  Camel Spring  Applica6on <beans xmlns="http://www.springframework.org/schema/beans"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="file:/orders"/> ... </route> </camelContext> </beans>63 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  64. 64. Running  Camel  Spring-­‐DM  (OSGi)  Applica6on<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext></beans> 64 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  65. 65. Running  Camel  OSGi  Blueprint  Applica6on<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/spring/camel-blueprint.xsd"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="timer:foo?period=5000"/> <setBody> <constant>Hello World</constant> </setBody> <log message="The message contains ${body}"/> </route> </camelContext></blueprint> 65 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  66. 66. Agenda Your  speaker What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A66 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  67. 67. Live  Demos67 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  68. 68. TwiKer  &  Web-­‐Socket  Demo camel-­‐example-­‐twiKer-­‐websocket examples/camel-­‐example-­‐twiKer-­‐websocket$  mvn  compile  exec:java 68 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  69. 69. TwiKer  &  Web-­‐Socket  Demo • main  class69 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  70. 70. TwiKer  &  Web-­‐Socket  Demo70 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  71. 71. TwiKer  &  Web-­‐Socket  Demo71 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  72. 72. Groovy  Demo Groovy  Script HTTP Service Transform groovy  mycamel.groovy curl  hKp://localhost:808072 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  73. 73. Groovy  Demo Groovy  Script  (mycamel.groovy)73 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  74. 74. Groovy  Demo Groovy  Script  (mycamel.groovy  -­‐  cont.)74 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  75. 75. Create  New  Project  using  Maven Create  new  Project  using  Maven UK messages File Content Based Router Other messages mvn  archetype:generate (camel-­‐archetype-­‐spring) mvn  eclipse:eclipse mvn  camel:run75 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  76. 76. Agenda Your  speaker What  is  Apache  Camel? A  liKle  example Whats  included  in  the  box? Running  Camel Live  Demos Q  and  A76 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company
  77. 77. Q  and  A • TwiKer:  @davsclaus •  Blog:  hKp://davsclaus.blogspot.com •  Email:  cibsen@fusesource.com77 Copyright  ©  2012  Progress  So3ware  Corpora6on  and/or  its  subsidiaries  or  affiliates.  All  rights  reserved.   A  Progress  So3ware  Company

×