Implementing Enterprise Integration Patterns with Apache · PDF fileService Runtime (z.B....
date post
03-Sep-2019Category
Documents
view
12download
0
Embed Size (px)
Transcript of Implementing Enterprise Integration Patterns with Apache · PDF fileService Runtime (z.B....
Nr. 13. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Implementing Enterprise Integration Patterns
with Apache Camel
Herzlich Willkommen!Herzlich Willkommen!Herzlich Willkommen!Herzlich Willkommen!
Nr. 23. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Über den Referenten
Architekt
Eduard Hildebrandt
+49 (0160) 8870983
+49 (0711) 72846627
IT Consultant
BeraterEAI CoachSOA MDA
Nr. 33. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Nr. 43. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Nr. 53. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Definitionen
Enterprise Application Integration (EAI) ist ein Konzept zur unternehmensweiten Integration der Geschäftsfunktionen entlang der Wertschöpfungskette, die über verschiedene Applikationen auf unterschiedliche Plattformen verteilt sind, und im Sinne der Daten- und Geschäftsprozessintegration verbunden werden können.
Enterprise Integration Patterns sind bewährte Lösungsschablonen zur Integration von Geschäftsfunktionen und Anbindung von verschiedenen Anwendungen auf unterschiedlichen Plattformen.
=
Design Patterns beschreiben bewährte Lösungs-Schablonen für ein Entwurfsproblem. Sie stellen damit wiederverwendbare Vorlagen zur Problemlösung dar, die in einem spezifischen Kontext einsetzbar sind.
+
Nr. 63. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Buchempfehlung
Titel: Enterprise Integration Patterns Autor: Gregor Hohpe und Bobby Woolf Verlag: Addison-Wesley ISBN: 0321200683
Nr. 73. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Messaging
Nachricht Nachricht
Channel
Sender Empfänger
data format dependencies
location dependencies
temporal dependencies
Nr. 83. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Was ist Apache Camel?
http://activemq.apache.org/camel
Open-Source Java Framework
Implementiert ca. 35 Enterprise Integration Patterns
Domain Specific Language (Fluent API)
Nr. 93. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Apache Camel Architecture
http://activemq.apache.org/camel
Nr. 103. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Es war einmal…
…vor nicht allzulanger Zeit …an einem wunderschönen Tag
…ein IT-Architekt, der seinen Einkauf plante.
Nr. 113. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Nr. 123. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Nr. 133. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Nr. 143. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einkaufsliste
• Kinderüberraschung • Teddybär
• Malstifte
• Käse
• Brot • Tomaten
Nr. 153. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einkaufsliste mit Messaging…
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch
?
Nr. 163. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einkaufsliste mit Apache Camel…
Nr. 173. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Pattern: Router
Sender 1 Output Channel 1
Router
Output Channel 1
Sender
Empfänger
Empfänger
• Emfängt eine Nachricht von einem Channel und leitet diese abhängig von bestimmten Kriterien an einen anderen Channel weiter.
• Verändert nur das Ziel der Nachricht und nicht den Inhalt der Nachricht.
Input Channel
Nr. 183. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Router
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch
Channel
Wünsche der Ehefrau
Channel
Wünsche des Sohnes
Channel
Wünsche der Tochter
Router
Invalid Messages
Nr. 193. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Router mit Apache Camel
Nr. 203. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Pattern: Message Translator
Sender 1
Input Channel
Translator
Output Channel Sender Empfänger
• Transformiert von einem Datenformat in ein anderes Datenformat.
• Äquivalent zum Adapter Pattern für Nachrichten.
Nr. 213. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Message Translator
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch
Channel
Wünsche der Ehefrau
Channel
Wünsche des Sohnes
Channel
Wünsche der Tochter
Channel
Wünsche im einheitlichen
Format
Router
Invalid Messages
Translator
Translator
Translator
Nr. 223. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Transformation der Nachrichten (Ehefrau)
// CSV: Produkt,Anzahl Milch,2
Milch 2
Wunsch der Ehefrau: Translator Allgemeine Darstellung:
Nr. 233. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Transformation der Nachrichten (Sohn)
// Java Serialization
[binäre Daten]
Wunsch des Sohns:
Kinderei 2
Translator Allgemeine Darstellung:
Nr. 243. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Transformation der Nachrichten (Tochter)
Teddybaer 1
Wunsch der Tochter:
Teddybaer 1
Translator Allgemeine Darstellung:
Nr. 253. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Channel
Sender A
Sender B
Sender C
Channel
Channel
Channel
ChannelRouter
Invalid Messages
Translator
Translator
Translator
Normalizer
Pattern: Normalizer
• Transformiert Nachrichten in unterschiedlichen Datenformaten in ein einheitliches Datenformat.
• Verwendet intern einen Message Router und mehrere Message Translators.
Nr. 263. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Normalizer
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch
Channel
Wünsche der Ehefrau
Channel
Wünsche des Sohnes
Channel
Wünsche der Tochter
Channel
Normalisiert Wünsche
Router
Invalid Messages
Translator
Translator
Translator
Entspricht Normalizer Pattern
Nr. 273. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Normalizer
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch Normalizer
Nr. 283. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Normalizer mit Apache Camel
Nr. 293. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Sender
Pattern: Filter
Channel Filter
Channel
Empfänger
• spezielle Art von einem Router
• leitet nur Nachrichten weiter, die bestimmten Kriterien entsprechen
• hat im Gegensatz zu einem Router nur einen Output-Channel
Nr. 303. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Filter
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch Normalizer
1 2 3 1 3
Nr. 313. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Filter mit Apache Camel
Nr. 323. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Pattern: Aggregator
EmpfängerSender B
Sender A Channel Channel
Aggregator
• spezieller, zustandsbehafteter Filter
• identifiziert Nachrichten, die zueinander gehören
• sendet die aggregierten Informationen in einer eigenständigen Nachricht weiter
Nr. 333. Juli 2008 Implementing Enterprise Integration Patterns with Apache Camel
Einsatz von Aggregator
Channel
Wünsche
Ehefrau
Sohn
Tochter
Wunsch
Wunsch
Wunsch Normalizer Filter Aggregator
Nr. 343. J