2. Cos’é l’integrazione?
Cos’é il Middleware?
Demistifichiamo le Buzzword
Integrazione: i casi d’uso
Middleware Red Hat per l’integrazione
Red Hat JBoss Fuse
Enterprise Integration Patterns
Runtime
Processo di Sviluppo
Tooling
2
AGENDA
4. 4
Quali sono i problemi?
● Qualche volta si tratta di trasformazione di dati/protocollo
➔ Questo… é un micro problema d'integrazione
“Ho bisogno di questa informazione in questo formato specifico attraverso
questo protocollo!”
5. 5
… altre volte si ha un MACRO-problema:
● Qui il focus é sull'interconnessione di diverse sorgenti e destinazioni in maniera efficiente
● anche questo... é un problema d'integrazione.
“Voglio connettere nuove applicazioni e nuove features!”
6. 6
Integrazione
● L'integrazione può variare da
molto semplice a molto
complessa
● L’integrazione riduce la
complessità totale
“Problema” “Soluzione”
8. 8
Cos’é il Middleware?
● É un software organizzato in frameworks e blocchi riusabili progettato per risolvere problemi comuni.
Standardizza ed accelera lo sviluppo.
Hardware Store
The
client
11. 11
“Digital Transformation”
Contesto:
● Le aziende devono modernizzarsi per adattarsi al
cambiamento.
● Molti sistemi sono impattati, l'integrazione é una chiave
importante: it delivers innovation.
Cosa significa:
● Una opportunità di evolversi e di innovare
● Una possibilitá di ri-architettare usando i migliori tool ed i
migliori pattern
● Preparare la piattaforma del futuro.
12. 12
“Micro-Services”
Contesto:
● Si parte sempre con un piccolo numero di servizi
● Finché non si arriva ad avere un’unico monolite
di servizi strettamente interconnessi
● Lo sviluppo, il test, l’hosting e la gestione
diventano un incubo
Cosa significa:
● Non é un concetto nuovo.
● “Divide et Impera” nel mondo dei servizi.
● Obiettivo ideale: unità indipendenti con small
footprint
13. 13
“API Management”
Contesto:
● Una organizzazione perde il controllo per via dell'alto
numero di servizi.
● Assenza di un registry centrale con le informazioni sui
servizi
● Il Management non ha controllo e visibilitá sulle API.
● Aggiungere nuovi clienti diventa complicato.
Cosa significa:
● Adozione necessaria quando il numero di servizi aumenta.
● Una ‘Best Practice’ architecture per gestire le API.
● Felicità ed entusiasmo quando la console di gestione mostra
i KPI
14. 14
“Internet of Things”
Contesto:
● Dispositivi economici che generano una quantità enorme di
dati da gestire
● Continuo aumento di dispositivi da connettere
● Necessità di analizzare il traffico di dati per prendere
decisioni di business, spesso in real time
Cosa significa:
● Use case: migliaia di dispositivi connessi ad 1
gateway.
● Alto volume di traffico/messaggi da gestire
16. Mediation Layer
Contesto:
● Un’organizzazione cresce e
diventa molto complessa, con molti
backend a data source diversi.
● i Clienti devono interagire con il
sistema.
e.g. Industria Telecomunicazioni:
L’azienda comincia ad operare in nuove
nazioni, fa delle acquisizioni, deve
integrare nuovi sistemi.
17. File Transfer
Contesto:
● Fle batch sparsi un po’ ovunque
nell'organizzazione.
● File che devono essere trasferiti
in maniera sicura fra i vari
dipartimenti
e.g. Supplier chain:
Scambio documenti, Purchase
Orders, etc
18. (o ‘Data Mapping’)
Data Transformation
Contesto:
● Sistemi differenti vogliono formati
differenti
● Trasformazione dei dati da un
formato all’altro
Data Data
e.g. Mobile phones:
Trasmissioni “light" per
risparmiare batteria. I dati
vanno successivamente
trasformati per invocare le API
di backend.
Examples of data formats:
● CSV (comma separated values)
● XML (e.g. <name>Ugol</name>)
● JSON (e.g. “name”: ”Ugol”)
● HL7 (standard healthcare)
● SWIFT (scambi finanziari)
19. Intelligent Router Contesto:
● L'organizzazione non ha
visibilità/controllo sul traffico che
viaggia nella sua rete.
● Uno strato di intelligenza permette
di controllare il flusso, per esempio
sulla base del contenuto
e.g. Media provider:
Ha iniziato fornendo contenuti musicali, ma
ha incorporato due nuovi servizi per video e
libri
Il routing layer integra i tre servizi e permette
di avere visibilità e controllo.
20. Protocol Bridging
Contesto:
● I servizi sono esposti su protocolli
differenti
○ HTTP
○ JMS
○ REST
○ SOAP
● Adattamento ed esposizione di
diversi protocolli/versioni
e.g. General EIP Pattern:
Durante l’adozione di nuovi
standard e/o tecnologie, Fuse
offre la possibilitá di riusare i
servizi legacy”tramite il bridging
21. Composizione di Servizi
response
Contesto:
● Diversi servizi sono già presenti
● Esporre nuovi servizi come
combinazione di servizi esistenti
e.g. Travel agency:
Offre la prenotazione di
voli/treni/macchine/stanze
Combinando i servizi insieme si possono
offrire pacchetti “custom", per esempio viaggi
di lusso od economici.
22. Document Repository
Contesto:
● L’azienda genera molti documenti
● Impiegati/utenti devono accedere
questi documenti da diverse
piattaforme/location
e.g. Healthcare:
La storia dei pazienti, le
radiografie, ed in generale i
documenti sanitari devono
essere visibili da differenti
dipartimenti medici ed ospedali
23. Business Activity Monitoring Enablement
Contesto:
● I processi di business vivono in
diverse applicazioni/sistemi
all'interno dell'azienda
● Un "single pane of glass" per il
monitoraggio dei business process
● Enforcement di SLA/KPI
Appllication Application Application
Events Events
Correlation & Processing Dashboards - KPIs &
SLAs
Events
e.g. Retail:
Gli ordini devono essere tracciati end-to-
end
Monitoring degli SLA.
24. 24
Batch -> Real-Time
Contesto:
● Flussi informativi predefiniti (Giornalieri,
Orari, Notturni)
● Spesso basati su File/DB
● Middleware per
○ Introdurre Event Driven Processing
○ Ridurre il Process Time
○ Incrementare Responsiveness
2 Day Information Flow
Immediate Information Flow
e.g. E-Commerce:
● Aziende che vendono “Servizi” ai clienti
● I Clienti sono connessi e pretendono update
immediati
○ Stato del pagamento
○ Dov’é il mio ordine?
Un produttore auto ha ridotto il tempo di
reporting di “quando arriverà la mia auto” da 2
giorni a 5 minuti.
26. RED HAT JBOSS MIDDLEWARE
Innovate faster, in a smarter way
DEVELOPMENTTOOLS
RedHatJBossDeveloperStudio
MANAGEMENTTOOLS
RedHatJBossOperationsNetwork
PHYSICAL VIRTUAL PUBLIC CLOUD PRIVATE CLOUD
AUTOMATE
INTEGRATE
ACCELERATE
Red Hat JBoss BPM Suite
Red Hat JBoss BRMS
Red Hat 3Scale API Management
Red Hat JBoss Fuse
Red Hat JBoss A-MQ
Red Hat JBoss Data Virtualization
Red Hat JBoss Enterprise Application Platform
Red Hat JBoss Data Grid
Red Hat JBoss Web Server
Red Hat Mobile Application Platform (FeedHenry)
27. APPLICATION INTEGRATION
Abilita l’integrazione di processi di business
end-to-end per diverse applicazioni
Accelerare lo sviluppo di sistemi integrati.
SOLUZIONI COMPLESSE POTREBBERO RICHIEDERE ENTRAMBE
LE TECNOLOGIE
DATA INTEGRATION
Abilita l’accesso ai dati da fonti disparate con una vista
combinata e consistente
Migliorare "business decisions", accelerare lo sviluppo
di sistemi di business intelligence.
DUE DIVERSI TIPI DI INTEGRAZIONE
28. RED HAT INTEGRATION PLATFORM
Connect systems, applications and data across your entire enterprise
60. Throttling
1. Prendere dei files da una directory
2. (al massimo 3 files ogni 30 secondi)
3. Spedire via JMS in una coda
4. Ascoltare su una coda
5. Fare upload su un server FTP
1 2 3 4 5
from throttle to from to
63. Splitter with Parallel Processing
from("file:inbox")
.split(body().tokenize(“n")
.parallelProcessing()
.marshal(customToXml)
.to("activemq:line");
64. Splitter with XML Streaming
from("file:inbox")
.split().tokenizeXML(“order")
.streaming
.to("activemq:line");
<orders>
<order>
<!-- order stuff here -->
</order>
<order>
<!-- order stuff here -->
</order>
...
<order>
<!-- order stuff here -->
</order>
</orders>
73. Requisito di Integrazione
• Se il tag A contenuto nel Messaggio M ha un il valore
X nel record corrispondente nella tabella B
• Trasforma M (rimuovi t1 tag, aggiungi X tag)
• Aggiungi il tag t3 al Message M (sempre)
82. • Web Console HTML5 per Java middleware
• basata su AngularJS, Bootstrap e JavaScript (TypeScript)
• usa Jolokia per accedere a JMX over HTTP/JSON
• hawtio ha molti plugins per Fuse, fabric8, camel, activemq, karaf,
JMX…
Hawt.io
84. • Debugging e Tracing di rotte Camel, con breakpoint
• Editing di rotte Camel
• É in grado di mostrare il sorgente Java di un componente che ha
lanciato un eccezione a runtime
Hawt.io
It’s like having to translate English to French (JSON and XML are data formats, like PDF, or GIF)
Everything to Everything, e.g. A mobile (on top) needs to display info from a source (down)
to ‘simplify’ means complexity gets hidden: all the caller wants is to get the requested info.
there is more in here than it seems. Each Lego block has been carefully designed, and they all connect together. Lego guys have been thinking hard and we can all enjoy it.
What this buzzwords have to do with Integration and Middleware
Red Hat's JBoss Middleware portfolio is a comprehensive set of products that help you to Accelerate application delivery, Integrate applications, data and devicesa and Automate business rules and processes.
JBoss delivers mission-critical runtime for applications that improve developer productivity, and facilitates interaction between diverse applications across internal and external networks.
Xmas time !! we open the box and we get plenty !! All the available LEGO blocks to play with !!
Bonus Package: ActiveMQ shipped with Fuse, Integration requires Messaging.
Global Integration Gateway, exposes Vodafone services connecting Partners and Vf countries.
no one large cluster, but manageable entities. Data Aquisition systems.