Da crud a messaggi per app scalabili e manutenibili
1 of 13
More Related Content
Da crud a messaggi per app scalabili e manutenibili
1. Da CRUD a Messaggi per Applicazioni
Scalabili e Manutenibili
… sfatiamo qualche luogo comune….
Michele Aponte
CEO/CTO Blexin Srl
Presidente DotNetCampania
MVP ASP.NET/IIS
@apomic80 - http://www.tolist.net
3. Una architettura 3-tier al giorno, toglie
il medico di torno?
Presentation
Layer
Business
Layer
Data
Layer
4. Una architettura 3-tier al giorno, toglie
il medico di torno? Ma anche no...
Modello di
Dominio
Business
Services
Data Access
Layer (ORM)
RDBMS
Application
Services
User
Interface
5. Limiti di un’architettura 3-Tier e monomodello
• Scrittura e lettura hanno esigenze diverse
• Ci sono applicazioni in cui il numero di letture è
molto diverso dal numero di scritture
• Problemi di performance
• Manutenibilità con aggiunta di altri moduli
applicativi
6. Proviamo a separare le responsabilità…
Presentation
Layer
Write Model
(Business Layer)
Data
Layer
Read Model
Command Query Responsibility Segregation
7. … un altro pochino ...
Presentation
Layer
Write Model
(Business Layer)
Data
Layer
Read Model
Data
Layer
Command Query Responsibility Segregation
8. Ok… ma come tengo “sincronizzati”
Read Model e Write Model?
Presentation
Layer
Write Model
(Business Layer)
Data
Layer
Read Model
Data
Layer
Sincronizzatore
(denormalizzatore)
Command Query Responsibility Segregation
11. In un sistema del genere sapete cosa ci
starebbe proprio bene?
Presentation
Layer
Write
Model
Data
Layer
Read Model
Data
Layer
Sincronizzatore
(denormalizzatore)
ESB
12. Quando usare CQRS e i Messaggi
• Dividere modello di lettura e scrittura è sempre
una buona idea
• Con la messaggistica vi portate a casa un sistema
di comunicazione che potete usare anche per scopi
puramente applicativi (estendibilità,
comunicazione in plugin, ecc.)
• Qualcuno ha detto scalabilità???
• Se avete una logica unicamente CRUD… ma vi è
veramente mai capitato?
• Non guardate unicamente alla dimensione della
vostra applicazione al momento della nascita...