Enterprise Integration Patterns na nuvem com Spring Integration
Seminario Enterprise Integration Patterns
-
Upload
cristiano-costantini -
Category
Technology
-
view
115 -
download
4
description
Transcript of Seminario Enterprise Integration Patterns
![Page 1: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/1.jpg)
Enterprise Integration Patterns for TLCby Cristiano Costantini
![Page 2: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/2.jpg)
Introduzione
![Page 3: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/3.jpg)
“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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/5.jpg)
Un libro!
Gregor Hohpe and Bobby Woolf Addison-Wesley 2003
5
![Page 6: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/7.jpg)
Come si può fare integrazione?
I principali metodi tramite cui avviene integrazione nei sistemi software sono:
7
![Page 8: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/8.jpg)
Scambio di file
8
![Page 9: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/9.jpg)
Database Condiviso
9
![Page 10: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/10.jpg)
Remote Procedure Invocation
10
![Page 11: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/11.jpg)
Messaging
Gli EIP si focalizzano sulla integrazione via “messaging” e definiscono una propria notazione
per rappresentare le soluzioni di integrazione.
11
![Page 13: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/13.jpg)
Esempi di notazione
13
![Page 14: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/14.jpg)
Esempi di notazione
14
![Page 15: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/15.jpg)
Esempi di notazione
15
![Page 16: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/16.jpg)
Catalogo Pattern
![Page 17: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/18.jpg)
Panoramica Messaging Systems
18
![Page 19: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/19.jpg)
Message Channel“How does one application communicate with another using messaging?”
19
Messaging Systems
![Page 20: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/20.jpg)
Message“How can two applications connected by a message channel exchange a piece
of information?”
20
Messaging Systems
![Page 21: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/23.jpg)
Message Translator“How can systems using different data formats communicate with each other
using messaging?”
23
Messaging Systems
![Page 24: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/25.jpg)
Patterns per “Messaging Channels”
25
![Page 26: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/29.jpg)
Patterns per “Message Construction”
29
![Page 30: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/31.jpg)
Document Message“How can messaging be used to transfer data between applications?”
31
Patterns per “Message Construction”
![Page 32: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/34.jpg)
Patterns per “Message Routing” e “Message Transformation”
34
![Page 35: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/36.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/37.jpg)
Patterns per “Messaging Endpoints”
37
![Page 38: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/39.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/40.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/41.jpg)
SensorMixUn esempio di architettura software basata su EIP
![Page 42: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/42.jpg)
SensorMix
42
Architettura
![Page 43: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/43.jpg)
SensorMix
43
Rotte di integrazione campionamenti dai sensori
![Page 44: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/44.jpg)
SensorMix
44
Considerazione sull’uso del Canonical Data Model
![Page 45: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/45.jpg)
SensorMix
45
Datamodel UML
![Page 46: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/46.jpg)
SensorMix
46
Service UML
![Page 47: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/47.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/48.jpg)
Conclusioni
![Page 49: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/49.jpg)
Libri
•Enterprise Integration Patterns -G. Hohpe, B. Woolf - Addison Wesley
49
![Page 50: Seminario Enterprise Integration Patterns](https://reader034.fdocuments.in/reader034/viewer/2022042623/5494a9e7b479594c4d8b4b39/html5/thumbnails/50.jpg)
Cristiano Costantini [email protected]