Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11...

46
Effiziente Integration von Anwendungen mit Apache Camel Die smarteste Versuchung ... Kai Wähner MaibornWolff et al GmbH Martin Huber innoQ GmbH

Transcript of Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11...

Page 1: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Effiziente Integration von Anwendungen mit Apache Camel

Die smarteste Versuchung ...

Kai Wähner MaibornWolff et al GmbH

Martin Huber innoQ GmbH

Page 2: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Ziel dieses Vortrags

06.09.11 Seite 2

Bullet Point Boot Camp

Nur wenige Folien...

Page 3: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

... dafür jede Menge Live-Demos !!!

Ziel dieses Vortrags

06.09.11 Seite 3

Page 4: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Was ist das Problem?

06.09.11 Seite 4

•  Anwendungen

•  Schnittstellen

•  Technologien

•  Produkte

Wachstum

Page 5: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Heterogenität

06.09.11 Seite 5

Page 6: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

6

Legacy-Systeme

Page 7: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

7

Spaghetti überall....

Page 8: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

8

Das „ESB-Versprechen“

Page 9: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

9

Spaghetti Inside

Page 10: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Trotzdem immer nötig: Systemintegration

06.09.11 Seite 10

Viele Wege führen nach Rom...

Wie liest man den Inhalt einer Datei aus? try { BufferedReader in = new BufferedReader(new

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

in.close(); }

catch (IOException e) { }

Page 11: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Wünsche

06.09.11 Seite 11

•  Standardisiert modellieren •  Effizient umsetzen •  Automatisiert testen

Page 12: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Was ist die Key-Message?

06.09.11 Seite 12

Page 13: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns verstehen!

Key Message

06.09.11 Seite 13

Page 14: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns verstehen!

Das Konzept von Apache Camel verstehen!

Key Message

06.09.11 Seite 14

Page 15: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns verstehen!

Das Konzept von Apache Camel verstehen!

Apache Camel an Hand des Live-Demos kennenlernen!

Key Message

06.09.11 Seite 15

Page 16: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 16

Page 17: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 17

Page 18: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 18

Page 19: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 19

File Transfer

Shared Database

Remote Procedure Invocation

Messaging

Page 20: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 20

Page 21: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 21

Page 22: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Apache Camel

06.09.11 Seite 22

Implementiert die EIPs

Page 23: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Apache Camel

06.09.11 Seite 23

Page 24: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

24

Apache Camel … auf Routen!

Page 25: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Code-Beispiel (Java-DSL)

06.09.11 Seite 25

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

Page 26: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 26

Page 27: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Use Case

Page 28: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011 28

Use Case (EIP Perspektive)

Page 29: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 29

Page 30: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Motto: "Learning by Doing"

06.09.11 Seite 30

Genug Theorie!

⇒  Auf zum Live Demo...

Page 31: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

1) Was sind Enterprise Integration Patterns? 2) Was ist Apache Camel? 3) Anwendungsfall für das Live-Demo

4) LIVE DEMO: Apache Camel 5) Ausblick

Agenda

06.09.11 Seite 31

Page 32: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Auswählen der gewünschten DSL

06.09.11 Seite 32

Page 33: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Fast jede denkbare Komponente verfügbar

06.09.11 Seite 33

HTTP

FTP

File XSLT

MQ

JDBC

Akka

TCP SMTP

RSS Quartz

Log

LDAP

JMS

EJB

AMQP

Atom AWS

Bean-Validation

CXF

GAE

Jetty

JMX

Lucene

Netty RMI

SQL

Viele viele mehr... Eigene Komponenten...

Page 34: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Überall einsetzbar!

06.09.11 Seite 34

Spring Container

Standalone

OSGi

Application Server

Web Container

Cloud

Page 35: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Einsatz im Enterprise-Umfeld?

06.09.11 Seite 35

Page 36: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Tool-Unterstützung

06.09.11 Seite 36

Fuse IDE

vs.

Talend Integration Suite

Page 37: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Wichtigste Unterschiede

06.09.11 Seite 37

Fuse IDE

vs.

Talend Integration Suite

Stabiles Produkt Vice versa Development

Simples, intuitives Eclipse-Plugin

Proprietär Kostenpflichtig

Open Source Viel generierter Code

Keine manuelle Routen-Bearbeitung Lizenz-Dschungel

Page 38: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Wann einsetzen?

06.09.11 Seite 38

Komplexität der Integration

Niedrig Hoch

Integrations-Framework

Enterprise Service Bus (ESB)

Kein Tool

Page 39: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Wann einsetzen?

06.09.11 Seite 39

Komplexität der Integration

Niedrig Hoch

Integrations-Framework

Enterprise Service Bus (ESB)

Kein Tool

Apache Camel vs. Spring Integration

Page 40: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Und der Gewinner ist...

06.09.11 Seite 40

... der Systemintegrator!

Page 41: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Key Message angekommen?

06.09.11 Seite 41

Page 42: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Key Message

06.09.11 Seite 42

Enterprise Integration Patterns verstehen!

Das Konzept von Apache Camel verstehen!

Apache Camel an Hand des Live-Demos kennenlernen!

Page 43: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Key Message angekommen?

06.09.11 Seite 43

Page 44: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Appetit geweckt?

06.09.11 Seite 44

Page 45: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Herbstcampus - Nürnberg - 5.9.2011

Ein Teil der Community werden!

06.09.11 Seite 45

Page 46: Kai Wähner Martin Huber€¦ · Herbstcampus - Nürnberg - 5.9.2011 Ziel dieses Vortrags 06.09.11 Seite 2 Bullet Point Boot Camp Nur wenige Folien...

Vielen Dank für Ihre Aufmerksamkeit!

Kai Wähner MaibornWolff et al GmbH

Email: [email protected]

Twitter: @KaiWaehner

Martin Huber innoQ GmbH

Email: [email protected]

Twitter: @Waterback