Upload
others
View
4
Download
0
Embed Size (px)
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: [email protected]
Twitter: @KaiWaehner
Martin Huber innoQ GmbH
Email: [email protected]
Twitter: @Waterback