Apache camel
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
Apache camel
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

More Related Content

ODP
Introduction to Kafka connect
PDF
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
PDF
Event-Driven Stream Processing and Model Deployment with Apache Kafka, Kafka ...
PDF
Kafka Streams: What it is, and how to use it?
PPTX
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
PDF
Deep Dive: Memory Management in Apache Spark
PDF
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
PPTX
Confluent Kafka and KSQL: Streaming Data Pipelines Made Easy
Introduction to Kafka connect
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Event-Driven Stream Processing and Model Deployment with Apache Kafka, Kafka ...
Kafka Streams: What it is, and how to use it?
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Deep Dive: Memory Management in Apache Spark
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Confluent Kafka and KSQL: Streaming Data Pipelines Made Easy

What's hot (20)

PDF
Getting Started with Apache Spark on Kubernetes
PPTX
Marketing Automation Center of Excellence (CoE): Governance Structure for Con...
PDF
User story mapping
PPTX
User Stories explained
PDF
Building modern data lakes
PDF
Apache Kafka Introduction
PDF
Apache Kafka - Martin Podval
PDF
MirrorMaker: Beyond the Basics with Mickael Maison
PDF
Data integration with Apache Kafka
PPTX
Microservices in the Apache Kafka Ecosystem
PPTX
Apache Flink @ NYC Flink Meetup
PDF
Introduction to apache spark
PPSX
APIs as a Product Strategy
PDF
Proyecto para llevar la programación al aula mediante el uso de Scratch
PDF
Headless CMS
PDF
Basics of agile
PPTX
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
PPTX
Domain events & Kafka in Ruby applications
PDF
Top 5 Event Streaming Use Cases for 2021 with Apache Kafka
PPTX
Kafka Tutorial: Streaming Data Architecture
Getting Started with Apache Spark on Kubernetes
Marketing Automation Center of Excellence (CoE): Governance Structure for Con...
User story mapping
User Stories explained
Building modern data lakes
Apache Kafka Introduction
Apache Kafka - Martin Podval
MirrorMaker: Beyond the Basics with Mickael Maison
Data integration with Apache Kafka
Microservices in the Apache Kafka Ecosystem
Apache Flink @ NYC Flink Meetup
Introduction to apache spark
APIs as a Product Strategy
Proyecto para llevar la programación al aula mediante el uso de Scratch
Headless CMS
Basics of agile
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
Domain events & Kafka in Ruby applications
Top 5 Event Streaming Use Cases for 2021 with Apache Kafka
Kafka Tutorial: Streaming Data Architecture
Ad

Viewers also liked (20)

PDF
Integration with Camel
PPTX
Java8 training - Class 1
PPTX
Java8 training - class 2
PPTX
Java8 training - class 3
PPTX
Concurrency with java
PDF
Building Applications with a Graph Database
PDF
Integrating Apache Camel with Apache Syncope
DOCX
What is concurrency
PDF
Developing Microservices with Apache Camel, by Claus Ibsen
PDF
PDF
Jumping-with-java8
PPTX
Java Hands-On Workshop
PPTX
Concurrency & Parallel Programming
PDF
Java day2016 "Reinventing design patterns with java 8"
PPTX
Why Transcriptome? Why RNA-Seq? ENCODE answers….
ODP
Java Concurrency, Memory Model, and Trends
PPT
Java Multithreading and Concurrency
PDF
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
PDF
Concurrency
PPT
Simplify your integrations with Apache Camel
Integration with Camel
Java8 training - Class 1
Java8 training - class 2
Java8 training - class 3
Concurrency with java
Building Applications with a Graph Database
Integrating Apache Camel with Apache Syncope
What is concurrency
Developing Microservices with Apache Camel, by Claus Ibsen
Jumping-with-java8
Java Hands-On Workshop
Concurrency & Parallel Programming
Java day2016 "Reinventing design patterns with java 8"
Why Transcriptome? Why RNA-Seq? ENCODE answers….
Java Concurrency, Memory Model, and Trends
Java Multithreading and Concurrency
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Concurrency
Simplify your integrations with Apache Camel
Ad

Similar to Apache camel (20)

DOCX
Ed Sanford LinkedIn Resume
PPTX
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
PDF
A Multi-Company Perspective: Enterprise Cloud and PaaS
DOC
Mohammed_Murtuza_EAI
PDF
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
PPTX
Node: The Integration Fabric of the Future
PPT
Openkapow At Mashup Camp 5
DOCX
Shan _Java Architect
PDF
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
PPT
Achievo ATK - A Business Framework (DPC 2007)
PDF
ramy anthony marasigan resume
PPT
COMPRO- WEB ALBUM & MOTION ANALYZER
PPT
Architecting RIAs
PDF
Message Oriented Architecture
DOCX
Liu Zongsheng (Peter) Resume_Updated Dec-2014
PDF
VINAYAN_Resume
PDF
Integration patterns and practices for cloud and mobile computing
PDF
Platform for Innovation - AWS
PDF
Technical Compentency Document
PDF
Bn1001 demo ppt advance dot net
Ed Sanford LinkedIn Resume
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
A Multi-Company Perspective: Enterprise Cloud and PaaS
Mohammed_Murtuza_EAI
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Node: The Integration Fabric of the Future
Openkapow At Mashup Camp 5
Shan _Java Architect
From AUI to Atlaskit - Streamlining Development for Server & Cloud Apps
Achievo ATK - A Business Framework (DPC 2007)
ramy anthony marasigan resume
COMPRO- WEB ALBUM & MOTION ANALYZER
Architecting RIAs
Message Oriented Architecture
Liu Zongsheng (Peter) Resume_Updated Dec-2014
VINAYAN_Resume
Integration patterns and practices for cloud and mobile computing
Platform for Innovation - AWS
Technical Compentency Document
Bn1001 demo ppt advance dot net

Recently uploaded (20)

PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
Time Tracking Features That Teams and Organizations Actually Need
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
Microsoft Office 365 Crack Download Free
PPTX
assetexplorer- product-overview - presentation
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PPTX
Introduction to Windows Operating System
Computer Software and OS of computer science of grade 11.pptx
Designing Intelligence for the Shop Floor.pdf
Visual explanation of Dijkstra's Algorithm using Python
Time Tracking Features That Teams and Organizations Actually Need
Salesforce Agentforce AI Implementation.pdf
Patient Appointment Booking in Odoo with online payment
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Microsoft Office 365 Crack Download Free
assetexplorer- product-overview - presentation
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
MCP Security Tutorial - Beginner to Advanced
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Trending Python Topics for Data Visualization in 2025
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Weekly report ppt - harsh dattuprasad patel.pptx
DNT Brochure 2025 – ISV Solutions @ D365
Introduction to Windows Operating System

Apache camel

  • 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
  • 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