Event-Driven Architecture: eventi di dominio senza rendere tutto asincrono
L'Event-Driven Architecture disaccoppia bounded context attraverso fatti di dominio, ma richiede una scelta consapevole tra sincrono e asincrono.
Apri la capsula →
HUB DI CONOSCENZA · 15 CAPSULE
Strategie, pattern e tecniche per evolvere sistemi legacy complessi in modo progressivo, sicuro e sostenibile, evitando migrazioni Big Bang.
L'Event-Driven Architecture disaccoppia bounded context attraverso fatti di dominio, ma richiede una scelta consapevole tra sincrono e asincrono.
Apri la capsula →Ports & Adapters mette il dominio al centro e rende infrastruttura e integrazioni implementazioni sostituibili di contratti espliciti.
Apri la capsula →La Context Map di DDD documenta relazioni, dipendenze e traduzioni tra bounded context, diventando una guida concreta per integrazioni e migrazione del legacy.
Apri la capsula →DDD e Data Ownership aiutano a separare identità paziente, episodio, letto, ordine e cartella clinica evitando database condivisi e dipendenze SQL tra moduli.
Apri la capsula →L'Anti-Corruption Layer isola il modello moderno dai concetti, codici e strutture del legacy, traducendo entrambi i lati attraverso un confine esplicito.
Apri la capsula →Adapter e Facade riducono accoppiamenti diversi: il primo rende compatibili contratti, la seconda offre un'interfaccia più semplice a un sottosistema complesso.
Apri la capsula →Lo Strangler Fig consente di sostituire gradualmente un sistema legacy instradando capacità e traffico verso il nuovo fino al completo retirement.
Apri la capsula →Branch by Abstraction introduce un'astrazione stabile davanti a vecchia e nuova implementazione, permettendo sostituzione e rollback controllati nello stesso flusso applicativo.
Apri la capsula →La migrazione per vertical slice riduce il rischio perché sostituisce capacità utilizzabili end-to-end invece di rifare prima tutti i database, poi tutte le API e infine la UI.
Apri la capsula →API Gateway e Backend for Frontend supportano routing Strangler, sicurezza e composizione delle API, ma devono restare sottili e privi di business logic di dominio.
Apri la capsula →CQRS, Read Model, API Composition e BFF permettono UI e reporting ricchi senza accessi SQL diretti tra bounded context.
Apri la capsula →Outbox, Inbox e Idempotenza rendono affidabili i flussi event-driven senza richiedere transazioni distribuite tra database e broker.
Apri la capsula →Saga e Process Manager coordinano processi che attraversano più servizi quando una singola transazione ACID non può coprire l'intero workflow.
Apri la capsula →Timeout, Retry, Circuit Breaker e Bulkhead limitano gli effetti a cascata delle dipendenze lente o indisponibili nelle piattaforme distribuite.
Apri la capsula →Shadow e Dual Run riducono il rischio di migrazione confrontando il nuovo comportamento con quello legacy prima di renderlo source of truth.
Apri la capsula →