Gestione e implementazione di un'architettura di livello n
-
06-07-2019 - |
Domanda
Come gestite lo sviluppo e la distribuzione di un sistema di livello n composto da più siti Web, applicazioni desktop, servizi Web e database che hanno un mix di dipendenze?
Supponi di avere un ambiente di integrazione continua con controllo del codice sorgente e build automatizzate.
Soluzione
Questo è qualcosa che troverai difficile da raggiungere. Tuttavia, una cosa che facciamo è assicurarci che ogni parte distinta del tuo sistema esegua i controlli di integrità appropriati, ad esempio il tuo livello di accesso ai dati farà qualcosa del tipo:
public void OnStart(){
if(database.SchemaVersion != this.RequiredDatabaseSchemaVersion)
throw new DependencyException("The database was not the required version");
}
Questo esempio è totalmente banale, ma dovresti avere l'idea.
Un'altra cosa che puoi fare è assicurarti che quando impacchetti la tua app, la impacchi come un'unica unità. Quindi qualcuno può fare qualcosa del tipo:
MyApplication_v1234.msi /install web_app
MyApplication_v1234.msi /install web_services
Ovviamente questo dipende da come prevedi di distribuire la tua app.
Speriamo che questo ti dia qualcosa a cui pensare.