enterprise integration patterns - java forum...

63
Wir lösen das – persönlich! Enterprise Integration Patterns Best Practices for Application Integration Java Forum Stuttgart 2013

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

Wir lösen das – persönlich!

Enterprise Integration PatternsBest Practices for Application Integration

Java Forum Stuttgart 2013

Page 2: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Applications

Page 3: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Applications

ERP

Page 4: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Applications

ERP

CRM

Page 5: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Applications

ERP

CRM

SCM

Page 6: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Applications

ERP

CRM

SCM

Ihre selbstentwickelte

Anwendung!

Page 7: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration

Page 8: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration

Page 9: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

Wir lösen das – persönlich!

© 2013 innoQ Deutschland GmbH

Wozu diese Pattern?

Page 10: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Eine Integrationsaufgabe erkennen,

wenn sie direkt vor einem steht?

Page 11: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

LEICHT!

http

://w

ww

.flic

kr.c

om/p

hoto

s/m

roac

h/39

2290

3520

/

Page 12: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Die passenden Hilfsmittel verwenden?

Page 13: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

TEUER?

http

://w

ww

.flic

kr.c

om/p

hoto

s/oh

skyl

ab/4

5476

9350

2

Page 14: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Eine einfache und stabile

Lösung entwickeln?

Page 15: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

UNBEZAHLBAR!

http

://w

ww

.flic

kr.c

om/p

hoto

s/w

espi

onag

e/18

4793

114

Page 16: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Integration Pattern

Page 17: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Enterprise Integration Pattern

Rezepte gegen

Integrationsschmerzen!

Page 18: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Pattern für EAI

Page 19: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Pattern für EAI Design Patterns (Gamma et al), 1994

Page 20: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Pattern für EAI Design Patterns (Gamma et al), 1994

Proven solutions for common problems

Page 21: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 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

Page 22: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 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

Page 23: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

Wir lösen das – persönlich!

© 2013 innoQ Deutschland GmbH

Integration Styles

Page 24: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration Styles

File Transfer

http://www.eaipatterns.com

/FileTransferIntegration.html

Page 25: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration Styles

Shared Database

http://www.eaipatterns.com

/SharedDataBaseIntegration.html

Page 26: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration Styles

Remote Procedure Invocation

http://www.eaipatterns.com

/EncapsulatedSynchronousIntegration.html

Page 27: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Integration Styles

Messaging

http://www.eaipatterns.com

/Messaging.html

Page 28: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 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)

Page 29: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

MESSAGING?

http://bit.ly/PtrhWy

Page 30: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Gründe für async. Messaging

Page 31: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Gründe für async. Messaging

message-based communication -> decoupling

Page 32: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Gründe für async. Messaging

message-based communication -> decoupling

integrate heterogenous platforms/ languages

Page 33: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Gründe für async. Messaging

message-based communication -> decoupling

integrate heterogenous platforms/ languages

variable timing & throttling

Page 34: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Gründe für async. Messaging

message-based communication -> decoupling

integrate heterogenous platforms/ languages

variable timing & throttling

reliable communication

Page 35: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 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

Page 36: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Common Wording

Page 37: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Message Channelhttp://www.eaipatterns.com

/MessageChannel.html

Page 38: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Message ChannelInMemory oder Persistent

http://www.eaipatterns.com

/MessageChannel.html

Page 39: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Inbound & Outbound Adapterhttp://www.eaipatterns.com

/ChannelAdapter.html

Page 40: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Inbound & Outbound AdapterApplikationsspezi!sche Interfaces

http://www.eaipatterns.com

/ChannelAdapter.html

Page 41: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Pipes and Filtershttp://www.enterpriseintegrationpatterns.com/PipesAndFilters.html

Page 42: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Pipes and FiltersVerarbeitung in kleine Schritte au"eilen

http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html

Page 43: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Message Routerhttp://www.enterpriseintegrationpatterns.com/MessageRouter.html

Page 44: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Message RouterWeiterleitung anhand von Bedingungen

http://www.enterpriseintegrationpatterns.com/MessageRouter.html

Page 45: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Transformerwww.enterpriseintegrationpatterns.com/MessageTransformationIntro.html

Page 46: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Wire Taphttp://www.eaipatterns.com

/WireTap.html

Page 47: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Wire TapSimple !xed Recipient List

http://www.eaipatterns.com

/WireTap.html

Page 48: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Control Bushttp://www.eaipatterns.com

/ControlBus.html

Page 49: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Control BusManage integration systems & components

http://www.eaipatterns.com

/ControlBus.html

Page 50: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Nachrichtentypen

Page 51: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Nachrichtentypen

Allgemein

Page 52: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Nachrichtentypen

Allgemein

Command Message

Page 53: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Nachrichtentypen

Allgemein

Command Message

Document Message

Page 54: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Nachrichtentypen

Allgemein

Command Message

Document Message

Event Message

Page 55: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

EAI Frameworks

Apache Camel Spring Integration

Page 57: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Immer ein EAI-Framework verwenden?

Page 58: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Immer ein EAI-Framework verwenden?

It depends!

Page 59: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

Praxis-Beispiel

Eine einfache Au"ragsverwaltung

Page 60: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

2 Monate später

Page 61: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

© 2013 innoQ Deutschland GmbH

2 Jahre später

Page 63: Enterprise Integration Patterns - Java Forum Stuttgart2013.java-forum-stuttgart.de/_data/2013_D7-Alexander_He...© 2013 innoQ Deutschland GmbH Pattern für EAI Design Patterns (Gamma

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!