seminario enterprise integration patterns

50
Enterprise Integration Patterns for TLC by Cristiano Costantini

Upload: cristiano-costantini

Post on 18-Dec-2014

117 views

Category:

Technology


4 download

DESCRIPTION

Introduzione agli Entrprise Integration Patterns per Studenti di TLC - Slide a supporto del seminario

TRANSCRIPT

Page 1: Seminario Enterprise Integration Patterns

Enterprise Integration Patterns for TLCby Cristiano Costantini

Page 2: Seminario Enterprise Integration Patterns

Introduzione

Page 3: Seminario Enterprise Integration Patterns

“Integrare”

Cosa si intende quando parliamo di integrazione?

Trovare una soluzione al seguente problema:

“Come posso far funzionare insieme molteplici applicazioni attraverso lo

scambio di informazioni?”

3

Page 4: Seminario Enterprise Integration Patterns

Enterprise Integration Patterns (EIP)

Gli Enterprise Integration Patters offrono soluzioni per affrontare il precedente problema.

Cosa sono gli EIP?

4

Page 5: Seminario Enterprise Integration Patterns

Un libro!

Gregor Hohpe and Bobby Woolf Addison-Wesley 2003

5

Page 6: Seminario Enterprise Integration Patterns

Perchè “integrare” è importante?

Integrare è quindi l’arte di spostare informazioni da una applicazione ad un altra:

6

(soprattutto per studenti TLC)

I corsi universitari vi insegnano le tecnologie per spostare informazioni (su reti); Gli EIP vi insegnano come organizzare bene questo trasferimento di informazioni su sistemi ICT.

Page 7: Seminario Enterprise Integration Patterns

Come si può fare integrazione?

I principali metodi tramite cui avviene integrazione nei sistemi software sono:

7

Page 8: Seminario Enterprise Integration Patterns

Scambio di file

8

Page 9: Seminario Enterprise Integration Patterns

Database Condiviso

9

Page 10: Seminario Enterprise Integration Patterns

Remote Procedure Invocation

10

Page 11: Seminario Enterprise Integration Patterns

Messaging

Gli EIP si focalizzano sulla integrazione via “messaging” e definiscono una propria notazione

per rappresentare le soluzioni di integrazione.

11

Page 12: Seminario Enterprise Integration Patterns

La notazione EIP

http://www.eaipatterns.com/toc.html 12

Page 13: Seminario Enterprise Integration Patterns

Esempi di notazione

13

Page 14: Seminario Enterprise Integration Patterns

Esempi di notazione

14

Page 15: Seminario Enterprise Integration Patterns

Esempi di notazione

15

Page 16: Seminario Enterprise Integration Patterns

Catalogo Pattern

Page 17: Seminario Enterprise Integration Patterns

Organizzazione degli EIP

17

Chapter 1: Integration Styles

Chapter 2: Messaging Systems

Chapter 3: Messaging Channels

Chapter 4: Message Construction

Chapter 5: Message Routing

Chapter 6: Message Transformation

Chapter 7: Messaging Endpoints

Chapter 8: Systems Management

Messaging

Message Channel

Message Pipes and Filters

Message Router

Message Translator

Message Endpoint

File Transfer Shared Database

RMI

Page 18: Seminario Enterprise Integration Patterns

Panoramica Messaging Systems

18

Page 19: Seminario Enterprise Integration Patterns

Message Channel“How does one application communicate with another using messaging?”

19

Messaging Systems

Page 20: Seminario Enterprise Integration Patterns

Message“How can two applications connected by a message channel exchange a piece

of information?”

20

Messaging Systems

Page 21: Seminario Enterprise Integration Patterns

Pipes and Filters“How can we perform complex processing on a message while maintaining

independence and flexibility?”

21

Messaging Systems

Page 22: Seminario Enterprise Integration Patterns

Message Routing“How can you decouple individual processing steps so that messages can be

passed to different filters depending on a set of conditions?”

22

Messaging Systems

Page 23: Seminario Enterprise Integration Patterns

Message Translator“How can systems using different data formats communicate with each other

using messaging?”

23

Messaging Systems

Page 24: Seminario Enterprise Integration Patterns

Message Endpoint“How does an application connect to a messaging channel to send and

receive messages?”

24

Messaging Systems

Page 25: Seminario Enterprise Integration Patterns

Patterns per “Messaging Channels”

25

Page 26: Seminario Enterprise Integration Patterns

Point-to-Point channel“How can the caller be sure that exactly one receiver will receive the

document or perform the call?”

26

Patterns per “Messaging Channels”

Page 27: Seminario Enterprise Integration Patterns

Publish-Subscribe channel“How can the sender broadcast an event to all interested receivers?”

27

Patterns per “Messaging Channels”

Page 28: Seminario Enterprise Integration Patterns

Dead-Letter channel“What will the messaging system do with a message it cannot deliver?”

28

Patterns per “Messaging Channels”

Page 29: Seminario Enterprise Integration Patterns

Patterns per “Message Construction”

29

Page 30: Seminario Enterprise Integration Patterns

Command Message“How can messaging be used to invoke a procedure in another application?”

30

Patterns per “Message Construction”

Page 31: Seminario Enterprise Integration Patterns

Document Message“How can messaging be used to transfer data between applications?”

31

Patterns per “Message Construction”

Page 32: Seminario Enterprise Integration Patterns

Event Message“How can messaging be used to transmit events from one application to

another?”

32

Patterns per “Message Construction”

Page 33: Seminario Enterprise Integration Patterns

Request Reply“When an application sends a message, how can it get a response from the

receiver?”

33

Patterns per “Message Construction”

Page 34: Seminario Enterprise Integration Patterns

Patterns per “Message Routing” e “Message Transformation”

34

Page 35: Seminario Enterprise Integration Patterns

Message Broker

“How can you decouple the destination of a message from the sender and maintain central control over the flow of messages?”

35

Patterns per “Message Routing”

Page 36: Seminario Enterprise Integration Patterns

Canonical Data Model

“How can you minimize dependencies when integrating applications that use different data formats?”

36

Patterns per “Message Transformation”

Page 37: Seminario Enterprise Integration Patterns

Patterns per “Messaging Endpoints”

37

Page 38: Seminario Enterprise Integration Patterns

Polling Consumer“How can an application consume a message when the application is ready?”

38

Patterns per “Messaging Endpoints”

Page 39: Seminario Enterprise Integration Patterns

Event Driven Consumer“How can an application automatically consume messages as they become

available?”

39

Patterns per “Messaging Endpoints”

Page 40: Seminario Enterprise Integration Patterns

Service Activator“How can an application design a service to be invoked both via various

messaging technologies and via non-messaging techniques?”

40

Patterns per “Messaging Endpoints”

Page 41: Seminario Enterprise Integration Patterns

SensorMixUn esempio di architettura software basata su EIP

Page 42: Seminario Enterprise Integration Patterns

SensorMix

42

Architettura

Page 43: Seminario Enterprise Integration Patterns

SensorMix

43

Rotte di integrazione campionamenti dai sensori

Page 44: Seminario Enterprise Integration Patterns

SensorMix

44

Considerazione sull’uso del Canonical Data Model

Page 45: Seminario Enterprise Integration Patterns

SensorMix

45

Datamodel UML

Page 46: Seminario Enterprise Integration Patterns

SensorMix

46

Service UML

Page 47: Seminario Enterprise Integration Patterns

SensorMix

Slides: http://cristcost.github.io/sensormix/ Sensormix: https://github.com/cristcost/sensormix/ Sensormix Android: https://github.com/cristcost/sensormix-android/ Sensormix Arduino: https://github.com/michelefi/sensormix-arduino/

47

Collegamenti:

Page 48: Seminario Enterprise Integration Patterns

Conclusioni

Page 49: Seminario Enterprise Integration Patterns

Libri

•Enterprise Integration Patterns -G. Hohpe, B. Woolf - Addison Wesley

49

Page 50: Seminario Enterprise Integration Patterns

Cristiano Costantini [email protected]