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

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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