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

Preview:

Citation preview

Effiziente Integration von Anwendungen mit Apache Camel

Die smarteste Versuchung ...

Kai Wähner MaibornWolff et al GmbH

Martin Huber innoQ GmbH

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

Herbstcampus - Nürnberg - 5.9.2011

Was ist das Problem?

06.09.11 Seite 4

•  Anwendungen

•  Schnittstellen

•  Technologien

•  Produkte

Wachstum

Herbstcampus - Nürnberg - 5.9.2011

Heterogenität

06.09.11 Seite 5

Herbstcampus - Nürnberg - 5.9.2011

6

Legacy-Systeme

Herbstcampus - Nürnberg - 5.9.2011

7

Spaghetti überall....

Herbstcampus - Nürnberg - 5.9.2011

8

Das „ESB-Versprechen“

Herbstcampus - Nürnberg - 5.9.2011

9

Spaghetti Inside

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) { }

Herbstcampus - Nürnberg - 5.9.2011

Wünsche

06.09.11 Seite 11

•  Standardisiert modellieren •  Effizient umsetzen •  Automatisiert testen

Herbstcampus - Nürnberg - 5.9.2011

Was ist die Key-Message?

06.09.11 Seite 12

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns verstehen!

Key Message

06.09.11 Seite 13

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns verstehen!

Das Konzept von Apache Camel verstehen!

Key Message

06.09.11 Seite 14

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

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

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

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 18

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 19

File Transfer

Shared Database

Remote Procedure Invocation

Messaging

Herbstcampus - Nürnberg - 5.9.2011

Enterprise Integration Patterns (EIP)

06.09.11 Seite 20

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

Herbstcampus - Nürnberg - 5.9.2011

Apache Camel

06.09.11 Seite 22

Implementiert die EIPs

Herbstcampus - Nürnberg - 5.9.2011

Apache Camel

06.09.11 Seite 23

Herbstcampus - Nürnberg - 5.9.2011

24

Apache Camel … auf Routen!

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

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

Herbstcampus - Nürnberg - 5.9.2011

Use Case

Herbstcampus - Nürnberg - 5.9.2011 28

Use Case (EIP Perspektive)

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

Herbstcampus - Nürnberg - 5.9.2011

Motto: "Learning by Doing"

06.09.11 Seite 30

Genug Theorie!

⇒  Auf zum Live Demo...

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

Herbstcampus - Nürnberg - 5.9.2011

Auswählen der gewünschten DSL

06.09.11 Seite 32

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...

Herbstcampus - Nürnberg - 5.9.2011

Überall einsetzbar!

06.09.11 Seite 34

Spring Container

Standalone

OSGi

Application Server

Web Container

Cloud

Herbstcampus - Nürnberg - 5.9.2011

Einsatz im Enterprise-Umfeld?

06.09.11 Seite 35

Herbstcampus - Nürnberg - 5.9.2011

Tool-Unterstützung

06.09.11 Seite 36

Fuse IDE

vs.

Talend Integration Suite

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

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

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

Herbstcampus - Nürnberg - 5.9.2011

Und der Gewinner ist...

06.09.11 Seite 40

... der Systemintegrator!

Herbstcampus - Nürnberg - 5.9.2011

Key Message angekommen?

06.09.11 Seite 41

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!

Herbstcampus - Nürnberg - 5.9.2011

Key Message angekommen?

06.09.11 Seite 43

Herbstcampus - Nürnberg - 5.9.2011

Appetit geweckt?

06.09.11 Seite 44

Herbstcampus - Nürnberg - 5.9.2011

Ein Teil der Community werden!

06.09.11 Seite 45

Vielen Dank für Ihre Aufmerksamkeit!

Kai Wähner MaibornWolff et al GmbH

Email: kai.waehner@mwea.de

Twitter: @KaiWaehner

Martin Huber innoQ GmbH

Email: martin.huber@innoq.com

Twitter: @Waterback

Recommended