When Camel Smiles

19
Pacemaker: Java When Camel Smiles OREST IVASIV 1/18/2015 @halyph

Transcript of When Camel Smiles

Page 1: When Camel Smiles

Pace

mak

er: J

ava

When Camel SmilesOREST IVASIV

1/18/2015 @halyph

Page 2: When Camel Smiles

Pace

mak

er: J

ava

Integration concept

Camel Intro

Sample route

Camel community

1/18/2015 @halyph2

Agenda

Page 3: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph3

What is Apache Camel?

Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns.

Is not ESB (Servicemix, Mule)Is not Message Broker (ActiveMQ, RabbitMQ)Is not a runtime container (see Tomcat)

Page 4: When Camel Smiles

Pace

mak

er: J

ava

1. Enterprise integration—how to integrate independent applications so that they can work together.

2. An enterprise application often incorporates an n-tier architecture enabling it to be distributed across several computers.

3. Q: Why is an n-tier architecture considered application distribution and not application integration?

◦ the communicating parts are tightly coupled

◦ communication between tiers tends to be synchronous

4. Communication between tiers tends to be synchronous

1/18/2015 @halyph4

Distributed Applications vs. Integration

Page 5: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph5

Complexity of Integration

No Tool

Integration Framework

Enterprise Service Bus

Integration Suite

Low High

ConnectivityRoutingTransformation

IntegrationToolingMonitoringSupport

Business Process ManagementBig Data / MDMRegistry / RepositoryRule Engine“You Name It”

Custom integration

Page 6: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph6

Message

Page 7: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph7

Exchange

Page 8: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph8

CamelContext

Page 9: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph9

Camel Architecture

Page 10: When Camel Smiles

Pace

mak

er: J

ava

General use Direct, seda, file, bean, log, timer

Search, big data, cashing Lucene, solr, elasticsearch

Hdfs, s3, mongodb

Ehcache, hazelcast

Management Jmx, ldap, splunk, zookeeper

Integration http, servlet, cxf, jms

protocols Mina, netty, pop3, imap

1/18/2015 @halyph10

Component Categories

Page 11: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph11

ls camel/components

Page 12: When Camel Smiles

Pace

mak

er: J

ava

• You found a component… now what?◦ Review the spec page, samples, unit tests

◦ Include camel-[component] jar in your project◦ Add dependency to your pom.xml

◦ w/o maven (gradle) just add your jars to your classpath

◦ Create a basic unit test◦ Copy/paste from component test

◦ Sanity test your setup

◦ Validate desired config option

◦ Integrate your component with your app◦ Is you CamelContent setup?

◦ Is your RouteBuilder wired in?

1/18/2015 @halyph12

How to use a component

Page 13: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph13

Sample Route

Page 14: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph14

Sample Route (cont.)

Page 15: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph15

Top Camel contributors$ git shortlog -ns

8095 Claus Ibsen2853 Willem Ning Jiang1385 James Strachan930 Willem Jiang757 Hadrian Zbarcea648 Babak Vahdat487 Christian Mueller478 Jonathan Anstey196 cmueller194 Hiram R. Chirino143 Christian Schneider139 Henryk Konsek136 Daniel Kulp130 Moulliard Charles108 Gert Vanthienen100 Dhiraj Bokde

Page 16: When Camel Smiles

Pace

mak

er: J

ava

Author: James Strachan <[email protected]> 2007-03-19 12:54:57

1/18/2015 @halyph16

Camel initial commit`

Apache ActiveMQApache CamelApache ServiceMixGroovy programming language

Page 17: When Camel Smiles

Pace

mak

er: J

ava

1/18/2015 @halyph17

Books

Page 18: When Camel Smiles

Pace

mak

er: J

ava

• Camel One 2011-2013 (http://camelone.org)

• DevNation 2014 (http://www.devnation.org)

1/18/2015 @halyph18

Conferences

Page 19: When Camel Smiles

Pace

mak

er: J

ava

Q&A

1/18/2015 @halyph19