13
#Workshop Osservazione, valutazione e selezione di alcune soluzioni presenti sul mercato.

Innovazione: Architetture | Strumenti | Processi

Embed Size (px)

DESCRIPTION

Osservazione, valutazione e selezione di alcune soluzioni presenti sul mercato.

Citation preview

Page 1: Innovazione: Architetture | Strumenti | Processi

#Workshop

Osservazione, valutazione e selezione di alcune soluzioni presenti sul mercato.

Page 2: Innovazione: Architetture | Strumenti | Processi

ArchitettureStrumentiProcessi

#INNOVARE

Page 3: Innovazione: Architetture | Strumenti | Processi

CQRSEvent SourcingREST - API

ARCHITETTURE

Page 4: Innovazione: Architetture | Strumenti | Processi

Command Query

Responsibility Segregation

#CQRS

Page 5: Innovazione: Architetture | Strumenti | Processi

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)

Page 6: Innovazione: Architetture | Strumenti | Processi

Scaling & Performance

Impossible to create an optimal solution for searching, reporting, and processing transactions utilizing a single model.

Page 7: Innovazione: Architetture | Strumenti | Processi

!Query-side

Page 8: Innovazione: Architetture | Strumenti | Processi

#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)

Page 9: Innovazione: Architetture | Strumenti | Processi

Rest API

Page 10: Innovazione: Architetture | Strumenti | Processi

#STRUMENTI

Page 11: Innovazione: Architetture | Strumenti | Processi

#Waterfall

Sequenza lineare di fasi o passi❖ analisi dei requisiti❖ progetto❖ sviluppo❖ collaudo❖ manutenzione

Rigidità

Page 12: Innovazione: Architetture | Strumenti | Processi

#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.

Page 13: Innovazione: Architetture | Strumenti | Processi

Domande?