enterprise integration patterns

100
Enterprise Integration patterns Johan Aludden Twitter: johanaludden Mail: [email protected] Blog: johanaludden.com/weblog

Upload: johan-aludden

Post on 10-May-2015

3.419 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Enterprise Integration Patterns

Enterprise Integration patterns

Johan AluddenTwitter: johanaludden

Mail: [email protected]: johanaludden.com/weblog

Page 2: Enterprise Integration Patterns

Integration styles

2

Page 3: Enterprise Integration Patterns

Integration styles• File transfer

2

Page 4: Enterprise Integration Patterns

Integration styles• File transfer• Shared Database

2

Page 5: Enterprise Integration Patterns

Integration styles• File transfer• Shared Database• Remote Procedure Invocation

2

Page 6: Enterprise Integration Patterns

Integration styles• File transfer• Shared Database• Remote Procedure Invocation• Messaging

2

Page 7: Enterprise Integration Patterns

Messaging

3

Page 8: Enterprise Integration Patterns

Messaging• Channels

3

Page 9: Enterprise Integration Patterns

Messaging• Channels• Messages

3

Page 10: Enterprise Integration Patterns

Producer Consumer

4

Page 11: Enterprise Integration Patterns

Producer Consumer• Many producers - Many Consumers

4

Page 12: Enterprise Integration Patterns

Producer Consumer• Many producers - Many Consumers• Message read once

4

Page 13: Enterprise Integration Patterns

Producer Consumer• Many producers - Many Consumers• Message read once• Load balancing

4

Page 14: Enterprise Integration Patterns

Producer Consumer• Many producers - Many Consumers• Message read once• Load balancing• Parallelization

4

Page 15: Enterprise Integration Patterns

Publish subscribe

5

Page 16: Enterprise Integration Patterns

Publish subscribe• Many Producers - Many Consumers

5

Page 17: Enterprise Integration Patterns

Publish subscribe• Many Producers - Many Consumers• Message read once per subscriber

5

Page 18: Enterprise Integration Patterns

Publish subscribe• Many Producers - Many Consumers• Message read once per subscriber• Broad casting

5

Page 19: Enterprise Integration Patterns

Publish subscribe• Many Producers - Many Consumers• Message read once per subscriber• Broad casting• Different processing

5

Page 20: Enterprise Integration Patterns

Channel Types• Producer Consumer• Publish Subscribe

6

Common Properties• Asynchronous• One Way Communication

Page 21: Enterprise Integration Patterns

Document Message

7

Page 22: Enterprise Integration Patterns

Document Message• Send information

7

Page 23: Enterprise Integration Patterns

Document Message• Send information• Receiver decides what to do

7

Page 24: Enterprise Integration Patterns

Document Message• Send information• Receiver decides what to do• Single unit of data

7

Page 25: Enterprise Integration Patterns

Command Message

8

Page 26: Enterprise Integration Patterns

Command Message• Send a command

8

Page 27: Enterprise Integration Patterns

Command Message• Send a command• Sender tells what to do

8

Page 28: Enterprise Integration Patterns

Command Message• Send a command• Sender tells what to do• Single Unit of Work

8

Page 29: Enterprise Integration Patterns

Message Types• Document message• Command message

9

Page 30: Enterprise Integration Patterns

Common Patterns

10

Page 31: Enterprise Integration Patterns

You want to send a request and get a reply

11

Page 32: Enterprise Integration Patterns

11

Page 33: Enterprise Integration Patterns

Sender Receiver

11

Page 34: Enterprise Integration Patterns

Sender ReceiverRequest

11

Page 35: Enterprise Integration Patterns

Sender ReceiverRequest

11

Page 36: Enterprise Integration Patterns

Sender Receiver

11

Page 37: Enterprise Integration Patterns

Sender Receiver

11

Page 38: Enterprise Integration Patterns

Sender Receiver

Reply

11

Page 39: Enterprise Integration Patterns

Sender Receiver

Reply

11

Page 40: Enterprise Integration Patterns

Sender Receiver

11

Page 41: Enterprise Integration Patterns

Sender Receiver

RequestID: 2

11

Page 42: Enterprise Integration Patterns

Sender Receiver

RequestID: 2

11

Page 43: Enterprise Integration Patterns

Sender Receiver

11

Page 44: Enterprise Integration Patterns

Sender Receiver

RequestID: 3

11

Page 45: Enterprise Integration Patterns

Sender Receiver

RequestID: 3

11

Page 46: Enterprise Integration Patterns

Sender Receiver

11

Page 47: Enterprise Integration Patterns

Sender Receiver

ReplyID: 3

11

Page 48: Enterprise Integration Patterns

Sender Receiver

ReplyID: 3

11

Page 49: Enterprise Integration Patterns

Sender Receiver

11

Page 50: Enterprise Integration Patterns

Sender Receiver

ReplyID: 2

11

Page 51: Enterprise Integration Patterns

Sender Receiver

ReplyID: 2

11

Page 52: Enterprise Integration Patterns

Sender Receiver

11

Page 53: Enterprise Integration Patterns

Request - Reply

Sender Receiver

11

Page 54: Enterprise Integration Patterns

One message with parts that can be handled individually

12

Page 55: Enterprise Integration Patterns

12

Page 56: Enterprise Integration Patterns

Sender Receiver

12

Page 57: Enterprise Integration Patterns

Sender Receiver

12

Page 58: Enterprise Integration Patterns

Sender Receiver

Message

Part 1

Part 2

12

Page 59: Enterprise Integration Patterns

Sender Receiver

Message

Part 1

Part 2

12

Page 60: Enterprise Integration Patterns

Sender Receiver

Part 1

Part 2

12

Page 61: Enterprise Integration Patterns

Sender Receiver

Part 1

Part 2

12

Page 62: Enterprise Integration Patterns

Sender Receiver

Part 1

Part 2

12

Page 63: Enterprise Integration Patterns

Splitter

Sender Receiver

Part 1

Part 2

12

Page 64: Enterprise Integration Patterns

Many Messages that needs to be handled together

13

Page 65: Enterprise Integration Patterns

13

Page 66: Enterprise Integration Patterns

Sender

13

Page 67: Enterprise Integration Patterns

Sender Receiver

13

Page 68: Enterprise Integration Patterns

Sender Receiver

13

Page 69: Enterprise Integration Patterns

Sender Receiver

Part 1

13

Page 70: Enterprise Integration Patterns

Sender Receiver

Part 1

Part 2

13

Page 71: Enterprise Integration Patterns

Sender Receiver

Part 1

Part 2

13

Page 72: Enterprise Integration Patterns

Sender ReceiverPart 1

Part 2

13

Page 73: Enterprise Integration Patterns

Sender ReceiverPart 1

Part 2

13

Page 74: Enterprise Integration Patterns

Sender Receiver

Message

Part 1

Part 2

13

Page 75: Enterprise Integration Patterns

Sender Receiver

Message

Part 1

Part 2

13

Page 76: Enterprise Integration Patterns

Aggregator

Sender Receiver

Message

Part 1

Part 2

13

Page 77: Enterprise Integration Patterns

You have one entry point for messages but they need to be

handled by different processes

14

Page 78: Enterprise Integration Patterns

14

Page 79: Enterprise Integration Patterns

Sender

Receiver 1

14

Receiver 2

Page 80: Enterprise Integration Patterns

Sender

Receiver 1

14

Receiver 2

Page 81: Enterprise Integration Patterns

Router

Sender

Receiver 1

14

Receiver 2

Page 82: Enterprise Integration Patterns

The sender and the receiver does not speak the same

language

15

Page 83: Enterprise Integration Patterns

15

Page 84: Enterprise Integration Patterns

Sender

15

Page 85: Enterprise Integration Patterns

Sender Receiver

15

Page 86: Enterprise Integration Patterns

Sender Receiver

15

Page 87: Enterprise Integration Patterns

Translator

Sender Receiver

15

Page 88: Enterprise Integration Patterns

You have messages that have the same semantic but

different formats

16

Page 89: Enterprise Integration Patterns

16

Page 90: Enterprise Integration Patterns

Sender 1

Receiver

16

Sender 2

Page 91: Enterprise Integration Patterns

Router

Sender 1

Receiver

16

Sender 2

Translator

Translator

Page 92: Enterprise Integration Patterns

Router

Normalizer

Sender 1

Receiver

16

Sender 2

Translator

Translator

Page 93: Enterprise Integration Patterns

You want to send the same message to many but to

handle the responses together

17

Page 94: Enterprise Integration Patterns

17

Page 95: Enterprise Integration Patterns

AggregatorSender 1 Receiver

17

Service 1

Service 2

Page 96: Enterprise Integration Patterns

Aggregator

Scatter Gather

Sender 1 Receiver

17

Service 1

Service 2

Page 97: Enterprise Integration Patterns

Pipes & Filter• Like Lego• Combine different patterns

18

Page 98: Enterprise Integration Patterns

Other Patterns• Resequencer• Routing slip

19

Page 100: Enterprise Integration Patterns

Questions?

21