Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Master your integration projects on premise and in the cloud with fuse tooling

205 views

Published on

Fuse Tooling is a powerful Integrated Development Environment for integrations projects based on Apache Camel and Jboss Fuse. During the talk, I will show the best features of Fuse Tooling which had a reworked UI this year:

how to graphically defines Camel routes
how to graphically debug your Camel routes
how to leverage the IDE with OpenShift as target platform
Apache Camel is an integration framework based on Enterprise Integration Patterns. It empowers developers to define routing and mediation rules. JBoss Fuse is the productized version of Apache Camel provided by Red Hat. It helps you to configure and deploy in tested and supported environments. Environments that can be on-premise or in the Cloud.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Master your integration projects on premise and in the cloud with fuse tooling

  1. 1. MASTER YOUR INTEGRATION PROJECTS ON-PREMISE AND IN THE CLOUD WITH FUSE TOOLING Aurélien Pupier Senior Software Engineer in Fuse Tooling Team 12/04/17 @apupier
  2. 2. INSERT DESIGNATOR, IF NEEDED Integration Project 2 ●Heterogeneity ○Technology ○Teams ●Large size ⇒Complex
  3. 3. INSERT DESIGNATOR, IF NEEDED Enterprise Integration Patterns 3 “Recipes” to handle complexity in Integration projects
  4. 4. INSERT DESIGNATOR, IF NEEDED Apache Camel 4 Well-established Open-source integration framework based on known Enterprise Integration Patterns
  5. 5. INSERT DESIGNATOR, IF NEEDED well-established? 5 2007 2017
  6. 6. INSERT DESIGNATOR, IF NEEDED Apache Camel - EIP 6 ●Messaging Channels ●Message Construction ●Message Routing ●Message Transformation ●Messaging Endpoints ●System Management
  7. 7. INSERT DESIGNATOR, IF NEEDED Apache Camel - Components 7 ●200+ by default ●Extensible
  8. 8. INSERT DESIGNATOR, IF NEEDED Apache Camel - Components 8
  9. 9. INSERT DESIGNATOR, IF NEEDED Apache Camel - DSL 9 ●Domain Specific Languages: ○Spring XML ○Blueprint XML ○Java
  10. 10. Dive into with an example: Content-based router pattern
  11. 11. INSERT DESIGNATOR, IF NEEDED Content-based router 1
  12. 12. INSERT DESIGNATOR, IF NEEDED Content-based router 1
  13. 13. INSERT DESIGNATOR, IF NEEDED Content-based router 1
  14. 14. INSERT DESIGNATOR, IF NEEDED Content-based router 1
  15. 15. INSERT DESIGNATOR, IF NEEDED CBR xml 1 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  16. 16. INSERT DESIGNATOR, IF NEEDED CBR xml - consumer 1 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  17. 17. INSERT DESIGNATOR, IF NEEDED CBR xml - endpoint type 1 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  18. 18. INSERT DESIGNATOR, IF NEEDED CBR xml - endpoint parameters 1 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  19. 19. INSERT DESIGNATOR, IF NEEDED CBR xml - choice 1 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  20. 20. INSERT DESIGNATOR, IF NEEDED CBR xml - expression language 2 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  21. 21. INSERT DESIGNATOR, IF NEEDED CBR xml - producer 2 <from uri="file:work/cbr/input"/> <choice> <when> <xpath>/order/customer/country = 'UK'</xpath> <to uri="file:work/cbr/output/uk"/> </when> <when> <xpath>/order/customer/country = 'US'</xpath> <to uri="file:work/cbr/output/us"/> </when> <otherwise> <to uri="file:work/cbr/output/others"/> </otherwise> </choice>
  22. 22. INSERT DESIGNATOR, IF NEEDED CBR Java 2 from("file:work/cbr/input") .choice() .when().xpath("//order/customer/country[text() = 'UK']") .to("file:work/cbr/output/uk") .when().xpath("//order/customer/country[text() = 'US']") .to("file:work/cbr/output/us") .otherwise() .to("file:work/cbr/output/others");
  23. 23. INSERT DESIGNATOR, IF NEEDED CBR Java - consumer 2 from("file:work/cbr/input") .choice() .when().xpath("//order/customer/country[text() = 'UK']") .to("file:work/cbr/output/uk") .when().xpath("//order/customer/country[text() = 'US']") .to("file:work/cbr/output/us") .otherwise() .to("file:work/cbr/output/others");
  24. 24. INSERT DESIGNATOR, IF NEEDED CBR Java - consumer 2 from("file:work/cbr/input") .choice() .when().xpath("//order/customer/country[text() = 'UK']") .to("file:work/cbr/output/uk") .when().xpath("//order/customer/country[text() = 'US']") .to("file:work/cbr/output/us") .otherwise() .to("file:work/cbr/output/others");
  25. 25. INSERT DESIGNATOR, IF NEEDED CBR Java - consumer 2 from("file:work/cbr/input") .choice() .when().xpath("//order/customer/country[text() = 'UK']") .to("file:work/cbr/output/uk") .when().xpath("//order/customer/country[text() = 'US']") .to("file:work/cbr/output/us") .otherwise() .to("file:work/cbr/output/others");
  26. 26. INSERT DESIGNATOR, IF NEEDED CBR graphic 2
  27. 27. INSERT DESIGNATOR, IF NEEDED Apache Camel and Fuse Tooling 2 ● Fuse: ○ productized Camel version ●Fuse Tooling: ○focused on Fuse ○community version working
  28. 28. INSERT DESIGNATOR, IF NEEDED Fuse Tooling - IDE 2 ● Graphical route definition ●Validation ●Debugging ●Testing ●Completion ●Integration with servers: ○On-premise: Jboss Fuse, EAP ○Cloud: OpenShift using Fuse Integration Services
  29. 29. INSERT DESIGNATOR, IF NEEDED Fuse Tooling - templates 2
  30. 30. Fuse Tooling demo
  31. 31. Integrate with pleasure! plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHatNews
  32. 32. INSERT DESIGNATOR, IF NEEDED References 3 ● Apache Camel ● Apache Camel EIPs ●Fuse download

×