SlideShare a Scribd company logo
1 of 13
Download to read offline
#Workshop
Osservazione, valutazione e
selezione di alcune soluzioni
presenti sul mercato.
Architetture
Strumenti
Processi
#INNOVARE
CQRS
Event Sourcing
REST - API
ARCHITETTURE
Command
Query
Responsibility
Segregation
#CQRS
A single model cannot possibly be appropriate for all facets of your
application including transactional behaviors, searching, and reporting
(Greg Young)
Command: Command side being a transaction processor in a relational
structure would want to store data in a normalized way
Query: The Query side would want data in a denormalized way to
minimize the number of joins needed
(Greg Young)
Every method should either be a command that performs
an action, or a query that returns data to the caller, but
not both.
(Wikipedia)
Scaling & Performance
Impossible to create an optimal solution for searching, reporting,
and processing transactions utilizing a single model.
!Query-side
#Event Sourcing
Event Sourcing (ES) è un pattern
architetturale, consiste in salvare tutti i
cambiamenti allo stato dell’applicazione
come eventi.
State transitions are an important part of
our problem space and should be modeled
within our domain.
(Greg Young)
Rest API
#STRUMENTI
#Waterfall
Sequenza lineare di fasi o passi
❖ analisi dei requisiti
❖ progetto
❖ sviluppo
❖ collaudo
❖ manutenzione
Rigidità
#Scrum
La gran parte dei metodi agili prevede lo sviluppo del
software in finestre di tempo limitate chiamate iterazioni.
Ogni iterazione deve contenere tutto ciò che è necessario
per rilasciare un piccolo incremento nelle funzionalità del
software.
Domande?

More Related Content

Similar to Innovazione: Architetture | Strumenti | Processi

Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...festival ICT 2016
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRSManuel Scapolan
 
Application insights-gabrome18
Application insights-gabrome18Application insights-gabrome18
Application insights-gabrome18Roberto Albano
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLuca Acquaviva
 
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights OverviewAzure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights Overviewazuredayit
 
XSpotter di Xech
XSpotter di XechXSpotter di Xech
XSpotter di XechXech
 
Application insights - Power is nothing without control
Application insights - Power is nothing without controlApplication insights - Power is nothing without control
Application insights - Power is nothing without controlRoberto Albano
 
Acadevmy - Angular Overview
Acadevmy - Angular OverviewAcadevmy - Angular Overview
Acadevmy - Angular OverviewFrancesco Sciuti
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3ivisionweb
 
Idiomatic Domain Driven Design
Idiomatic Domain Driven DesignIdiomatic Domain Driven Design
Idiomatic Domain Driven DesignAndrea Saltarello
 
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...Roberto Albano
 
Real Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionReal Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
 
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successoWSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successoProfesia Srl, Lynx Group
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)Sabino Labarile
 
Layered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSLayered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSAndrea Saltarello
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Fabio Armani
 
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014Marco Parenzan
 
Silver Lake Analytics, soluzione Business Intelligence di Esox Informatica
Silver Lake Analytics, soluzione Business Intelligence di Esox InformaticaSilver Lake Analytics, soluzione Business Intelligence di Esox Informatica
Silver Lake Analytics, soluzione Business Intelligence di Esox InformaticaMaurizio Anselmi
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)DotNetMarche
 

Similar to Innovazione: Architetture | Strumenti | Processi (20)

Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
Application insights-gabrome18
Application insights-gabrome18Application insights-gabrome18
Application insights-gabrome18
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
 
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights OverviewAzure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
 
XSpotter di Xech
XSpotter di XechXSpotter di Xech
XSpotter di Xech
 
Application insights - Power is nothing without control
Application insights - Power is nothing without controlApplication insights - Power is nothing without control
Application insights - Power is nothing without control
 
Acadevmy - Angular Overview
Acadevmy - Angular OverviewAcadevmy - Angular Overview
Acadevmy - Angular Overview
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3
 
Idiomatic Domain Driven Design
Idiomatic Domain Driven DesignIdiomatic Domain Driven Design
Idiomatic Domain Driven Design
 
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...
Application insights - Meet{cast} - Meetup #AperiTech dotNET{podcast} - Marzo...
 
Real Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionReal Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in Production
 
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successoWSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
Layered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSLayered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRS
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
Modelli applicativi per il Cloud Computing - Part 1 - Edition 2014
 
Silver Lake Analytics, soluzione Business Intelligence di Esox Informatica
Silver Lake Analytics, soluzione Business Intelligence di Esox InformaticaSilver Lake Analytics, soluzione Business Intelligence di Esox Informatica
Silver Lake Analytics, soluzione Business Intelligence di Esox Informatica
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 

Innovazione: Architetture | Strumenti | Processi