Jazoon 2011 - Smart EAI with Apache Camel

Preview:

DESCRIPTION

Introduction to Apache Camel. Explains its concepts and why / when you should use it.I held the session together w

Citation preview

Apache Camel Smart Enterprise Application Integration

Kai Wähner MaibornWolff et al GmbH 145

Martin Huber innoQ Deutschland GmbH 145

2

Intention of this Session

Bullet Point

Boot Camp

3

Intention of this Session

4

What is the Problem?

5

Heterogeneity

6

Spaghetti Solutions

http://jimwebber.org/

7

Spaghetti Solutions

http://jimwebber.org/

8

Spaghetti Solutions

http://jimwebber.org/

9

Spaghetti Inside …

http://jimwebber.org/

10

Spaghetti Solutions … Better but:

http://jimwebber.org/

11

Wishes

12

Solution: Enterprise Application Integration (EAI)

How to read the Content of a File?

try { BufferedReader in = new BufferedReader(new

FileReader(“filename")); String str; while ((str = in.readLine()) != null) { process(str); }

in.close(); }

catch (IOException e) { }

13

What is the Key Message?

14

Key Message

15

Key Message

16

Key Message

17

Agenda

18

Agenda

1) What is Enterprise Integration Patterns?

19

Enterprise Integration Patterns (EIP)

20

Enterprise Integration Patterns (EIP)

21

Enterprise Integration Patterns

22

Agenda

2) What is Apache Camel?

23

Apache Camel

24

Apache Camel

http://java.dzone.com/articles/apache-camel-integration

25

Apache Camel … on Routes!

26

Code Example (Java DSL)

from("activemq:queue:order“)

.choice()

.when(header("paytype").isEqualTo("creditcard")) .to(“websphere-mq:queue:creditcards")

.when(header("paytype").isEqualTo("bankcard")) .to("smtp://mwea.mailserver:30

?password=xy&user=kw")

.otherwise() .to(“websphere-mq:queue:invalidOrder");

27

Agenda

3) Use Case for Demo

Use Case

29

Use Case (EIP Perspective)

30

Agenda

4) LIVE HACKING: Apache Camel

31

Live Demo

32

Agenda

5) Outlook

33

Choose your favorite DSL

34

Many Components available

HTTP

FTP File

XSLT

MQ

JDBC

Akka

TCP SMTP

RSS Quartz

Log

LDAP

JMS

EJB

AMQP

Atom AWS-S3

Bean-Validation CXF IRC

Jetty

JMX

Lucene

Netty

RMI

SQL

Many many more ... Own custom Components...

35

Deploy it wherever you need to!

Standalone

OSGi

Application Server

Web Container Spring Container

36

Enterprise-ready!

37

When to use Apache Camel?

Complexity of Integration

Low High

Apache Camel

Enterprise Service Bus (ESB)

No Tool

38

And the Winner is …

39

Did the Key Message arrive?

40

Key Message

41

Did the Key Message arrive?

42

When your Appetite?

43

Get a Part of the Community!

44

Thank you for your Attention … Questions?

= Smart Enterprise Application Integration +

Kai Wähner www.mwea.de MaibornWolff et al GmbH kai.waehner@mwea.de

@KaiWaehner

Martin Huber www.innoq.com innoQ GmbH martinh@innoq.com @waterback

Recommended