A Framework for Rule-Based Dynamic AdaptationIMDS2014
A framework is proposed for rule-based dynamic adaptation of applications at runtime. Adaptation rules can be developed and updated separately from applications to modify application behavior based on changing goals or environments. Rules specify applicability conditions and can replace application activities with new code while preserving application state. The adaptation manager applies rules non-deterministically or by priority to adapt applications without stopping them. This framework allows flexible, dynamic adaptation using rules developed independently from applications.
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
Lo sviluppo nel Cloud porta con sè una serie di nuove sfide per poter gestire in maniera efficiente le risorse a disposizione e creare architetture in grado di sfruttarne appieno le caratteristiche di flessibilità. In questa presentazione vedremo esempi di possibili approcci alla realizzazione di architetture a micro-servizi.
A Framework for Rule-Based Dynamic AdaptationIMDS2014
A framework is proposed for rule-based dynamic adaptation of applications at runtime. Adaptation rules can be developed and updated separately from applications to modify application behavior based on changing goals or environments. Rules specify applicability conditions and can replace application activities with new code while preserving application state. The adaptation manager applies rules non-deterministically or by priority to adapt applications without stopping them. This framework allows flexible, dynamic adaptation using rules developed independently from applications.
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
Lo sviluppo nel Cloud porta con sè una serie di nuove sfide per poter gestire in maniera efficiente le risorse a disposizione e creare architetture in grado di sfruttarne appieno le caratteristiche di flessibilità. In questa presentazione vedremo esempi di possibili approcci alla realizzazione di architetture a micro-servizi.
Communicating Sequential Processes (CSP) in JavaScriptMax Klymyshyn
The document discusses Communicating Sequential Processes (CSP), a formal language for describing patterns of interaction in concurrent systems. CSP was initially developed to solve problems with asynchronous code leading to callback pyramids and unclear flow. The document advocates for using CSP and channels in JavaScript to make asynchronous code more readable and understandable through a synchronous-like programming style.
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
There's plenty of different approaches for building simle and robust API: REST, SOAP, RPC and so on. Some of them are too verbose, some – too complex. This presentation is a journey of finding balance between simplicity and flexibility, performance and robustness.
Including existing Java code into a Jolie service is very easy. Follow these few slides for learning how to exploit all the Java code you have in a microservice architecture
In this presentation the Jolie Team shows its vision about the incoming revolution of microservices. The deployment paradigm and the linguistic paradigm should be adopted together in order to fully achieve the microservice revolution
Under certain conditions, Symfony can be used successfully in a microservices architecture. Symfony works best when services start large and decompose over time into bounded contexts, rather than starting with many small services. Key considerations include using minimal Symfony configurations, domain-driven design principles to map services to contexts, handling failures through circuit breakers, and focusing on behavior-driven development and integration testing between services. While Symfony introduces more complexity than micro frameworks, these strategies can help address issues of over-decomposition when applying it to microservices.
Lesson learned during new project base on SOA architecture. Technology used in our project:
- Symfony 2.3
- PHPUnit
- SoapUI
- RabbitMQ
- MySQL (Percona)
- Elasticsearch
- Jenkins
- Memcached
- Nagios
- New Relic
This document provides an overview of microservice architecture compared to monolithic architecture, and compares the microservice frameworks Dropwizard and Spring Boot. It defines microservice architecture as decomposing applications into independent components that communicate via lightweight mechanisms like HTTP. The document outlines pros and cons of the microservice approach and discusses how Dropwizard and Spring Boot both provide tools for developing microservices but differ in their dependencies and supported services.
Presentazione di Nicola Savino usata al DigEat 2016 sulla corretta Digitalizzazione dei Processi di Business e quindi su come fare conservazione sostitutiva e digitale in modo corretto senza commettere errori
QUI+ creative content delivery | italian partners for beacon solutionsRoberto Cobianchi
Workshop del 13 maggio a Expandere Emilia Romagna,
QUI+ è una soluzione ibeacon interamente prodotta e gestita in Italia. Dalla produzione dei beacon, alla produzione dei contenuti sino agli analytics e alla analisi del comportamento.
Possibilità d'uso: negozi, centri commerciali, aeroporti, stazioni, musei , territori, parchi tematici,
SIMCO: Lean Warehousing - Come migliorare le prestazioni eliminando gli sprechiSimco Consulting
Le Aziende individuano nel magazzino una componente strategica della catena logistica e si muovono per aumentarne il servizio e per raggiungere la massima efficienza operativa, contenendo i costi. Il magazzino è spesso oggetto di analisi, studi e progetti di miglioramento organizzativo e tecnologico a cui seguono investimenti economici a volte molto cospicui.
Simco, nella sua attività di consulenza e progettazione logistica, è frequentemente coinvolta in modo analitico in queste attività e ritiene che, molto spesso, se non sempre, siano possibili miglioramenti significativi anche ad investimenti zero, utilizzando al meglio le risorse già disponibili. Il lay out è migliorabile in relazione ai flussi e alle giacenze? Il display di picking è corretto? I mezzi di movimentazione sono coerenti all’organizzazione del lavoro? Il rendimento di saturazione dei vani è ottimizzato? Il WMS disponibile, o i suoi succedanei sono sfruttati al meglio? E tante altre osservazioni ancora. Simco evidenzierà gli strumenti, il metodo e le esperienze per ottenere il massimo dalle risorse disponibili, senza investire.
Lean Warehousing. come migliorare le prestazioni eliminado gli sprechilogisticaefficiente
I magazzini automatici rappresentano l’espressione tecnologicamente più avanzata dei sistemi di stoccaggio e, oggi più che mai, costituiscono un’interessante opzione per risolvere i problemi connessi alla scarsa disponibilità di spazi, al costo della manodopera, al livello di servizio richiesto dai clienti.
Ma è sempre opportuno optare per un magazzino automatico? Possono avere delle controindicazioni sul piano della convenienza economica e delle prestazioni? Quali insidie si nascondono nelle fasi di progettazione? Come tutte le cose ad alte prestazioni richiedono un’attività di analisi e di studio che non deve essere sottovalutata.
- Cosa può fare l’automazione per il magazzino - Quali tecniche impiegare - Le diverse componenti di un magazzino automatico - Il problema del picking - Gli errori da evitare - Alcuni casi aziendali
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
Chi ha scritto “2001: Odissea nello spazio” una volta disse che: “Le nuove idee passano attraverso tre fasi: Non può essere fatto. Probabilmente si può fare, ma non ne vale la pena. Ho sempre detto che si trattava di una buona idea!” Ai giorni nostri, qualsiasi Idea può diventare un’App ed essere pubblicata negli store. E le fasi da percorrere sono 4: ideazione, progettazione, sviluppo e pubblicazione. E se volessimo anche guadagnarci dall’idea? Come un uccellino che saltella da un ramo all’altro, analizzeremo tutti gli aspetti che ci porteranno a determinare quale potrà essere la possibile fonte di guadagno alle spalle della nostra app.
CSCMP Italy Roundtable: Gruppi di LavoroIgino Colella
La Italy Roundtable del Council of Supply Chain Management Professionals ha tenuto il 22 febbraio la riunione di lancio dei Gruppi di Lavoro. Il documento illustra i progetti lanciati ed il programma del 2016
Progettazione web: 5 punti strategici per valutare professionalità e qualità ...Fabrizio Caccavello
State per commissionare un sito web? Quali sono gli elementi primari che devono essere richiesti al professionista? Come valutare la qualità di una proposta o un progetto? In questo seminario scopriremo in 5 step fondamentali quali sono le cose che rendono un sito web diverso da un altro, perché l'aspetto estetico non può essere l'elemento unico da analizzare e perché i tecnicismi di un preventivo non rimangano totalmente una selva oscura.
Communicating Sequential Processes (CSP) in JavaScriptMax Klymyshyn
The document discusses Communicating Sequential Processes (CSP), a formal language for describing patterns of interaction in concurrent systems. CSP was initially developed to solve problems with asynchronous code leading to callback pyramids and unclear flow. The document advocates for using CSP and channels in JavaScript to make asynchronous code more readable and understandable through a synchronous-like programming style.
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
There's plenty of different approaches for building simle and robust API: REST, SOAP, RPC and so on. Some of them are too verbose, some – too complex. This presentation is a journey of finding balance between simplicity and flexibility, performance and robustness.
Including existing Java code into a Jolie service is very easy. Follow these few slides for learning how to exploit all the Java code you have in a microservice architecture
In this presentation the Jolie Team shows its vision about the incoming revolution of microservices. The deployment paradigm and the linguistic paradigm should be adopted together in order to fully achieve the microservice revolution
Under certain conditions, Symfony can be used successfully in a microservices architecture. Symfony works best when services start large and decompose over time into bounded contexts, rather than starting with many small services. Key considerations include using minimal Symfony configurations, domain-driven design principles to map services to contexts, handling failures through circuit breakers, and focusing on behavior-driven development and integration testing between services. While Symfony introduces more complexity than micro frameworks, these strategies can help address issues of over-decomposition when applying it to microservices.
Lesson learned during new project base on SOA architecture. Technology used in our project:
- Symfony 2.3
- PHPUnit
- SoapUI
- RabbitMQ
- MySQL (Percona)
- Elasticsearch
- Jenkins
- Memcached
- Nagios
- New Relic
This document provides an overview of microservice architecture compared to monolithic architecture, and compares the microservice frameworks Dropwizard and Spring Boot. It defines microservice architecture as decomposing applications into independent components that communicate via lightweight mechanisms like HTTP. The document outlines pros and cons of the microservice approach and discusses how Dropwizard and Spring Boot both provide tools for developing microservices but differ in their dependencies and supported services.
Presentazione di Nicola Savino usata al DigEat 2016 sulla corretta Digitalizzazione dei Processi di Business e quindi su come fare conservazione sostitutiva e digitale in modo corretto senza commettere errori
QUI+ creative content delivery | italian partners for beacon solutionsRoberto Cobianchi
Workshop del 13 maggio a Expandere Emilia Romagna,
QUI+ è una soluzione ibeacon interamente prodotta e gestita in Italia. Dalla produzione dei beacon, alla produzione dei contenuti sino agli analytics e alla analisi del comportamento.
Possibilità d'uso: negozi, centri commerciali, aeroporti, stazioni, musei , territori, parchi tematici,
SIMCO: Lean Warehousing - Come migliorare le prestazioni eliminando gli sprechiSimco Consulting
Le Aziende individuano nel magazzino una componente strategica della catena logistica e si muovono per aumentarne il servizio e per raggiungere la massima efficienza operativa, contenendo i costi. Il magazzino è spesso oggetto di analisi, studi e progetti di miglioramento organizzativo e tecnologico a cui seguono investimenti economici a volte molto cospicui.
Simco, nella sua attività di consulenza e progettazione logistica, è frequentemente coinvolta in modo analitico in queste attività e ritiene che, molto spesso, se non sempre, siano possibili miglioramenti significativi anche ad investimenti zero, utilizzando al meglio le risorse già disponibili. Il lay out è migliorabile in relazione ai flussi e alle giacenze? Il display di picking è corretto? I mezzi di movimentazione sono coerenti all’organizzazione del lavoro? Il rendimento di saturazione dei vani è ottimizzato? Il WMS disponibile, o i suoi succedanei sono sfruttati al meglio? E tante altre osservazioni ancora. Simco evidenzierà gli strumenti, il metodo e le esperienze per ottenere il massimo dalle risorse disponibili, senza investire.
Lean Warehousing. come migliorare le prestazioni eliminado gli sprechilogisticaefficiente
I magazzini automatici rappresentano l’espressione tecnologicamente più avanzata dei sistemi di stoccaggio e, oggi più che mai, costituiscono un’interessante opzione per risolvere i problemi connessi alla scarsa disponibilità di spazi, al costo della manodopera, al livello di servizio richiesto dai clienti.
Ma è sempre opportuno optare per un magazzino automatico? Possono avere delle controindicazioni sul piano della convenienza economica e delle prestazioni? Quali insidie si nascondono nelle fasi di progettazione? Come tutte le cose ad alte prestazioni richiedono un’attività di analisi e di studio che non deve essere sottovalutata.
- Cosa può fare l’automazione per il magazzino - Quali tecniche impiegare - Le diverse componenti di un magazzino automatico - Il problema del picking - Gli errori da evitare - Alcuni casi aziendali
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
Chi ha scritto “2001: Odissea nello spazio” una volta disse che: “Le nuove idee passano attraverso tre fasi: Non può essere fatto. Probabilmente si può fare, ma non ne vale la pena. Ho sempre detto che si trattava di una buona idea!” Ai giorni nostri, qualsiasi Idea può diventare un’App ed essere pubblicata negli store. E le fasi da percorrere sono 4: ideazione, progettazione, sviluppo e pubblicazione. E se volessimo anche guadagnarci dall’idea? Come un uccellino che saltella da un ramo all’altro, analizzeremo tutti gli aspetti che ci porteranno a determinare quale potrà essere la possibile fonte di guadagno alle spalle della nostra app.
CSCMP Italy Roundtable: Gruppi di LavoroIgino Colella
La Italy Roundtable del Council of Supply Chain Management Professionals ha tenuto il 22 febbraio la riunione di lancio dei Gruppi di Lavoro. Il documento illustra i progetti lanciati ed il programma del 2016
Progettazione web: 5 punti strategici per valutare professionalità e qualità ...Fabrizio Caccavello
State per commissionare un sito web? Quali sono gli elementi primari che devono essere richiesti al professionista? Come valutare la qualità di una proposta o un progetto? In questo seminario scopriremo in 5 step fondamentali quali sono le cose che rendono un sito web diverso da un altro, perché l'aspetto estetico non può essere l'elemento unico da analizzare e perché i tecnicismi di un preventivo non rimangano totalmente una selva oscura.
Officina Operations di Advance School, ASCM/APICS Premier ELITE Partner - Applicare concretamente la metodologia Lean per ridurre le scorte senza impatti sulla stabilità del sistema produttivo – Case history - Relatore Stefano Ruffini, CPIM e CSCP
In Italia, il 97% di aziende, sono microimprese. In un contesto di questo tipo, la maggior parte di loro non ha strumenti per investire, formarsi. Nè le competenze per affidarsi al giusto professionista. La verità è che ci sono un sacco di strumenti che si possono utilizzare, anche gratuitamente, per semplificare in parte la propria. Da whatsapp business, a google my business, a wordpress e i social. Ma come capire qual è il primo passo da fare? Cerchiamo di capirlo insieme.
Tutte le slide sul tracciamento delle conversioni in Analytics e le basi della Conversion Rate Optimization presentate all'evento SEOCMS di Bologna il 6/5/16
Mobile learning Bologna - Tra html 5 e applicazioni native.Fabrizio Caccavello
L’accessibilità, una visione strategica che affonda le sue radici alle origini del web.
Molte cose che riguardano la progettazione per il web che oggi ci sembrano irrinunciabili o semplicemente di moda, sono in realtà il frutto di un lungo percorso di maturazione di questo mondo in costante evoluzione.
Spesso in questi anni si sono confusi i concetti di accessibilità con noiose storie di codice o anche di progettazione a misura di disabile.
In realtà l'accessibilità riguarda tutti, da sempre, soprattutto oggi che tutti siamo sottoposti all'utilizzo dei dispositivi "in condizioni non ottimali"
Similar to Microservizi, scenari del prossimo e del lontano futuro (19)
Mobile learning Bologna - Tra html 5 e applicazioni native.
Microservizi, scenari del prossimo e del lontano futuro
1. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Microservizi
scenari del prossimo e del lontano futuro
1
Saverio Giallorenzo
2. saverio.giallorenzo@gmail.com | 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;
3. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Microservizi
scenari del prossimo e del lontano futuro
3
Saverio Giallorenzo
WARNING
MAY CONTAIN
CHOREOGRAPHIES
4. saverio.giallorenzo@gmail.com | 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
5. saverio.giallorenzo@gmail.com | 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
6. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita
5
Vendite Magazzino Spedizioni
richiesta
preventivo
conferma
disponibilità
opt
invio
preventivo
prodotti non
disponibili
opt
approvazione
preventivo
annullamento
preventivo
inoltro ordine
invio ordine
invio tracking code
conferma ricezione
conferma
consegna
Vendite Magazzino Spedizioni
7. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita
5
Vendite Magazzino Spedizioni
richiesta
preventivo
conferma
disponibilità
opt
invio
preventivo
prodotti non
disponibili
opt
approvazione
preventivo
annullamento
preventivo
inoltro ordine
invio ordine
invio tracking code
conferma ricezione
conferma
consegna
Cosa c’è qua dentro (e.g., error tracing)?
Vendite Magazzino Spedizioni
8. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita
5
Vendite Magazzino Spedizioni
richiesta
preventivo
conferma
disponibilità
opt
invio
preventivo
prodotti non
disponibili
opt
approvazione
preventivo
annullamento
preventivo
inoltro ordine
invio ordine
invio tracking code
conferma ricezione
conferma
consegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità
interna?
O del
corriere?
Docs/APIs?
Vendite Magazzino Spedizioni
9. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita
5
Vendite Magazzino Spedizioni
richiesta
preventivo
conferma
disponibilità
opt
invio
preventivo
prodotti non
disponibili
opt
approvazione
preventivo
annullamento
preventivo
inoltro ordine
invio ordine
invio tracking code
conferma ricezione
conferma
consegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità
interna?
O del
corriere?
Docs/APIs?
Vendite Magazzino Spedizioni
10. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Programmazione distribuita
5
Vendite Magazzino Spedizioni
richiesta
preventivo
conferma
disponibilità
opt
invio
preventivo
prodotti non
disponibili
opt
approvazione
preventivo
annullamento
preventivo
inoltro ordine
invio ordine
invio tracking code
conferma ricezione
conferma
consegna
Cosa c’è qua dentro (e.g., error tracing)?
Funzionalità
interna?
O del
corriere?
Docs/APIs?
In serie o
parallelo?
Vendite Magazzino Spedizioni
11. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”
6
Direzione
Vendite
MagazzinoSpedizioni
12. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”
6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
13. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”
6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Golfo dell’
esecuzione
14. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
“Non è un mio problema”
6
Direzione
Vendite
MagazzinoSpedizioni
Big Picture
Micro-gestione
Golfo dell’
esecuzione
15. saverio.giallorenzo@gmail.com | 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à?
16. saverio.giallorenzo@gmail.com | 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à?
17. saverio.giallorenzo@gmail.com | 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à?
18. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili
7
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Web
Server
Web
Server
Gestore
Ordini
Gestione
Ordini
Gestione
Ordini
Gestione
Ordini
preventivo
tracking
?
19. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili
7
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Web
Server
Web
Server
Gestore
Ordini
Gestione
Ordini
Gestione
Ordini
Gestione
Ordini
preventivo
tracking
?
=
20. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili
7
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Web
Server
Web
Server
Gestore
Ordini
Gestione
Ordini
Gestione
Ordini
Gestione
Ordini
preventivo
tracking
?
ricollegare le frecce
ad ogni “scalata”
=
21. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili
7
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Web
Server
Web
Server
Gestore
Ordini
Gestione
Ordini
Gestione
Ordini
Gestione
Ordini
preventivo
tracking
?
ricollegare le frecce
ad ogni “scalata”
=
22. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Architetture scalabili
7
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Web
Server
Web
Server
Gestore
Ordini
Gestione
Ordini
Gestione
Ordini
Gestione
Ordini
preventivo
tracking
?
ricollegare le frecce
ad ogni “scalata”
=
39. saverio.giallorenzo@gmail.com | 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?
40. saverio.giallorenzo@gmail.com | 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?
41. saverio.giallorenzo@gmail.com | 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?
42. saverio.giallorenzo@gmail.com | 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.
43. saverio.giallorenzo@gmail.com | 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.
44. saverio.giallorenzo@gmail.com | 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.
45. saverio.giallorenzo@gmail.com | 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.
46. saverio.giallorenzo@gmail.com | 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.
47. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Visione Architetturale (Part II)
16
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Client Vendite SpedizioniMagazzinoCliente
48. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016 17
Vendite Magazzino Spedizioni
Web
Server
CRM
Gestore
Ordini
Gestione
Materiale
Gestione
Ordini
Gestione
Spedizioni
Tracking
Spedizioni
Cliente Vendite SpedizioniMagazzino
Web
Server
Web
Server
Gestore
Ordini
Gestore
Ordini
Load
Balancer
Circuit
Breaker
Web
Gateway
Visione Architetturale (Part III)
49. saverio.giallorenzo@gmail.com | 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
50. saverio.giallorenzo@gmail.com | 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
51. saverio.giallorenzo@gmail.com | 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 di
Domani
52. saverio.giallorenzo@gmail.com | 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 di
Domani
53. saverio.giallorenzo@gmail.com | 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 di
Domani
54. saverio.giallorenzo@gmail.com | 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 di
Domani
55. saverio.giallorenzo@gmail.com | 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 di
Domani
56. saverio.giallorenzo@gmail.com | DISI at Unibo | Bologna | Meeting on Microservices 2016
Grazie dell’Attenzione
19
Domande: Saverio( ? ) -> MoM2016( ! )