Innovazione Architetture - Strumenti - Processi

Post on 01-Dec-2014

105 views 2 download

description

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

transcript

Questi potrebbero spaziare da una semplice chiacchierata al caffè e fino a creare team virtuali attivi.

#Workshop

Osservazione, valutazione, selezione ed approfondimento di alcune fra le innumerevoli soluzioni presenti sul mercato.

Potrebbe essere una opportunità approfondire uno o più degli argomenti trattati e creare piccoli gruppi di interesse.

ArchitettureStrumentiProcessi

#INNOVARE

CQRSEvent SourcingREST - 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?