Enterprise Integration Patterns and DSL with Apache Camel

2,102 views
2,028 views

Published on

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

No Downloads
Views
Total views
2,102
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
137
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Enterprise Integration Patterns and DSL with Apache Camel

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

×