microservizi, scenari del prossimo e del lontano futuro
TRANSCRIPT
![Page 1: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/1.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Microservizi scenari del prossimo e del lontano futuro
1
Saverio Giallorenzo
![Page 2: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/2.jpg)
[email protected] | DISI at Unibo | San Francisco | September Microservices Meetup
Buon Pomeriggio
2
Saverio
Post-doc presso il Dipartimento di Informatica - Scienza e Ingegneria dell’Università di Bologna.
Tematiche di ricerca:- Programmazione concorrente
e distribuita;- Coreografie, Tipi Sessione e
Algebre di Processi.- Microservizi;- Jolie;
![Page 3: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/3.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Microservizi scenari del prossimo e del lontano futuro
3
Saverio Giallorenzo
WARNINGMAY CONTAIN
CHOREOGRAPHIES
![Page 4: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/4.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
I Limiti di oggi
4
There is no effort without error and
shortcoming.“Citizenship in a Republic”, Theodore Roosevelt, 1910
![Page 5: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/5.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
I Limiti di oggi
4
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
![Page 6: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/6.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita5
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
![Page 7: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/7.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita5
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Cosa c’è qua dentro (e.g., error tracing)?
Vendite Magazzino Spedizioni
![Page 8: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/8.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita5
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità interna?O del corriere? Docs/APIs?
Vendite Magazzino Spedizioni
![Page 9: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/9.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita5
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità interna?O del corriere? Docs/APIs?
Vendite Magazzino Spedizioni
![Page 10: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/10.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita5
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità interna?O del corriere? Docs/APIs?
In serie o parallelo?
Vendite Magazzino Spedizioni
![Page 11: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/11.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
![Page 12: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/12.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
![Page 13: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/13.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Golfo dell’ esecuzione
![Page 14: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/14.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Micro-gestione
Golfo dell’ esecuzione
![Page 15: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/15.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Micro-gestione
Golfo dell’ esecuzione
Coordinamento?Responsabilità?
![Page 16: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/16.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Micro-gestione
Golfo dell’ esecuzione Golfo della
Valutazione
Coordinamento?Responsabilità?
![Page 17: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/17.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Micro-gestione
Golfo dell’ esecuzione Golfo della
Valutazione
Coordinamento?Responsabilità?
![Page 18: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/18.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili7
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
WebServer
WebServer
GestoreOrdini
GestioneOrdini
GestioneOrdini
GestioneOrdini
preventivo
tracking
?
![Page 19: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/19.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili7
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
WebServer
WebServer
GestoreOrdini
GestioneOrdini
GestioneOrdini
GestioneOrdini
preventivo
tracking
?
=
![Page 20: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/20.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili7
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
WebServer
WebServer
GestoreOrdini
GestioneOrdini
GestioneOrdini
GestioneOrdini
preventivo
tracking
?
ricollegare le frecce ad ogni “scalata”=
![Page 21: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/21.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili7
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
WebServer
WebServer
GestoreOrdini
GestioneOrdini
GestioneOrdini
GestioneOrdini
preventivo
tracking
?
ricollegare le frecce ad ogni “scalata”=
![Page 22: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/22.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili7
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
WebServer
WebServer
GestoreOrdini
GestioneOrdini
GestioneOrdini
GestioneOrdini
preventivo
tracking
?
ricollegare le frecce ad ogni “scalata”=
![Page 23: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/23.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Uno sguardo al futuro Programmazione Coreografica
8
![Page 24: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/24.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Enter AIOCJ
9
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale )
![Page 25: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/25.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale
10
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale )
![Page 26: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/26.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale
10
Client Vendite SpedizioniMagazzino
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale )
![Page 27: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/27.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale
10
Client Vendite SpedizioniMagazzino
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale )
![Page 28: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/28.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 11
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale )
![Page 29: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/29.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 11
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale )
Cosa c’è qua dentro
![Page 30: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/30.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 11
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale )
Cosa c’è qua dentro
![Page 31: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/31.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 11
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale )
Cosa c’è qua dentro
![Page 32: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/32.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 11
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale )
Cosa c’è qua dentro
![Page 33: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/33.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale
12
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
Client Vendite SpedizioniMagazzinoCliente
![Page 34: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/34.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale
12
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
Client Vendite SpedizioniMagazzino
Funzione controlloDisp
Cliente
![Page 35: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/35.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 13
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000”
include calcPreventivo from “socket://vendite:8001"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale );if ( disp )@Magazzino {
preventivo@Vendite = calcPreventivo( ordine );
invio_prev: Vendite( preventivo ) -> Cliente( preventivo );
…
} else {
prodotto_non_disp: Vendite() -> Cliente()
}
![Page 36: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/36.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 13
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000”
include calcPreventivo from “socket://vendite:8001"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale );if ( disp )@Magazzino {
preventivo@Vendite = calcPreventivo( ordine );
invio_prev: Vendite( preventivo ) -> Cliente( preventivo );
…
} else {
prodotto_non_disp: Vendite() -> Cliente()
}
![Page 37: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/37.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 13
Vendite Magazzino Spedizioni
richiestapreventivo
confermadisponibilità
optinvio
preventivo
prodotti nondisponibili
optapprovazionepreventivo
annullamentopreventivo
inoltro ordineinvio ordine
invio tracking code
conferma ricezione
confermaconsegna
Vendite Magazzino Spedizioni
include controlloDisp from “socket://magazzino:8000”
include calcPreventivo from “socket://vendite:8001"
ordine@Cliente = getInput( "Inserire richiesta prodotti" );
richiesta_prev: Cliente( ordine ) -> Vendite( ordine );
conferma_disp: Vendite( ordine ) -> Magazzino( materiale );
disp@Magazzino = controlloDisp( materiale );if ( disp )@Magazzino {
preventivo@Vendite = calcPreventivo( ordine );
invio_prev: Vendite( preventivo ) -> Cliente( preventivo );
…
} else {
prodotto_non_disp: Vendite() -> Cliente()
}
![Page 38: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/38.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix
14
Why not peer to peer choreography?
![Page 39: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/39.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
14
Why not peer to peer choreography?
![Page 40: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/40.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.
14
Why not peer to peer choreography?
![Page 41: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/41.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
14
Why not peer to peer choreography?
![Page 42: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/42.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix (cont’d)
15
Why not peer to peer choreography?
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
![Page 43: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/43.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix (cont’d)
15
Why not peer to peer choreography? Vero se si lascia il dominio delle
coreografie. Facendo un parallelo, sarebbe come scrivere in C e cercare di modificare il codice assembly compilato.
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
![Page 44: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/44.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix (cont’d)
15
Why not peer to peer choreography? Vero se si lascia il dominio delle
coreografie. Facendo un parallelo, sarebbe come scrivere in C e cercare di modificare il codice assembly compilato.
Vero il contrario. Le coreografie aiutano a rendere chiare le funzioni (I/Os).
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
![Page 45: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/45.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix (cont’d)
15
Why not peer to peer choreography? Vero se si lascia il dominio delle
coreografie. Facendo un parallelo, sarebbe come scrivere in C e cercare di modificare il codice assembly compilato.
Vero il contrario. Le coreografie aiutano a rendere chiare le funzioni (I/Os). Le coreografie scritte in AIOCJ si possono adattare a runtime!
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
![Page 46: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/46.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Netflix (cont’d)
15
Why not peer to peer choreography? Vero se si lascia il dominio delle
coreografie. Facendo un parallelo, sarebbe come scrivere in C e cercare di modificare il codice assembly compilato.
Vero il contrario. Le coreografie aiutano a rendere chiare le funzioni (I/Os). Le coreografie scritte in AIOCJ si possono adattare a runtime!
We found it was harder to scale with growing business needs and complexities. Some of the issues associated with the approach are:
Process flows are “embedded” within the code of multiple application.Often, there is tight coupling and assumptions around input/output, SLAs etc, making it harder to adapt to changing needs.
![Page 47: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/47.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale (Part II)
16
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
Client Vendite SpedizioniMagazzinoCliente
![Page 48: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/48.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 17
Vendite Magazzino Spedizioni
WebServer
CRM
GestoreOrdini
GestioneMateriale
GestioneOrdini
GestioneSpedizioni
TrackingSpedizioni
Cliente Vendite SpedizioniMagazzino
WebServerWeb
Server
GestoreOrdiniGestoreOrdini
Load Balancer
Circuit Breaker
WebGateway
Visione Architetturale (Part III)
![Page 49: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/49.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
I Limiti di Oggi
![Page 50: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/50.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
![Page 51: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/51.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
Lo Standard diDomani
![Page 52: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/52.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016 18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
Lo Standard diDomani
![Page 53: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/53.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
La programmazione distribuita è (più) semplice;
18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
Lo Standard diDomani
![Page 54: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/54.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
La programmazione distribuita è (più) semplice;
Responsabilità e APIs formali;
18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
Lo Standard diDomani
![Page 55: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/55.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
La programmazione distribuita è (più) semplice;
Responsabilità e APIs formali;
Architetture scalabili e affidabili.
18
There is no effort without error and
shortcoming.
innovation
“Citizenship in a Republic”, Theodore Roosevelt, 1910
Lo Standard diDomani
![Page 56: Microservizi, scenari del prossimo e del lontano futuro](https://reader031.vdocuments.mx/reader031/viewer/2022030221/58849adb1a28ab26058b6481/html5/thumbnails/56.jpg)
[email protected] | DISI at Unibo | Bologna | Meeting on Microservices 2016
Grazie dell’Attenzione
19
Domande: Saverio( ? ) -> MoM2016( ! )