Get off to a good start with Apache Camel. This session will give you an introduction to Apache Camel and teach you:
- How Camel is related to enterprise integration patterns (EIPs).
- How to use EIPs in Camel routes written in Java code or XML files.
- How to get started developing with Camel, including how to set up new projects from scratch using Maven and Eclipse.
- With a live demo, how to build Camel applications in Java, Spring, and OSGi Blueprint.
- How ready-to-use features make integration much easier.
- About the web console tools that give you insight into your running Apache Camel applications, including visual route diagrams with tracing, debugging, and profiling capabilities.
- Useful resources to learn more about Camel.
This session will be taught with a 50/50 mix of slides and live demos, and it will conclude with Q&A time.
2. 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?
● More Information
3. 3
Your Speaker
● Principal Software Engineer at Red Hat
● Apache Camel
● 6 years as committer
● Author of Camel in Action book
● Contact
● EMail: cibsen@redhat.com
● Twitter: @davsclaus
● Blog: http://davsclaus.com
● Linkedin: http://www.linkedin.com/in/davsclaus
4. 4
My Camel Story
● Starts 7 years ago
● Consultant working for Silverbullet
● POC in 2007/2008
● Looking for
● open source
● Integration framework
● As replacement for aging Integration Platform
● Apache Camel was one of the candidates
5. 5
My Camel Story
● Apache Camel 1.2 had missing parts
● .. so I had to add those missing parts
6. 6
My Camel Story
● .. to turn Camel into the lovely Camel
it could be back.
●
It was a success as our 1st
Apache Camel 1.x
integration went into production end of 2008.
7. 7
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?
● More Information
9. 9
What is Apache Camel?
● Why do we need integration?
● Critical for your business to integrate
● Why Integration Framework?
● Framework do the heavy lifting
● You can focus on business problem
● Not "reinventing the wheel"
10. 10
What is Apache Camel?
● What is Enterprise Integration Patterns?
It's a book
11. 11
What is Apache Camel?
● Enterprise Integration Patterns
http://camel.apache.org/eip
33. 33
What is Apache Camel?
● Summary
● Integration Framework
● Enterprise Integration Patterns (EIP)
● Routing (using DSL)
● Easy Configuration (endpoint as uri's)
● Just Java or XML code
● No Container Dependency
● A lot of components
34. 34
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?
● More Information
40. 40
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?
● More Information
44. 44
Riding Camel
● Twitter Example
● cd examples/camel-example-twitter-websocket
● mvn compile exec:java http://localhost:9090/index.html
45. 45
Riding Camel
● More examples ...
... and further details at website.
http://camel.apache.org/examples
46. 46
Agenda
● 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
56. 56
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?
● More Information
57. 57
Deploying Camel
● Deployment Strategy
● No Container Dependency
● Lightweight & Embeddable
● Deployment Options
● Standalone
● WAR
● Spring
● JEE
● OSGi
● Cloud
Known Containers
Apache ActiveMQ
Apache Karaf
Apache ServiceMix
Apache Tomcat
Fabric8
Glassfish
JBoss AS / Wildfly
JBoss Fuse
JBoss Fuse Service Works
Jetty
WebLogic
WebSphere
Known Clouds
Amazon EC2
Google App Engine
OpenStack
OpenShift
… and many more
58. 58
Camel as a Client
● Java Client Application (no routes)
● Example
● Upload a file to a FTP server
59. 59
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?
● More Information
64. 64
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?
● More Information
65. 65
What's not in the Camel box?
●
3rd
party Apache Camel software
● Commercial Support
● http://camel.apache.org/commercial-camel-offerings.html
● User Stories
● http://camel.apache.org/user-stories.html
● External Components
● http://camel.apache.org/components.html (bottom)
● Apache Camel Extra
● https://code.google.com/a/apache-extras.org/p/camel-extra
66. 66
What's not in the Camel box?
Tooling – Eclipse Plugin – Fuse IDE
Free community and Red Hat supported versions at:
http://tools.jboss.org/downloads/
67. 67
What's not in the Camel box?
Tooling – Web Console - hawtio
http://hawt.io
68. 68
What's not in the Camel box?
● Integration Platform - fabric8
http://fabric8.io
69. 69
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?
● More Information
70. 70
Where do I get more information?
● Best Article covering what Apache Camel is
● http://java.dzone.com/articles/open-source-integration-
apache
Link to article from “Getting Started”
71. 71
Where do I get more information?
● Try Camel Examples
● http://camel.apache.org/examples.html
● Read other blogs and articles
● http://camel.apache.org/articles.html
● Use the “search box” on the Camel front page
72. 72
Where do I get more information?
● Use the mailing list / forum
● http://camel.apache.org/mailing-lists.html
● Use stackoverflow
● http://stackoverflow.com/questions/tagged/apache-camel
● Use IRC chat
● http://camel.apache.org/irc-room.html
73. 73
Where do I get more information?
● Buy the Camel in Action book
http://manning.com/ibsen/
Use code ...
camel40
… for 40% discount
74. 74
Where do I get more information?
● .. and/or any of the other Camel books in the market
http://camel.apache.org/books