SlideShare ist ein Scribd-Unternehmen logo
1 von 20
What does Camel stand for?
Concise
Application
Messaging
Exchange
Language
About Me
 12 years in Software Industry
 Build software in Project Management, CAD/CAM, Banking, Education,
Ecommerce
 C++,C #.Net, Java, Scala, Akka, Spring, Node.JS, Vert.x, RDBMS, MongoDB
 www.Marutsingh.com
What is Apache Camel
 Quote from the web site
 http://camel.apache.org
Apache Camel is a
powerful Open Source
Integration Framework
based on known
Enterprise Integration Patterns
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"
What is Apache Camel
 What is Enterprise Integration Patterns?
What is Apache Camel
 Use Case
ActiveMQ REST Api
What is Apache Camel
 What is Enterprise Integration Patterns?
EIP
 Filter Pattern
from
A
send to
B
filter
message
Camel’s architecture
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);
Filter Route
import org.apache.camel.builder.RouteBuilder;
public class FilterRoute extends RouteBuilder {
public void configure() throws Exception {
Endpoint A = endpoint("activemq:queue:order");
Endpoint B = endpoint("mq:inventory");
Predicate isWidget = xpath("/quote/product = ‘widget’");
from(A).filter(isWidget).to(B);
}
}
Content Based Router
Content Based Route – Java DSL
from("activemq:orders")
.choice()
.when() .jsonpath(“$..order[?@.type==’cod’)]”)
.to("activemq:codOrders")
.otherwise()
.to("activemq:prepaidOrders");
Camel Components
 Summary
 Integration framework
 > 180 components out of the box
 Enterprise Integration Patterns (EIP)
 Routing and mediation
 Domain Specific Language (DSL)
 Endpoints as URIs
 Predicate and Expressions
 Very extensible and configurable
 No heavy specification
 No container dependency
 Payload agnostic
 Connectivity to a great wealth of transports
 Apache licensed
Code Example
 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
Goals using Enterprise Integration Patterns
from throttle to from to

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

RabbitMQ
RabbitMQ RabbitMQ
RabbitMQ
 
building microservices
building microservicesbuilding microservices
building microservices
 
Event Storming and Saga
Event Storming and SagaEvent Storming and Saga
Event Storming and Saga
 
Observability in Java: Getting Started with OpenTelemetry
Observability in Java: Getting Started with OpenTelemetryObservability in Java: Getting Started with OpenTelemetry
Observability in Java: Getting Started with OpenTelemetry
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Building APIs with Mule and Spring Boot
Building APIs with Mule and Spring BootBuilding APIs with Mule and Spring Boot
Building APIs with Mule and Spring Boot
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 
Clean Infrastructure as Code
Clean Infrastructure as Code Clean Infrastructure as Code
Clean Infrastructure as Code
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway
 
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
MuleSoft Surat Meetup#42 - Runtime Fabric Manager on Self Managed Kubernetes ...
 
Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with Kafka
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developers
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal Architecture
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 

Andere mochten auch

Andere mochten auch (20)

Integration with Camel
Integration with CamelIntegration with Camel
Integration with Camel
 
Java8 training - Class 1
Java8 training  - Class 1Java8 training  - Class 1
Java8 training - Class 1
 
Java8 training - class 2
Java8 training - class 2Java8 training - class 2
Java8 training - class 2
 
Java8 training - class 3
Java8 training - class 3Java8 training - class 3
Java8 training - class 3
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Building Applications with a Graph Database
Building Applications with a Graph DatabaseBuilding Applications with a Graph Database
Building Applications with a Graph Database
 
Integrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache SyncopeIntegrating Apache Camel with Apache Syncope
Integrating Apache Camel with Apache Syncope
 
What is concurrency
What is concurrencyWhat is concurrency
What is concurrency
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
 
Java8
Java8Java8
Java8
 
Jumping-with-java8
Jumping-with-java8Jumping-with-java8
Jumping-with-java8
 
Java Hands-On Workshop
Java Hands-On WorkshopJava Hands-On Workshop
Java Hands-On Workshop
 
Concurrency & Parallel Programming
Concurrency & Parallel ProgrammingConcurrency & Parallel Programming
Concurrency & Parallel Programming
 
Java day2016 "Reinventing design patterns with java 8"
Java day2016 "Reinventing design patterns with java 8"Java day2016 "Reinventing design patterns with java 8"
Java day2016 "Reinventing design patterns with java 8"
 
Why Transcriptome? Why RNA-Seq? ENCODE answers….
Why Transcriptome? Why RNA-Seq?  ENCODE answers….Why Transcriptome? Why RNA-Seq?  ENCODE answers….
Why Transcriptome? Why RNA-Seq? ENCODE answers….
 
Java Concurrency, Memory Model, and Trends
Java Concurrency, Memory Model, and TrendsJava Concurrency, Memory Model, and Trends
Java Concurrency, Memory Model, and Trends
 
Java Multithreading and Concurrency
Java Multithreading and ConcurrencyJava Multithreading and Concurrency
Java Multithreading and Concurrency
 
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsCamel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Simplify your integrations with Apache Camel
Simplify your integrations with Apache CamelSimplify your integrations with Apache Camel
Simplify your integrations with Apache Camel
 

Ähnlich wie Apache camel

Ed Sanford LinkedIn Resume
Ed Sanford LinkedIn ResumeEd Sanford LinkedIn Resume
Ed Sanford LinkedIn Resume
Ed Sanford
 
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
Amazon Web Services
 
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Amazon Web Services
 

Ähnlich wie Apache camel (20)

Ed Sanford LinkedIn Resume
Ed Sanford LinkedIn ResumeEd Sanford LinkedIn Resume
Ed Sanford LinkedIn Resume
 
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NETInventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
 
A Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaSA Multi-Company Perspective: Enterprise Cloud and PaaS
A Multi-Company Perspective: Enterprise Cloud and PaaS
 
Mohammed_Murtuza_EAI
Mohammed_Murtuza_EAIMohammed_Murtuza_EAI
Mohammed_Murtuza_EAI
 
Realize Value of Your Microsoft Investments- Transformation Day Philadelphia ...
Realize Value of Your Microsoft Investments- Transformation Day Philadelphia ...Realize Value of Your Microsoft Investments- Transformation Day Philadelphia ...
Realize Value of Your Microsoft Investments- Transformation Day Philadelphia ...
 
Realize Value of Your Microsoft Investments - AWS Transformation Day Boston 2018
Realize Value of Your Microsoft Investments - AWS Transformation Day Boston 2018Realize Value of Your Microsoft Investments - AWS Transformation Day Boston 2018
Realize Value of Your Microsoft Investments - AWS Transformation Day Boston 2018
 
Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AWS re:Invent...
Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AWS re:Invent...Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AWS re:Invent...
Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AWS re:Invent...
 
Realize Value of Your Microsoft Investments - AWS Transformation Days Raleigh...
Realize Value of Your Microsoft Investments - AWS Transformation Days Raleigh...Realize Value of Your Microsoft Investments - AWS Transformation Days Raleigh...
Realize Value of Your Microsoft Investments - AWS Transformation Days Raleigh...
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
 
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
Realize Value, Reduce Costs And Optimize the Value of Your Microsoft Investme...
 
Node: The Integration Fabric of the Future
Node: The Integration Fabric of the FutureNode: The Integration Fabric of the Future
Node: The Integration Fabric of the Future
 
Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5
 
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
Cost Optimization for Microsoft Workloads on AWS - AWS Transformation Day: Sa...
 
[REPEAT 2] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AW...
[REPEAT 2] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AW...[REPEAT 2] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AW...
[REPEAT 2] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R2) - AW...
 
[REPEAT] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R) - AWS r...
[REPEAT] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R) - AWS r...[REPEAT] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R) - AWS r...
[REPEAT] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R) - AWS r...
 
[REPEAT 1] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R1) - AW...
[REPEAT 1] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R1) - AW...[REPEAT 1] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R1) - AW...
[REPEAT 1] Iterating Towards a Cloud-Enabled IT Organization (ENT204-R1) - AW...
 
Shan _Java Architect
Shan _Java ArchitectShan _Java Architect
Shan _Java Architect
 
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
From AUI to Atlaskit - Streamlining Development for Server & Cloud AppsFrom AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
 
Realize Value of Your Microsoft Investments - Transformation Day Montreal 2018
Realize Value of Your Microsoft Investments - Transformation Day Montreal 2018Realize Value of Your Microsoft Investments - Transformation Day Montreal 2018
Realize Value of Your Microsoft Investments - Transformation Day Montreal 2018
 
Achievo ATK - A Business Framework (DPC 2007)
Achievo ATK - A Business Framework (DPC 2007)Achievo ATK - A Business Framework (DPC 2007)
Achievo ATK - A Business Framework (DPC 2007)
 

Kürzlich hochgeladen

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Kürzlich hochgeladen (20)

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
What is a Recruitment Management Software?
What is a Recruitment Management Software?What is a Recruitment Management Software?
What is a Recruitment Management Software?
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 

Apache camel

  • 1.
  • 2. What does Camel stand for? Concise Application Messaging Exchange Language
  • 3. About Me  12 years in Software Industry  Build software in Project Management, CAD/CAM, Banking, Education, Ecommerce  C++,C #.Net, Java, Scala, Akka, Spring, Node.JS, Vert.x, RDBMS, MongoDB  www.Marutsingh.com
  • 4. What is Apache Camel  Quote from the web site  http://camel.apache.org Apache Camel is a powerful Open Source Integration Framework based on known Enterprise Integration Patterns
  • 5. 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"
  • 6. What is Apache Camel  What is Enterprise Integration Patterns?
  • 7. What is Apache Camel  Use Case ActiveMQ REST Api
  • 8. What is Apache Camel  What is Enterprise Integration Patterns?
  • 9. EIP
  • 10.  Filter Pattern from A send to B filter message
  • 11.
  • 13. 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);
  • 14. Filter Route import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:order"); Endpoint B = endpoint("mq:inventory"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } }
  • 16. Content Based Route – Java DSL from("activemq:orders") .choice() .when() .jsonpath(“$..order[?@.type==’cod’)]”) .to("activemq:codOrders") .otherwise() .to("activemq:prepaidOrders");
  • 18.  Summary  Integration framework  > 180 components out of the box  Enterprise Integration Patterns (EIP)  Routing and mediation  Domain Specific Language (DSL)  Endpoints as URIs  Predicate and Expressions  Very extensible and configurable  No heavy specification  No container dependency  Payload agnostic  Connectivity to a great wealth of transports  Apache licensed
  • 19. Code Example  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
  • 20. Goals using Enterprise Integration Patterns from throttle to from to