enterprise integration patterns - java forum...
TRANSCRIPT
Wir lösen das – persönlich!
Enterprise Integration PatternsBest Practices for Application Integration
Java Forum Stuttgart 2013
© 2013 innoQ Deutschland GmbH
Enterprise Applications
© 2013 innoQ Deutschland GmbH
Enterprise Applications
ERP
© 2013 innoQ Deutschland GmbH
Enterprise Applications
ERP
CRM
© 2013 innoQ Deutschland GmbH
Enterprise Applications
ERP
CRM
SCM
© 2013 innoQ Deutschland GmbH
Enterprise Applications
ERP
CRM
SCM
Ihre selbstentwickelte
Anwendung!
© 2013 innoQ Deutschland GmbH
Integration
© 2013 innoQ Deutschland GmbH
Integration
Wir lösen das – persönlich!
© 2013 innoQ Deutschland GmbH
Wozu diese Pattern?
© 2013 innoQ Deutschland GmbH
Eine Integrationsaufgabe erkennen,
wenn sie direkt vor einem steht?
© 2013 innoQ Deutschland GmbH
LEICHT!
http
://w
ww
.flic
kr.c
om/p
hoto
s/m
roac
h/39
2290
3520
/
© 2013 innoQ Deutschland GmbH
Die passenden Hilfsmittel verwenden?
© 2013 innoQ Deutschland GmbH
TEUER?
http
://w
ww
.flic
kr.c
om/p
hoto
s/oh
skyl
ab/4
5476
9350
2
© 2013 innoQ Deutschland GmbH
Eine einfache und stabile
Lösung entwickeln?
© 2013 innoQ Deutschland GmbH
UNBEZAHLBAR!
http
://w
ww
.flic
kr.c
om/p
hoto
s/w
espi
onag
e/18
4793
114
© 2013 innoQ Deutschland GmbH
Enterprise Integration Pattern
© 2013 innoQ Deutschland GmbH
Enterprise Integration Pattern
Rezepte gegen
Integrationsschmerzen!
© 2013 innoQ Deutschland GmbH
Pattern für EAI
© 2013 innoQ Deutschland GmbH
Pattern für EAI Design Patterns (Gamma et al), 1994
© 2013 innoQ Deutschland GmbH
Pattern für EAI Design Patterns (Gamma et al), 1994
Proven solutions for common problems
© 2013 innoQ Deutschland GmbH
Pattern für EAI Design Patterns (Gamma et al), 1994
Proven solutions for common problems
Enterprise Integration Patterns (Hohpe & Woolf), 2003
© 2013 innoQ Deutschland GmbH
Pattern für EAI Design Patterns (Gamma et al), 1994
Proven solutions for common problems
Enterprise Integration Patterns (Hohpe & Woolf), 2003
Swiss-army knife for asynchronous messaging
Wir lösen das – persönlich!
© 2013 innoQ Deutschland GmbH
Integration Styles
© 2013 innoQ Deutschland GmbH
Integration Styles
File Transfer
http://www.eaipatterns.com
/FileTransferIntegration.html
© 2013 innoQ Deutschland GmbH
Integration Styles
Shared Database
http://www.eaipatterns.com
/SharedDataBaseIntegration.html
© 2013 innoQ Deutschland GmbH
Integration Styles
Remote Procedure Invocation
http://www.eaipatterns.com
/EncapsulatedSynchronousIntegration.html
© 2013 innoQ Deutschland GmbH
Integration Styles
Messaging
http://www.eaipatterns.com
/Messaging.html
© 2013 innoQ Deutschland GmbH
“Various technologies have been around (…). We all believe that asynchronous
messaging carries the greatest promise.”- Martin Fowler (Enterprise Integration Patterns, 2003)
© 2013 innoQ Deutschland GmbH
MESSAGING?
http://bit.ly/PtrhWy
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
message-based communication -> decoupling
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
message-based communication -> decoupling
integrate heterogenous platforms/ languages
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
message-based communication -> decoupling
integrate heterogenous platforms/ languages
variable timing & throttling
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
message-based communication -> decoupling
integrate heterogenous platforms/ languages
variable timing & throttling
reliable communication
© 2013 innoQ Deutschland GmbH
Gründe für async. Messaging
message-based communication -> decoupling
integrate heterogenous platforms/ languages
variable timing & throttling
reliable communication
disconnected operation
© 2013 innoQ Deutschland GmbH
Common Wording
© 2013 innoQ Deutschland GmbH
Message Channelhttp://www.eaipatterns.com
/MessageChannel.html
© 2013 innoQ Deutschland GmbH
Message ChannelInMemory oder Persistent
http://www.eaipatterns.com
/MessageChannel.html
© 2013 innoQ Deutschland GmbH
Inbound & Outbound Adapterhttp://www.eaipatterns.com
/ChannelAdapter.html
© 2013 innoQ Deutschland GmbH
Inbound & Outbound AdapterApplikationsspezi!sche Interfaces
http://www.eaipatterns.com
/ChannelAdapter.html
© 2013 innoQ Deutschland GmbH
Pipes and Filtershttp://www.enterpriseintegrationpatterns.com/PipesAndFilters.html
© 2013 innoQ Deutschland GmbH
Pipes and FiltersVerarbeitung in kleine Schritte au"eilen
http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html
© 2013 innoQ Deutschland GmbH
Message Routerhttp://www.enterpriseintegrationpatterns.com/MessageRouter.html
© 2013 innoQ Deutschland GmbH
Message RouterWeiterleitung anhand von Bedingungen
http://www.enterpriseintegrationpatterns.com/MessageRouter.html
© 2013 innoQ Deutschland GmbH
Transformerwww.enterpriseintegrationpatterns.com/MessageTransformationIntro.html
© 2013 innoQ Deutschland GmbH
Wire Taphttp://www.eaipatterns.com
/WireTap.html
© 2013 innoQ Deutschland GmbH
Wire TapSimple !xed Recipient List
http://www.eaipatterns.com
/WireTap.html
© 2013 innoQ Deutschland GmbH
Control Bushttp://www.eaipatterns.com
/ControlBus.html
© 2013 innoQ Deutschland GmbH
Control BusManage integration systems & components
http://www.eaipatterns.com
/ControlBus.html
© 2013 innoQ Deutschland GmbH
Nachrichtentypen
© 2013 innoQ Deutschland GmbH
Nachrichtentypen
Allgemein
© 2013 innoQ Deutschland GmbH
Nachrichtentypen
Allgemein
Command Message
© 2013 innoQ Deutschland GmbH
Nachrichtentypen
Allgemein
Command Message
Document Message
© 2013 innoQ Deutschland GmbH
Nachrichtentypen
Allgemein
Command Message
Document Message
Event Message
© 2013 innoQ Deutschland GmbH
EAI Frameworks
Apache Camel Spring Integration
© 2013 innoQ Deutschland GmbH
Code Beispiel:GatewaySampleTest
© 2013 innoQ Deutschland GmbH
Immer ein EAI-Framework verwenden?
© 2013 innoQ Deutschland GmbH
Immer ein EAI-Framework verwenden?
It depends!
© 2013 innoQ Deutschland GmbH
Praxis-Beispiel
Eine einfache Au"ragsverwaltung
© 2013 innoQ Deutschland GmbH
2 Monate später
© 2013 innoQ Deutschland GmbH
2 Jahre später
© 2013 innoQ Deutschland GmbH
Code Beispiel „CSV“-Import
Wir lösen das – persönlich!
© 2013 innoQ Deutschland GmbH
Vielen Dank! Alexander Heusingfeld, @[email protected]://www.innoq.com
Wir lösen das – persönlich!