Top Banner
42

Enterprise Integration Patterns with Camel

Jan 09, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Enterprise Integration Patterns with Camel
Page 2: Enterprise Integration Patterns with Camel

Agenda• What is Apache Camel ?

• What is EIP ?

• EIP with Apache Camel

• Example

• Demo

Page 3: Enterprise Integration Patterns with Camel
Page 4: Enterprise Integration Patterns with Camel
Page 5: Enterprise Integration Patterns with Camel
Page 6: Enterprise Integration Patterns with Camel
Page 7: Enterprise Integration Patterns with Camel
Page 8: Enterprise Integration Patterns with Camel
Page 9: Enterprise Integration Patterns with Camel
Page 10: Enterprise Integration Patterns with Camel
Page 11: Enterprise Integration Patterns with Camel
Page 12: Enterprise Integration Patterns with Camel
Page 13: Enterprise Integration Patterns with Camel
Page 14: Enterprise Integration Patterns with Camel
Page 15: Enterprise Integration Patterns with Camel
Page 16: Enterprise Integration Patterns with Camel
Page 17: Enterprise Integration Patterns with Camel
Page 18: Enterprise Integration Patterns with Camel
Page 19: Enterprise Integration Patterns with Camel
Page 20: Enterprise Integration Patterns with Camel
Page 21: Enterprise Integration Patterns with Camel

• CamelContext object represents the Camel runtime system.

• Registry: Holds all the bean necessary for routings.

• Exchange: contains message related headers properties.

• TypeConverter:Type conversion utility for converting types.

• Component is a factory for creating Endpoint instances.

• Endpoints implemented with many different communication technologies. • JMS queue

• Web service

• File

• FTP server

• Email Address

Camel Architecture

Page 22: Enterprise Integration Patterns with Camel
Page 23: Enterprise Integration Patterns with Camel

EIP with Camel

Page 24: Enterprise Integration Patterns with Camel
Page 25: Enterprise Integration Patterns with Camel

Content Based Router

Page 26: Enterprise Integration Patterns with Camel

• Camel supports the message translator using the processor, bean or transform nodes.

Page 27: Enterprise Integration Patterns with Camel

Message Filter EIP

• Camel has support for Message Filter using the filter node

from("jms:queue:inbox") .filter(header("test").isNotEqualTo("true")) .to("jms:queue:order");

Page 28: Enterprise Integration Patterns with Camel

Recipient List

• How to route messages based on a static or dynamic list of destinations

• Camel has support for Message Filter using the filter node

from("jms:queue:inbox") .multicast().to("file://backup",“seda:inbox");

from("seda:confirmMails").beanRef(processMails) .recipientList(“destinations")

Page 29: Enterprise Integration Patterns with Camel

Dynamic Router

from("jms:queue:order") .dynamicRouter(bean(new MyRouter()));

Page 30: Enterprise Integration Patterns with Camel

Splitter EIP

• Camel has support for Splitter using the split node

from("file://inbox") .split(body().tokenize("\n")) .to("seda:orderLines");

Page 31: Enterprise Integration Patterns with Camel

Aggregator EIP

• Camel has support for Aggregator using the aggregator node

from("jms:topic:stock:quote") .aggregate() .xpath("/quote/@symbol") .batchTimeout(5 * 60 *1000) .to(“seda:quotes");

Page 32: Enterprise Integration Patterns with Camel

Resequencer EIP

• Camel has support for Resequencer using the resequence node

from("jms:topic:stock:quote") .resequence().xpath("/quote/@symbol") .timeout(60 * 1000) .to(“seda:quotes");

Page 33: Enterprise Integration Patterns with Camel

Dead Letter Channel EIP

Page 34: Enterprise Integration Patterns with Camel
Page 35: Enterprise Integration Patterns with Camel
Page 36: Enterprise Integration Patterns with Camel

Wiretap

from("jms:queue:order") .wireTap("seda:tappedOrder") .to("bean:processOrder");

Page 37: Enterprise Integration Patterns with Camel
Page 38: Enterprise Integration Patterns with Camel
Page 39: Enterprise Integration Patterns with Camel
Page 40: Enterprise Integration Patterns with Camel
Page 41: Enterprise Integration Patterns with Camel
Page 42: Enterprise Integration Patterns with Camel

DEMO