SlideShare una empresa de Scribd logo
1 de 105
Getting Started with Apache Camel.
Presentation and Workshop at
BarcelonaJUG, January 2014

Claus Ibsen (@davsclaus)
Principal Software Engineer, Red Hat
1

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

●

What's not in the Camel box?

●

2

History of Camel

More Information
PUBLIC PRESENTATION | CLAUS IBSEN
Your Speaker
●

Principal Software Engineer at Red Hat

●

Apache Camel
●

6 years working with Camel

●

Author of Camel in Action book

●

Contact
●
●

Twitter: @davsclaus

●

Blog: http://davsclaus.com

●

3

EMail: cibsen@redhat.com

Linkedin: http://www.linkedin.com/in/davsclaus

PUBLIC PRESENTATION | CLAUS IBSEN
Why the name Camel?

4

PUBLIC PRESENTATION | CLAUS IBSEN
Why the name Camel?

Because Camel is
easy to remember and type ...
5

PUBLIC PRESENTATION | CLAUS IBSEN
Why the name Camel?

… or the creator used to smoke cigarets!
http://camel.apache.org/why-the-name-camel.html
6

PUBLIC PRESENTATION | CLAUS IBSEN
Camel's parents

7

PUBLIC PRESENTATION | CLAUS IBSEN
Camel's parents

James Strachan (creator of Camel)
Gregor Hohpe (author of EIP book)

8

PUBLIC PRESENTATION | CLAUS IBSEN
The birth of Camel
●

9

First Commit

PUBLIC PRESENTATION | CLAUS IBSEN
The birth of Camel
●

10

My first Commit

PUBLIC PRESENTATION | CLAUS IBSEN
The birth of Camel
●

First Release
●

Apache Camel 1.0
June 2007

http://www.davsclaus.com/2012/05/looking-at-impressive-first-apache.html
11

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

12

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

13

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

●

14

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
15

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Enterprise Integration Patterns

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

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

17

EIP - Content Based Router

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder

18

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice

19

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice
when isWidget to widget

20

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

from newOrder
choice
when isWidget to widget
otherwise to gadget

21

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

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

22

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

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

23

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?

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

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

24

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);

25

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);

26

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");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();
}
27

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");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();
}
}

28

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Camel Java DSL
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder {
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();
}
}

29

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>

30

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>

31

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>

32

PUBLIC PRESENTATION | CLAUS IBSEN
Standard Java or XML
●

33

Java DSL is just Java

PUBLIC PRESENTATION | CLAUS IBSEN
Standard Java or XML
●

XML DSL is just XML

●

34

… with XSD schema for validation/tooling

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

35

Camel's Architecture

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

36

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

37

PUBLIC PRESENTATION | CLAUS IBSEN
What is Apache Camel?
●

Summary
●
●

Enterprise Integration Patterns (EIP)

●

Routing (using DSL)

●

Easy Configuration (endpoint as uri's)

●

Just Java or XML code

●

No Container Dependency

●

38

Integration Framework

A lot of components

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

39

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

40

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

41

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

42

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

43

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
A Little Example
●

44

File Copier Example

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

45

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Downloading Apache Camel
●

zip/tarball (approx 8mb)

http://camel.apache.org

46

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Using Command Shell
●

●

47

Requires: Apache Maven

From Eclipse

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Console Example

●

cd examples/camel-example-console

●

mvn compile exec:java

48

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

Twitter Example

●

cd examples/camel-example-twitter-websocket

●

mvn compile exec:java

49

http://localhost:9090/index.html

PUBLIC PRESENTATION | CLAUS IBSEN
Riding Camel
●

More examples ...

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

50

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

51

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

52

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

Enterprise Integration Patterns

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

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

54

Pipes and Filters EIP

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

55

Pipes and Filters EIP

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

56

Recipient List EIP

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

57

Recipient List EIP

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

58

Splitter EIP

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

59

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

60

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

61

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
5+ DSL in multiple languages
●
●

XML DSL (Spring and OSGi Blueprint)

●

Groovy DSL

●

Scala DSL

●

62

Java DSL

Kotlin DSL (work in progress)

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

Mixing Java and XML

●

●

63

Java DSL

Spring XML file

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

Mixing Java and XML
●

.. having both XML and Java routes

Java route

XML route
64

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

Multiple XML files

myCoolRoutes.xml
myOtherCoolRoutes.xml

myCamel.xml
65

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

Scanning on classpath for Java routes
●

●

66

… with packageScan

… supports excludes/includes

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

Scanning Spring ApplicationContext for Java routes
●

67

… with <contextScan/>

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

Scanning Spring ApplicationContext for Java routes
●

68

… and routes uses @Component

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

69

Type Converters

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

70

Writing Custom Type Converter

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

71

Bean as Message Translator

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

72

Bean as Message Translator

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

73

Working with beans

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

74

Working with beans

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

75

Working with beans

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

76

Working with beans

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

camel-test-spring

●

77

camel-test
camel-test-blueprint

camel-testng

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

78

JMX
REST (w/ Jolokia)

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

79

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
try .. catch style

80

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
Dead Letter Channel (EIP style)

81

PUBLIC PRESENTATION | CLAUS IBSEN
What's in the box?
Dead Letter Channel (EIP style)

82

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

Interceptors

●

Security

●

Route Policy

●

Type Converters

●

Transaction
●

Compensation as rollback

●
●

Thread management

●

Maven Tooling

●

83

Asynchronous non-blocking routing engine

... and much more
PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

84

PUBLIC PRESENTATION | CLAUS IBSEN
Deploying Camel
●

Deployment Strategy
●
●

●

No Container Dependency
Lightweight & Embeddable

Deployment Options
●
●

WAR

●

Spring

●

JEE

●

OSGi

●

85

Standalone

Cloud
PUBLIC PRESENTATION | CLAUS IBSEN
Camel as a Client
●

Java Client Application (no routes)

●

Example
●

86

Upload a file to a FTP server

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

87

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

Using Command Shell

●

From Eclipse

88

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

89

Maven Archetypes

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

90

camel-archetype-blueprint

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

Importing into Eclipse

Existing Maven Project

91

PUBLIC PRESENTATION | CLAUS IBSEN
Creating new Camel Projects
●

Testing Camel Projects

●

... from inside Eclipse

92

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

93

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

3rd party Apache Camel software

●

Commercial Support
●

●

User Stories
●

●

http://camel.apache.org/user-stories.html

External Components
●

●

http://camel.apache.org/commercial-camel-offerings.html

http://camel.apache.org/components.html (bottom)

Apache Camel Extra
●

94

https://code.google.com/a/apache-extras.org/p/camel-extra
PUBLIC PRESENTATION | CLAUS IBSEN
What's not in the Camel box?
Tooling – Eclipse Plugin – Fuse IDE

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

PUBLIC PRESENTATION | CLAUS IBSEN
What's not in the Camel box?
Tooling – Web console - HawtIO

http://hawt.io
96

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

Integration Platform

http://fabric8.io
97

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

History of Camel

●

What is Apache Camel?

●

A little Example

●

Riding Camel

●

What's in the Camel box?

●

Deploying Camel

●

Creating new Camel Projects

●

What's not in the Camel box?

●

More Information

98

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”

99

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

Try Camel Examples
●

●

Read other blogs and articles
●

●

100

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
●

●

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

Use IRC chat
●

101

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

http://camel.apache.org/irc-room.html

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/

102

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

.. and/or any of the other Camel books in the market

http://camel.apache.org/books

103

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

Attend the CamelOne conferences

The conference formerly known as CamelOne,
is now part of larger conference named DevNation

http://www.devnation.org

104

PUBLIC PRESENTATION | CLAUS IBSEN
Any Questions ?

●

Contact
●
EMail: cibsen@redhat.com / claus.ibsen@gmail.com
●
Twitter: @davsclaus
●
Blog: http://davsclaus.com
●
Linkedin: http://www.linkedin.com/in/davsclaus

105

PUBLIC PRESENTATION | CLAUS IBSEN

Más contenido relacionado

La actualidad más candente

Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar Timothy Spann
 
Azure API Management
Azure API ManagementAzure API Management
Azure API ManagementDaniel Toomey
 
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
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup PresentationStrapi
 
Apache Camel Introduction
Apache Camel IntroductionApache Camel Introduction
Apache Camel IntroductionClaus Ibsen
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101Whiteklay
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...StampedeCon
 
A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMSAshokkumar T A
 
Introduction to Spark with Python
Introduction to Spark with PythonIntroduction to Spark with Python
Introduction to Spark with PythonGokhan Atil
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?confluent
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pyconesAlvaro Del Castillo
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?LunchBadger
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQMatt Leming
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureNguyen Tung
 

La actualidad más candente (20)

AWS IAM Introduction
AWS IAM IntroductionAWS IAM Introduction
AWS IAM Introduction
 
Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
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
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup Presentation
 
Apache Camel Introduction
Apache Camel IntroductionApache Camel Introduction
Apache Camel Introduction
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
 
A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMS
 
Introduction to Spark with Python
Introduction to Spark with PythonIntroduction to Spark with Python
Introduction to Spark with Python
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pycones
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?
 
TypeScript Overview
TypeScript OverviewTypeScript Overview
TypeScript Overview
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQ
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 

Destacado

Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration libraryClaus Ibsen
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelFuseSource.com
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Claus Ibsen
 
Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache CamelChristian Posta
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache CamelClaus Ibsen
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 

Destacado (6)

Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013
 
Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
 
Microservices with Apache Camel
Microservices with Apache CamelMicroservices with Apache Camel
Microservices with Apache Camel
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 

Similar a Getting started with Apache Camel presentation at BarcelonaJUG, january 2014

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyClaus Ibsen
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyGR8Conf
 
Getting Started with Apache Camel - Devconf Conference - February 2013
Getting Started with Apache Camel - Devconf Conference - February 2013Getting Started with Apache Camel - Devconf Conference - February 2013
Getting Started with Apache Camel - Devconf Conference - February 2013Claus 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
 
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 - jDays 2013
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013Claus Ibsen
 
Microservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaMicroservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaClaus 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
 
Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Claus Ibsen
 
Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityClaus Ibsen
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache CamelRosen Spasov
 
[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
 
Carrying Enterprise on a Little Camel
Carrying Enterprise on a Little CamelCarrying Enterprise on a Little Camel
Carrying Enterprise on a Little CamelDimitry Pletnikov
 
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
 
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
 
[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
 
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
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with AnsibleKevin Carter
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHenning Jacobs
 
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
 

Similar a Getting started with Apache Camel presentation at BarcelonaJUG, january 2014 (20)

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Getting Started with Apache Camel - Devconf Conference - February 2013
Getting Started with Apache Camel - Devconf Conference - February 2013Getting Started with Apache Camel - Devconf Conference - February 2013
Getting Started with Apache Camel - Devconf Conference - February 2013
 
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
 
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 - jDays 2013
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013
 
Microservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaMicroservices with apache_camel_barcelona
Microservices with apache_camel_barcelona
 
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
 
Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014
 
Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache Camel
 
[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]
 
Carrying Enterprise on a Little Camel
Carrying Enterprise on a Little CamelCarrying Enterprise on a Little Camel
Carrying Enterprise on a Little Camel
 
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
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 
[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]
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless world
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
 
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
 

Más de Claus Ibsen

Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfClaus 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
 
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
 
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
 
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
 
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
 
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
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Claus Ibsen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - FredericiaClaus 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
 
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
 
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
 
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
 

Más de Claus Ibsen (19)

Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
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
 
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
 
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
 
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...
 
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)
 
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
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
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...
 
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
 
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
 
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
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Getting started with Apache Camel presentation at BarcelonaJUG, january 2014

  • 1. Getting Started with Apache Camel. Presentation and Workshop at BarcelonaJUG, January 2014 Claus Ibsen (@davsclaus) Principal Software Engineer, Red Hat 1 PUBLIC PRESENTATION | CLAUS IBSEN
  • 2. Agenda ● ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● 2 History of Camel More Information PUBLIC PRESENTATION | CLAUS IBSEN
  • 3. Your Speaker ● Principal Software Engineer at Red Hat ● Apache Camel ● 6 years working with Camel ● Author of Camel in Action book ● Contact ● ● Twitter: @davsclaus ● Blog: http://davsclaus.com ● 3 EMail: cibsen@redhat.com Linkedin: http://www.linkedin.com/in/davsclaus PUBLIC PRESENTATION | CLAUS IBSEN
  • 4. Why the name Camel? 4 PUBLIC PRESENTATION | CLAUS IBSEN
  • 5. Why the name Camel? Because Camel is easy to remember and type ... 5 PUBLIC PRESENTATION | CLAUS IBSEN
  • 6. Why the name Camel? … or the creator used to smoke cigarets! http://camel.apache.org/why-the-name-camel.html 6 PUBLIC PRESENTATION | CLAUS IBSEN
  • 8. Camel's parents James Strachan (creator of Camel) Gregor Hohpe (author of EIP book) 8 PUBLIC PRESENTATION | CLAUS IBSEN
  • 9. The birth of Camel ● 9 First Commit PUBLIC PRESENTATION | CLAUS IBSEN
  • 10. The birth of Camel ● 10 My first Commit PUBLIC PRESENTATION | CLAUS IBSEN
  • 11. The birth of Camel ● First Release ● Apache Camel 1.0 June 2007 http://www.davsclaus.com/2012/05/looking-at-impressive-first-apache.html 11 PUBLIC PRESENTATION | CLAUS IBSEN
  • 12. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 12 PUBLIC PRESENTATION | CLAUS IBSEN
  • 13. What is Apache Camel? ● 13 Quote from the website PUBLIC PRESENTATION | CLAUS IBSEN
  • 14. What is Apache Camel? ● Why do we need integration? ● ● Critical for your business to integrate Why Integration Framework? ● ● You can focus on business problem ● 14 Framework do the heavy lifting Not "reinventing the wheel" PUBLIC PRESENTATION | CLAUS IBSEN
  • 15. What is Apache Camel? ● What is Enterprise Integration Patterns? It's a book 15 PUBLIC PRESENTATION | CLAUS IBSEN
  • 16. What is Apache Camel? ● Enterprise Integration Patterns http://camel.apache.org/eip 16 PUBLIC PRESENTATION | CLAUS IBSEN
  • 17. What is Apache Camel? ● 17 EIP - Content Based Router PUBLIC PRESENTATION | CLAUS IBSEN
  • 18. What is Apache Camel? from newOrder 18 PUBLIC PRESENTATION | CLAUS IBSEN
  • 19. What is Apache Camel? from newOrder choice 19 PUBLIC PRESENTATION | CLAUS IBSEN
  • 20. What is Apache Camel? from newOrder choice when isWidget to widget 20 PUBLIC PRESENTATION | CLAUS IBSEN
  • 21. What is Apache Camel? from newOrder choice when isWidget to widget otherwise to gadget 21 PUBLIC PRESENTATION | CLAUS IBSEN
  • 22. What is Apache Camel? from(newOrder) choice when(isWidget) to(widget) otherwise to(gadget) 22 PUBLIC PRESENTATION | CLAUS IBSEN
  • 23. What is Apache Camel? from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 23 PUBLIC PRESENTATION | CLAUS IBSEN
  • 24. What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget); 24 PUBLIC PRESENTATION | CLAUS IBSEN
  • 25. 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); 25 PUBLIC PRESENTATION | CLAUS IBSEN
  • 26. 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); 26 PUBLIC PRESENTATION | CLAUS IBSEN
  • 27. 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"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); } 27 PUBLIC PRESENTATION | CLAUS IBSEN
  • 28. 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"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); } } 28 PUBLIC PRESENTATION | CLAUS IBSEN
  • 29. What is Apache Camel? ● Camel Java DSL import org.apache.camel.builder.RouteBuilder; public class MyRoute extends RouteBuilder { 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(); } } 29 PUBLIC PRESENTATION | CLAUS IBSEN
  • 30. 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> 30 PUBLIC PRESENTATION | CLAUS IBSEN
  • 31. 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> 31 PUBLIC PRESENTATION | CLAUS IBSEN
  • 32. 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> 32 PUBLIC PRESENTATION | CLAUS IBSEN
  • 33. Standard Java or XML ● 33 Java DSL is just Java PUBLIC PRESENTATION | CLAUS IBSEN
  • 34. Standard Java or XML ● XML DSL is just XML ● 34 … with XSD schema for validation/tooling PUBLIC PRESENTATION | CLAUS IBSEN
  • 35. What is Apache Camel? ● 35 Camel's Architecture PUBLIC PRESENTATION | CLAUS IBSEN
  • 36. What is Apache Camel? 150+ Components 36 PUBLIC PRESENTATION | CLAUS IBSEN
  • 37. What is Apache Camel? 150+ Components 37 PUBLIC PRESENTATION | CLAUS IBSEN
  • 38. What is Apache Camel? ● Summary ● ● Enterprise Integration Patterns (EIP) ● Routing (using DSL) ● Easy Configuration (endpoint as uri's) ● Just Java or XML code ● No Container Dependency ● 38 Integration Framework A lot of components PUBLIC PRESENTATION | CLAUS IBSEN
  • 39. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 39 PUBLIC PRESENTATION | CLAUS IBSEN
  • 40. A Little Example ● 40 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 41. A Little Example ● 41 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 42. A Little Example ● 42 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 43. A Little Example ● 43 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 44. A Little Example ● 44 File Copier Example PUBLIC PRESENTATION | CLAUS IBSEN
  • 45. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 45 PUBLIC PRESENTATION | CLAUS IBSEN
  • 46. Riding Camel ● Downloading Apache Camel ● zip/tarball (approx 8mb) http://camel.apache.org 46 PUBLIC PRESENTATION | CLAUS IBSEN
  • 47. Riding Camel ● Using Command Shell ● ● 47 Requires: Apache Maven From Eclipse PUBLIC PRESENTATION | CLAUS IBSEN
  • 48. Riding Camel ● Console Example ● cd examples/camel-example-console ● mvn compile exec:java 48 PUBLIC PRESENTATION | CLAUS IBSEN
  • 49. Riding Camel ● Twitter Example ● cd examples/camel-example-twitter-websocket ● mvn compile exec:java 49 http://localhost:9090/index.html PUBLIC PRESENTATION | CLAUS IBSEN
  • 50. Riding Camel ● More examples ... ... and further details at website. http://camel.apache.org/examples 50 PUBLIC PRESENTATION | CLAUS IBSEN
  • 51. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 51 PUBLIC PRESENTATION | CLAUS IBSEN
  • 52. What's in the box? 52 PUBLIC PRESENTATION | CLAUS IBSEN
  • 53. What's in the box? ● Enterprise Integration Patterns http://camel.apache.org/eip 53 PUBLIC PRESENTATION | CLAUS IBSEN
  • 54. What's in the box? ● 54 Pipes and Filters EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 55. What's in the box? ● 55 Pipes and Filters EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 56. What's in the box? ● 56 Recipient List EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 57. What's in the box? ● 57 Recipient List EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 58. What's in the box? ● 58 Splitter EIP PUBLIC PRESENTATION | CLAUS IBSEN
  • 59. What's in the box? 150+ Components 59 PUBLIC PRESENTATION | CLAUS IBSEN
  • 60. What's in the box? 19 Data Formats 60 PUBLIC PRESENTATION | CLAUS IBSEN
  • 61. What's in the box? 15 Expression Languages 61 PUBLIC PRESENTATION | CLAUS IBSEN
  • 62. What's in the box? 5+ DSL in multiple languages ● ● XML DSL (Spring and OSGi Blueprint) ● Groovy DSL ● Scala DSL ● 62 Java DSL Kotlin DSL (work in progress) PUBLIC PRESENTATION | CLAUS IBSEN
  • 63. What's in the box? ● Mixing Java and XML ● ● 63 Java DSL Spring XML file PUBLIC PRESENTATION | CLAUS IBSEN
  • 64. What's in the box? ● Mixing Java and XML ● .. having both XML and Java routes Java route XML route 64 PUBLIC PRESENTATION | CLAUS IBSEN
  • 65. What's in the box? ● Multiple XML files myCoolRoutes.xml myOtherCoolRoutes.xml myCamel.xml 65 PUBLIC PRESENTATION | CLAUS IBSEN
  • 66. What's in the box? ● Scanning on classpath for Java routes ● ● 66 … with packageScan … supports excludes/includes PUBLIC PRESENTATION | CLAUS IBSEN
  • 67. What's in the box? ● Scanning Spring ApplicationContext for Java routes ● 67 … with <contextScan/> PUBLIC PRESENTATION | CLAUS IBSEN
  • 68. What's in the box? ● Scanning Spring ApplicationContext for Java routes ● 68 … and routes uses @Component PUBLIC PRESENTATION | CLAUS IBSEN
  • 69. What's in the box? ● 69 Type Converters PUBLIC PRESENTATION | CLAUS IBSEN
  • 70. What's in the box? ● 70 Writing Custom Type Converter PUBLIC PRESENTATION | CLAUS IBSEN
  • 71. What's in the box? ● 71 Bean as Message Translator PUBLIC PRESENTATION | CLAUS IBSEN
  • 72. What's in the box? ● 72 Bean as Message Translator PUBLIC PRESENTATION | CLAUS IBSEN
  • 73. What's in the box? ● 73 Working with beans PUBLIC PRESENTATION | CLAUS IBSEN
  • 74. What's in the box? ● 74 Working with beans PUBLIC PRESENTATION | CLAUS IBSEN
  • 75. What's in the box? ● 75 Working with beans PUBLIC PRESENTATION | CLAUS IBSEN
  • 76. What's in the box? ● 76 Working with beans PUBLIC PRESENTATION | CLAUS IBSEN
  • 77. What's in the box? Test Kit ● camel-test-spring ● 77 camel-test camel-test-blueprint camel-testng PUBLIC PRESENTATION | CLAUS IBSEN
  • 78. What's in the box? Management ● ● 78 JMX REST (w/ Jolokia) PUBLIC PRESENTATION | CLAUS IBSEN
  • 79. What's in the box? Error Handling 79 PUBLIC PRESENTATION | CLAUS IBSEN
  • 80. What's in the box? try .. catch style 80 PUBLIC PRESENTATION | CLAUS IBSEN
  • 81. What's in the box? Dead Letter Channel (EIP style) 81 PUBLIC PRESENTATION | CLAUS IBSEN
  • 82. What's in the box? Dead Letter Channel (EIP style) 82 PUBLIC PRESENTATION | CLAUS IBSEN
  • 83. What's in the box? The Rest ● Interceptors ● Security ● Route Policy ● Type Converters ● Transaction ● Compensation as rollback ● ● Thread management ● Maven Tooling ● 83 Asynchronous non-blocking routing engine ... and much more PUBLIC PRESENTATION | CLAUS IBSEN
  • 84. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 84 PUBLIC PRESENTATION | CLAUS IBSEN
  • 85. Deploying Camel ● Deployment Strategy ● ● ● No Container Dependency Lightweight & Embeddable Deployment Options ● ● WAR ● Spring ● JEE ● OSGi ● 85 Standalone Cloud PUBLIC PRESENTATION | CLAUS IBSEN
  • 86. Camel as a Client ● Java Client Application (no routes) ● Example ● 86 Upload a file to a FTP server PUBLIC PRESENTATION | CLAUS IBSEN
  • 87. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 87 PUBLIC PRESENTATION | CLAUS IBSEN
  • 88. Creating new Camel Projects ● Using Command Shell ● From Eclipse 88 PUBLIC PRESENTATION | CLAUS IBSEN
  • 89. Creating new Camel Projects ● 89 Maven Archetypes PUBLIC PRESENTATION | CLAUS IBSEN
  • 90. Creating new Camel Projects ● 90 camel-archetype-blueprint PUBLIC PRESENTATION | CLAUS IBSEN
  • 91. Creating new Camel Projects ● Importing into Eclipse Existing Maven Project 91 PUBLIC PRESENTATION | CLAUS IBSEN
  • 92. Creating new Camel Projects ● Testing Camel Projects ● ... from inside Eclipse 92 PUBLIC PRESENTATION | CLAUS IBSEN
  • 93. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 93 PUBLIC PRESENTATION | CLAUS IBSEN
  • 94. What's not in the Camel box? ● 3rd party Apache Camel software ● Commercial Support ● ● User Stories ● ● http://camel.apache.org/user-stories.html External Components ● ● http://camel.apache.org/commercial-camel-offerings.html http://camel.apache.org/components.html (bottom) Apache Camel Extra ● 94 https://code.google.com/a/apache-extras.org/p/camel-extra PUBLIC PRESENTATION | CLAUS IBSEN
  • 95. What's not in the Camel box? Tooling – Eclipse Plugin – Fuse IDE http://github.com/fusesource/fuseide 95 PUBLIC PRESENTATION | CLAUS IBSEN
  • 96. What's not in the Camel box? Tooling – Web console - HawtIO http://hawt.io 96 PUBLIC PRESENTATION | CLAUS IBSEN
  • 97. What's not in the Camel box? ● Integration Platform http://fabric8.io 97 PUBLIC PRESENTATION | CLAUS IBSEN
  • 98. Agenda ● History of Camel ● What is Apache Camel? ● A little Example ● Riding Camel ● What's in the Camel box? ● Deploying Camel ● Creating new Camel Projects ● What's not in the Camel box? ● More Information 98 PUBLIC PRESENTATION | CLAUS IBSEN
  • 99. 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” 99 PUBLIC PRESENTATION | CLAUS IBSEN
  • 100. Where do I get more information? ● Try Camel Examples ● ● Read other blogs and articles ● ● 100 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
  • 101. Where do I get more information? ● Use the mailing list / forum ● ● Use stackoverflow ● ● http://stackoverflow.com/questions/tagged/apache-camel Use IRC chat ● 101 http://camel.apache.org/mailing-lists.html http://camel.apache.org/irc-room.html PUBLIC PRESENTATION | CLAUS IBSEN
  • 102. Where do I get more information? ● Buy the Camel in Action book Use code ... camel40 … for 40% discount http://manning.com/ibsen/ 102 PUBLIC PRESENTATION | CLAUS IBSEN
  • 103. Where do I get more information? ● .. and/or any of the other Camel books in the market http://camel.apache.org/books 103 PUBLIC PRESENTATION | CLAUS IBSEN
  • 104. Where do I get more information? ● Attend the CamelOne conferences The conference formerly known as CamelOne, is now part of larger conference named DevNation http://www.devnation.org 104 PUBLIC PRESENTATION | CLAUS IBSEN
  • 105. Any Questions ? ● Contact ● EMail: cibsen@redhat.com / claus.ibsen@gmail.com ● Twitter: @davsclaus ● Blog: http://davsclaus.com ● Linkedin: http://www.linkedin.com/in/davsclaus 105 PUBLIC PRESENTATION | CLAUS IBSEN