SlideShare a Scribd company logo
1 of 70
Download to read offline
Getting started with Apache Camel

Claus Ibsen (@davsclaus)
Principal Software Engineer, Red Hat
jdays.se, november 2013

1

PUBLIC PRESENTATION | CLAUS IBSEN
Your Speaker
●

Principal Software Engineer at Red Hat

●

Apache Camel
●

5 years working full-time with Camel

●

Author of Camel in Action book

●

Contact
●
●

Twitter: @davsclaus

●

Linkedin: davsclaus

●

2

EMail: cibsen@redhat.com

Blog: http://davsclaus.com

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●
●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

3

What is Apache Camel?

Q and A

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

4

Quote from the website

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Why do we need integration?
●

●

Critical for your business to integrate

Why Integration Framework?
●
●

You can focus on business problem

●

5

Framework do the heavy lifting
Not "reinventing the wheel"

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

What is Enterprise Integration Patterns?

It's a book
6

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Enterprise Integration Patterns

http://camel.apache.org/eip
7

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

8

EIP - Content Based Router

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder

9

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice

10

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice
when isWidget to widget

11

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice
when isWidget to widget
otherwise to gadget

12

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from(newOrder)
choice
when(isWidget) to(widget)
otherwise to(gadget)

13

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);

14

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

Endpoint newOrder = endpoint("activemq:queue:newOrder");

from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);

15

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");

from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);

16

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);

17

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Java Code

public void configure() throws Exception {
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");

}
18

from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Java Code
import org.apache.camel.Endpoint;
import org.apache.camel.Predicate;
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder {
public void configure() throws Exception {
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");

}
19

}

from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Camel Java DSL
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder {

}

20

public void configure() throws Exception {
from("activemq:queue:newOrder")
.choice()
.when(xpath("/order/product = 'widget'"))
.to("activemq:queue:widget")
.otherwise()
.to("activemq:queue:gadget")
.end();
}

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Camel XML DSL
<route>
<from uri="activemq:queue:newOrder"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>

21

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Endpoint as URIs

use file instead

<route>
<from uri="file:inbox/orders"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>

22

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
parameters
●

Endpoint as URIs
<route>
<from uri="file:inbox/orders?delete=true"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>

23

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

24

Camel's Architecture

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
120+ Components

25

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
120+ Components

26

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Summary
●
●

Enterprise Integration Patterns (EIP)

●

Routing (using DSL)

●

Easy Configuration (endpoint as uri's)

●

No Container Dependency

●

27

Integration Framework

A lot of components

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

28

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

29

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

30

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

31

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

32

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

33

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

34

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Downloading Apache Camel
●

zip/tarball (approx 8mb)

http://camel.apache.org

35

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Using Command Shell
●

●

36

Requires:
Apache Maven

From Eclipse

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Console Example

●

cd examples/camel-example-console

●

mvn compile exec:java

37

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Twitter Example

●

cd examples/camel-example-twitter-websocket

●

mvn compile exec:java

38

http://localhost:9090/index.html

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

More examples ...

... and further details at website.
http://camel.apache.org/examples

39

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

40

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?

41

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
●

Enterprise Integration Patterns

http://camel.apache.org/eip
42

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
●

43

Splitter EIP

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
120+ Components

44

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
19 Data Formats

45

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
15 Expression Languages

46

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
5+ DSL in multiple languages
●
●

XML DSL (Spring and OSGi Blueprint)

●

Groovy DSL

●

Scala DSL

●

47

Java DSL

Kotlin DSL (work in progress)

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Test Kit
●

camel-test-spring

●

48

camel-test
camel-test-blueprint

camel-testng

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Management
●
●

49

JMX
REST (w/ Jolokia)

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Tooling – Web console - HawtIO

http://hawt.io
50

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Tooling – Eclipse Plugin – Fuse IDE

http://github.com/fusesource/fuseide
51

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Error Handling

52

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
try .. catch style

53

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
Dead Letter Channel (EIP style)

54

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

55

PUBLIC PRESENTATION | CLAUS IBSEN
Deploying Camel
●

Deployment Strategy
●
●

●

No Container Dependency
Lightweight & Embeddable

Deployment Options
●
●

WAR

●

Spring

●

JEE

●

OSGi

●

56

Standalone

Cloud
PUBLIC PRESENTATION | CLAUS IBSEN
Camel as a Client
●

Java Client Application (no routes)

●

Example
●

57

Upload a file to a FTP server

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

58

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

Using Command Shell

●

From Eclipse

59

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

60

Maven Archetypes

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

61

camel-archetype-blueprint

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

Importing into Eclipse

Existing Maven Project

62

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

63

PUBLIC PRESENTATION | CLAUS IBSEN
Hawtio – Camel Tooling

http://hawt.io

64

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

Hawtio – Camel Tooling

●

Q and A

65

PUBLIC PRESENTATION | CLAUS IBSEN
Where do I get more information?
●

Best Article covering what Apache Camel is
●

http://java.dzone.com/articles/open-source-integrationapache

Link to article from “Getting Started”

66

PUBLIC PRESENTATION | CLAUS IBSEN
Where do I get more information?
●

Try Camel Examples
●

●

Read other blogs and articles
●

●

67

http://camel.apache.org/examples.html

http://camel.apache.org/articles.html

Use the “search box” on the Camel front page

PUBLIC PRESENTATION | CLAUS IBSEN
Where do I get more information?
●

Use the mailing list / forum
●

●

Use stackoverflow
●

68

http://camel.apache.org/mailing-lists.html

http://stackoverflow.com/questions/tagged/apache-camel

PUBLIC PRESENTATION | CLAUS IBSEN
Where do I get more information?
●

Buy the Camel in Action book

Use code ...
camel40
… for 40% discount

http://manning.com/ibsen/

69

PUBLIC PRESENTATION | CLAUS IBSEN
Any Questions ?

●

Contact
●
EMail: cibsen@redhat.com
●
Twitter: @davsclaus
●
Linkedin: davsclaus
●
Blog: http://davsclaus.com

70

PUBLIC PRESENTATION | CLAUS IBSEN

More Related Content

What's hot

Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Claus Ibsen
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Claus Ibsen
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Claus Ibsen
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration libraryClaus Ibsen
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelIoan Eugen Stan
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache CamelRosen Spasov
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesClaus Ibsen
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Claus Ibsen
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelClaus Ibsen
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationClaus Ibsen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - FredericiaClaus Ibsen
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
Event Driven Architecture with Apache Camel
Event Driven Architecture with Apache CamelEvent Driven Architecture with Apache Camel
Event Driven Architecture with Apache Camelprajods
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Claus Ibsen
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesClaus Ibsen
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleHenryk Konsek
 

What's hot (20)

Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache Camel
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentation
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
Event Driven Architecture with Apache Camel
Event Driven Architecture with Apache CamelEvent Driven Architecture with Apache Camel
Event Driven Architecture with Apache Camel
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whale
 

Viewers also liked

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelOmi Om
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDChristian Posta
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelClaus Ibsen
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryClaus Ibsen
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your dataChristian Posta
 

Viewers also liked (11)

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CD
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
 
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices
 
Global Netflix Platform
Global Netflix PlatformGlobal Netflix Platform
Global Netflix Platform
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 

Similar to Getting started with Apache Camel - jDays 2013

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyGR8Conf
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]Wong Hoi Sing Edison
 
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud MigrationBBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud Migrationlogomachy
 
Eclipse Buildship JUG Hamburg
Eclipse Buildship JUG HamburgEclipse Buildship JUG Hamburg
Eclipse Buildship JUG Hamburgsimonscholz
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]Wong Hoi Sing Edison
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless worldMatthias Luebken
 
Automated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLabAutomated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLabVladislav Supalov
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)craigbox
 
Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud FoundryAndy Piper
 
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Omer van Kloeten
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless worldScott van Kalken
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Joe Breu
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Julien SIMON
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalkzupzup.org
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftAmazon Web Services
 
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshotsEclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshotssimonscholz
 
Lecture 8 - Qooxdoo - Rap Course At The University Of Szeged
Lecture 8 - Qooxdoo - Rap Course At The University Of SzegedLecture 8 - Qooxdoo - Rap Course At The University Of Szeged
Lecture 8 - Qooxdoo - Rap Course At The University Of SzegedFabian Jakobs
 

Similar to Getting started with Apache Camel - jDays 2013 (20)

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
 
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud MigrationBBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
 
Eclipse Buildship JUG Hamburg
Eclipse Buildship JUG HamburgEclipse Buildship JUG Hamburg
Eclipse Buildship JUG Hamburg
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Automated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLabAutomated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLab
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 
Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud Foundry
 
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless world
 
Icebreaker with DevOps
Icebreaker with DevOpsIcebreaker with DevOps
Icebreaker with DevOps
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
Whats all the FaaS About
Whats all the FaaS AboutWhats all the FaaS About
Whats all the FaaS About
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalk
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
 
Get your teeth into Plack
Get your teeth into PlackGet your teeth into Plack
Get your teeth into Plack
 
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshotsEclipse Buildship DemoCamp Hamburg (June 2015)  with additional screenshots
Eclipse Buildship DemoCamp Hamburg (June 2015) with additional screenshots
 
Lecture 8 - Qooxdoo - Rap Course At The University Of Szeged
Lecture 8 - Qooxdoo - Rap Course At The University Of SzegedLecture 8 - Qooxdoo - Rap Course At The University Of Szeged
Lecture 8 - Qooxdoo - Rap Course At The University Of Szeged
 

More from Claus Ibsen

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfClaus Ibsen
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfClaus Ibsen
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3Claus Ibsen
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationClaus Ibsen
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusClaus Ibsen
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Claus Ibsen
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)Claus Ibsen
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - CopenhagenClaus Ibsen
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloudClaus Ibsen
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesClaus Ibsen
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxClaus Ibsen
 

More from Claus Ibsen (13)

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloud
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the box
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Getting started with Apache Camel - jDays 2013

  • 1. Getting started with Apache Camel Claus Ibsen (@davsclaus) Principal Software Engineer, Red Hat jdays.se, november 2013 1 PUBLIC PRESENTATION | CLAUS IBSEN
  • 2. Your Speaker ● Principal Software Engineer at Red Hat ● Apache Camel ● 5 years working full-time with Camel ● Author of Camel in Action book ● Contact ● ● Twitter: @davsclaus ● Linkedin: davsclaus ● 2 EMail: cibsen@redhat.com Blog: http://davsclaus.com PUBLIC PRESENTATION | CLAUS IBSEN
  • 3. Agenda ● ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● 3 What is Apache Camel? Q and A PUBLIC PRESENTATION | CLAUS IBSEN
  • 4. What is Apache Camel? ● 4 Quote from the website PUBLIC PRESENTATION | CLAUS IBSEN
  • 5. What is Apache Camel? ● Why do we need integration? ● ● Critical for your business to integrate Why Integration Framework? ● ● You can focus on business problem ● 5 Framework do the heavy lifting Not "reinventing the wheel" PUBLIC PRESENTATION | CLAUS IBSEN
  • 6. What is Apache Camel? ● What is Enterprise Integration Patterns? It's a book 6 PUBLIC PRESENTATION | CLAUS IBSEN
  • 7. What is Apache Camel? ● Enterprise Integration Patterns http://camel.apache.org/eip 7 PUBLIC PRESENTATION | CLAUS IBSEN
  • 8. What is Apache Camel? ● 8 EIP - Content Based Router PUBLIC PRESENTATION | CLAUS IBSEN
  • 9. What is Apache Camel? from newOrder 9 PUBLIC PRESENTATION | CLAUS IBSEN
  • 10. What is Apache Camel? from newOrder choice 10 PUBLIC PRESENTATION | CLAUS IBSEN
  • 11. What is Apache Camel? from newOrder choice when isWidget to widget 11 PUBLIC PRESENTATION | CLAUS IBSEN
  • 12. What is Apache Camel? from newOrder choice when isWidget to widget otherwise to gadget 12 PUBLIC PRESENTATION | CLAUS IBSEN
  • 13. What is Apache Camel? from(newOrder) choice when(isWidget) to(widget) otherwise to(gadget) 13 PUBLIC PRESENTATION | CLAUS IBSEN
  • 14. What is Apache Camel? from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 14 PUBLIC PRESENTATION | CLAUS IBSEN
  • 15. What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 15 PUBLIC PRESENTATION | CLAUS IBSEN
  • 16. What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 16 PUBLIC PRESENTATION | CLAUS IBSEN
  • 17. What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 17 PUBLIC PRESENTATION | CLAUS IBSEN
  • 18. What is Apache Camel? ● Java Code public void configure() throws Exception { Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); } 18 from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); PUBLIC PRESENTATION | CLAUS IBSEN
  • 19. What is Apache Camel? ● Java Code import org.apache.camel.Endpoint; import org.apache.camel.Predicate; import org.apache.camel.builder.RouteBuilder; public class MyRoute extends RouteBuilder { public void configure() throws Exception { Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); } 19 } from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); PUBLIC PRESENTATION | CLAUS IBSEN
  • 20. What is Apache Camel? ● Camel Java DSL import org.apache.camel.builder.RouteBuilder; public class MyRoute extends RouteBuilder { } 20 public void configure() throws Exception { from("activemq:queue:newOrder") .choice() .when(xpath("/order/product = 'widget'")) .to("activemq:queue:widget") .otherwise() .to("activemq:queue:gadget") .end(); } PUBLIC PRESENTATION | CLAUS IBSEN
  • 21. What is Apache Camel? ● Camel XML DSL <route> <from uri="activemq:queue:newOrder"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route> 21 PUBLIC PRESENTATION | CLAUS IBSEN
  • 22. What is Apache Camel? ● Endpoint as URIs use file instead <route> <from uri="file:inbox/orders"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route> 22 PUBLIC PRESENTATION | CLAUS IBSEN
  • 23. What is Apache Camel? parameters ● Endpoint as URIs <route> <from uri="file:inbox/orders?delete=true"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route> 23 PUBLIC PRESENTATION | CLAUS IBSEN
  • 24. What is Apache Camel? ● 24 Camel's Architecture PUBLIC PRESENTATION | CLAUS IBSEN
  • 25. What is Apache Camel? 120+ Components 25 PUBLIC PRESENTATION | CLAUS IBSEN
  • 26. What is Apache Camel? 120+ Components 26 PUBLIC PRESENTATION | CLAUS IBSEN
  • 27. What is Apache Camel? ● Summary ● ● Enterprise Integration Patterns (EIP) ● Routing (using DSL) ● Easy Configuration (endpoint as uri's) ● No Container Dependency ● 27 Integration Framework A lot of components PUBLIC PRESENTATION | CLAUS IBSEN
  • 28. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 28 PUBLIC PRESENTATION | CLAUS IBSEN
  • 29. A Little Example ● 29 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 30. A Little Example ● 30 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 31. A Little Example ● 31 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 32. A Little Example ● 32 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 33. A Little Example ● 33 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 34. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 34 PUBLIC PRESENTATION | CLAUS IBSEN
  • 35. Riding Camel ● Downloading Apache Camel ● zip/tarball (approx 8mb) http://camel.apache.org 35 PUBLIC PRESENTATION | CLAUS IBSEN
  • 36. Riding Camel ● Using Command Shell ● ● 36 Requires: Apache Maven From Eclipse PUBLIC PRESENTATION | CLAUS IBSEN
  • 37. Riding Camel ● Console Example ● cd examples/camel-example-console ● mvn compile exec:java 37 PUBLIC PRESENTATION | CLAUS IBSEN
  • 38. Riding Camel ● Twitter Example ● cd examples/camel-example-twitter-websocket ● mvn compile exec:java 38 http://localhost:9090/index.html PUBLIC PRESENTATION | CLAUS IBSEN
  • 39. Riding Camel ● More examples ... ... and further details at website. http://camel.apache.org/examples 39 PUBLIC PRESENTATION | CLAUS IBSEN
  • 40. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 40 PUBLIC PRESENTATION | CLAUS IBSEN
  • 41. What's in the box? 41 PUBLIC PRESENTATION | CLAUS IBSEN
  • 42. What's in the box? ● Enterprise Integration Patterns http://camel.apache.org/eip 42 PUBLIC PRESENTATION | CLAUS IBSEN
  • 43. What's in the box? ● 43 Splitter EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 44. What is Apache Camel? 120+ Components 44 PUBLIC PRESENTATION | CLAUS IBSEN
  • 45. What is Apache Camel? 19 Data Formats 45 PUBLIC PRESENTATION | CLAUS IBSEN
  • 46. What is Apache Camel? 15 Expression Languages 46 PUBLIC PRESENTATION | CLAUS IBSEN
  • 47. What is Apache Camel? 5+ DSL in multiple languages ● ● XML DSL (Spring and OSGi Blueprint) ● Groovy DSL ● Scala DSL ● 47 Java DSL Kotlin DSL (work in progress) PUBLIC PRESENTATION | CLAUS IBSEN
  • 48. What is Apache Camel? Test Kit ● camel-test-spring ● 48 camel-test camel-test-blueprint camel-testng PUBLIC PRESENTATION | CLAUS IBSEN
  • 49. What is Apache Camel? Management ● ● 49 JMX REST (w/ Jolokia) PUBLIC PRESENTATION | CLAUS IBSEN
  • 50. What is Apache Camel? Tooling – Web console - HawtIO http://hawt.io 50 PUBLIC PRESENTATION | CLAUS IBSEN
  • 51. What is Apache Camel? Tooling – Eclipse Plugin – Fuse IDE http://github.com/fusesource/fuseide 51 PUBLIC PRESENTATION | CLAUS IBSEN
  • 52. What is Apache Camel? Error Handling 52 PUBLIC PRESENTATION | CLAUS IBSEN
  • 53. What is Apache Camel? try .. catch style 53 PUBLIC PRESENTATION | CLAUS IBSEN
  • 54. What is Apache Camel? Dead Letter Channel (EIP style) 54 PUBLIC PRESENTATION | CLAUS IBSEN
  • 55. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 55 PUBLIC PRESENTATION | CLAUS IBSEN
  • 56. Deploying Camel ● Deployment Strategy ● ● ● No Container Dependency Lightweight & Embeddable Deployment Options ● ● WAR ● Spring ● JEE ● OSGi ● 56 Standalone Cloud PUBLIC PRESENTATION | CLAUS IBSEN
  • 57. Camel as a Client ● Java Client Application (no routes) ● Example ● 57 Upload a file to a FTP server PUBLIC PRESENTATION | CLAUS IBSEN
  • 58. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 58 PUBLIC PRESENTATION | CLAUS IBSEN
  • 59. Creating new Camel Projects ● Using Command Shell ● From Eclipse 59 PUBLIC PRESENTATION | CLAUS IBSEN
  • 60. Creating new Camel Projects ● 60 Maven Archetypes PUBLIC PRESENTATION | CLAUS IBSEN
  • 61. Creating new Camel Projects ● 61 camel-archetype-blueprint PUBLIC PRESENTATION | CLAUS IBSEN
  • 62. Creating new Camel Projects ● Importing into Eclipse Existing Maven Project 62 PUBLIC PRESENTATION | CLAUS IBSEN
  • 63. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 63 PUBLIC PRESENTATION | CLAUS IBSEN
  • 64. Hawtio – Camel Tooling http://hawt.io 64 PUBLIC PRESENTATION | CLAUS IBSEN
  • 65. Agenda ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● Hawtio – Camel Tooling ● Q and A 65 PUBLIC PRESENTATION | CLAUS IBSEN
  • 66. Where do I get more information? ● Best Article covering what Apache Camel is ● http://java.dzone.com/articles/open-source-integrationapache Link to article from “Getting Started” 66 PUBLIC PRESENTATION | CLAUS IBSEN
  • 67. Where do I get more information? ● Try Camel Examples ● ● Read other blogs and articles ● ● 67 http://camel.apache.org/examples.html http://camel.apache.org/articles.html Use the “search box” on the Camel front page PUBLIC PRESENTATION | CLAUS IBSEN
  • 68. Where do I get more information? ● Use the mailing list / forum ● ● Use stackoverflow ● 68 http://camel.apache.org/mailing-lists.html http://stackoverflow.com/questions/tagged/apache-camel PUBLIC PRESENTATION | CLAUS IBSEN
  • 69. Where do I get more information? ● Buy the Camel in Action book Use code ... camel40 … for 40% discount http://manning.com/ibsen/ 69 PUBLIC PRESENTATION | CLAUS IBSEN
  • 70. Any Questions ? ● Contact ● EMail: cibsen@redhat.com ● Twitter: @davsclaus ● Linkedin: davsclaus ● Blog: http://davsclaus.com 70 PUBLIC PRESENTATION | CLAUS IBSEN