SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Enterprise Integration
Patterns for TLC
by Cristiano Costantini
Introduzione
“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
Enterprise Integration Patterns (EIP)
Gli Enterprise Integration Patters offrono
soluzioni per affrontare il precedente
problema.
Cosa sono gli EIP?
4
Un libro!
Gregor Hohpe and Bobby Woolf
Addison-Wesley 2003
5
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.
Come si può fare integrazione?
I principali metodi tramite cui avviene
integrazione nei sistemi software sono:
7
Scambio di file
8
Database Condiviso
9
Remote Procedure Invocation
10
Messaging
Gli EIP si focalizzano sulla integrazione via
“messaging” e definiscono una propria notazione
per rappresentare le soluzioni di integrazione.
11
La notazione EIP
http://www.eaipatterns.com/toc.html 12
Esempi di notazione
13
Esempi di notazione
14
Esempi di notazione
15
Catalogo Pattern
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
Panoramica Messaging Systems
18
Message Channel
“How does one application communicate with another using messaging?”
19
Messaging Systems
Message
“How can two applications connected by a message channel exchange a piece
of information?”
20
Messaging Systems
Pipes and Filters
“How can we perform complex processing on a message while maintaining
independence and flexibility?”
21
Messaging Systems
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
Message Translator
“How can systems using different data formats communicate with each other
using messaging?”
23
Messaging Systems
Message Endpoint
“How does an application connect to a messaging channel to send and
receive messages?”
24
Messaging Systems
Patterns per “Messaging Channels”
25
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”
Publish-Subscribe channel
“How can the sender broadcast an event to all interested receivers?”
27
Patterns per “Messaging Channels”
Dead-Letter channel
“What will the messaging system do with a message it cannot deliver?”
28
Patterns per “Messaging Channels”
Patterns per “Message Construction”
29
Command Message
“How can messaging be used to invoke a procedure in another application?”
30
Patterns per “Message Construction”
Document Message
“How can messaging be used to transfer data between applications?”
31
Patterns per “Message Construction”
Event Message
“How can messaging be used to transmit events from one application to
another?”
32
Patterns per “Message Construction”
Request Reply
“When an application sends a message, how can it get a response from the
receiver?”
33
Patterns per “Message Construction”
Patterns per “Message Routing” e
“Message Transformation”
34
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”
Canonical Data Model
“How can you minimize dependencies when integrating applications that use
different data formats?”
36
Patterns per “Message Transformation”
Patterns per “Messaging Endpoints”
37
Polling Consumer
“How can an application consume a message when the application is ready?”
38
Patterns per “Messaging Endpoints”
Event Driven Consumer
“How can an application automatically consume messages as they become
available?”
39
Patterns per “Messaging Endpoints”
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”
SensorMix
Un esempio di architettura software basata su EIP
SensorMix
42
Architettura
SensorMix
43
Rotte di integrazione campionamenti dai sensori
SensorMix
44
Considerazione sull’uso del Canonical Data Model
SensorMix
45
Datamodel UML
SensorMix
46
Service UML
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:
Conclusioni
Libri
•Enterprise Integration Patterns
-G. Hohpe, B. Woolf - Addison Wesley
49
Cristiano Costantini
cristiano.costantini@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Seminario Enterprise Integration Patterns

communication in distributed systems
communication in distributed systemscommunication in distributed systems
communication in distributed systemsmohammed alrekabe
 
Dreamforce 2015 microservices
Dreamforce 2015 microservicesDreamforce 2015 microservices
Dreamforce 2015 microservicesJames Governor
 
A tale of two microservices
A tale of two microservicesA tale of two microservices
A tale of two microservicesPablo Chacin
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolithDee Wilcox
 
VLEs and the democratization of e-learning
VLEs and the democratization of e-learningVLEs and the democratization of e-learning
VLEs and the democratization of e-learningMartin Weller
 
Multi-Agent Architecture for Distributed IT GRC Platform
 Multi-Agent Architecture for Distributed IT GRC Platform Multi-Agent Architecture for Distributed IT GRC Platform
Multi-Agent Architecture for Distributed IT GRC PlatformIJCSIS Research Publications
 
Designing Application over mobile environment
Designing Application over mobile environmentDesigning Application over mobile environment
Designing Application over mobile environmentMaulik Patel
 
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...Hasib ur Rahman, PhD
 
A new model for interoperable administrative data
A new model for interoperable administrative dataA new model for interoperable administrative data
A new model for interoperable administrative dataRob Worthington
 
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and SecurityOntology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and SecurityBarry Smith
 
Technology and social movements
Technology and social movementsTechnology and social movements
Technology and social movementsSuresh Fernando
 
Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup FrankfurtDamir Dobric
 
The Visual Language of Ecosystems
The Visual Language of EcosystemsThe Visual Language of Ecosystems
The Visual Language of EcosystemsEd Morrison
 
PresentationTest
PresentationTestPresentationTest
PresentationTestbolu804
 
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...Matthew Skelton
 
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdf
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdfNovel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdf
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdfMaarit Laanti
 
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environmentsCAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environmentsRicardo Tesoriero
 
Jurnal e-learning management system using service oriented architecture
Jurnal   e-learning management system using service oriented architectureJurnal   e-learning management system using service oriented architecture
Jurnal e-learning management system using service oriented architectureRatzman III
 

Ähnlich wie Seminario Enterprise Integration Patterns (20)

Microservices why?
Microservices   why?Microservices   why?
Microservices why?
 
communication in distributed systems
communication in distributed systemscommunication in distributed systems
communication in distributed systems
 
Dreamforce 2015 microservices
Dreamforce 2015 microservicesDreamforce 2015 microservices
Dreamforce 2015 microservices
 
A tale of two microservices
A tale of two microservicesA tale of two microservices
A tale of two microservices
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolith
 
VLEs and the democratization of e-learning
VLEs and the democratization of e-learningVLEs and the democratization of e-learning
VLEs and the democratization of e-learning
 
Multi-Agent Architecture for Distributed IT GRC Platform
 Multi-Agent Architecture for Distributed IT GRC Platform Multi-Agent Architecture for Distributed IT GRC Platform
Multi-Agent Architecture for Distributed IT GRC Platform
 
Designing Application over mobile environment
Designing Application over mobile environmentDesigning Application over mobile environment
Designing Application over mobile environment
 
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...
Enabling Scalable Publish/Subscribe for Logical-Clustering in Crowdsourcing v...
 
Making ESSENCE Work
Making ESSENCE WorkMaking ESSENCE Work
Making ESSENCE Work
 
A new model for interoperable administrative data
A new model for interoperable administrative dataA new model for interoperable administrative data
A new model for interoperable administrative data
 
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and SecurityOntology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
 
Technology and social movements
Technology and social movementsTechnology and social movements
Technology and social movements
 
Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup Frankfurt
 
The Visual Language of Ecosystems
The Visual Language of EcosystemsThe Visual Language of Ecosystems
The Visual Language of Ecosystems
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
 
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
 
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdf
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdfNovel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdf
Novel_Value_Stream_Analysis_for_SAFe_-_ver_8.pdf
 
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environmentsCAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
 
Jurnal e-learning management system using service oriented architecture
Jurnal   e-learning management system using service oriented architectureJurnal   e-learning management system using service oriented architecture
Jurnal e-learning management system using service oriented architecture
 

Kürzlich hochgeladen

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Seminario Enterprise Integration Patterns