Ho bisogno di riscrivere l'applicazione VB dei vecchi moduli web ASP.NET sul nuovo mvc di ASP.net in c #.
Il problema è che la maggior parte della vecchia logica applicativa per l'inserimento dei dati di recupero è scritta in stored procedure, che sono diventate disordinate nel tempo, poiché il vecchio team stava aggiungendo tonnellate di stored procedure, che stanno facendo la stessa cosa, ma contenevano piccole correzioni tempo, come FetchById1, FetchById1_fixed ecc.
Voglio allontanarmi da questo e utilizzare ORM come il framework di entità, ma il design del database non è molto amichevole con ORM. I dati sono sparsi, richiede molti join per interrogare i dati, il che renderebbe molto lenta la query EF, soprattutto perché l'applicazione è prevalentemente orientata alla lettura. Circa 50-60 persone inseriscono contemporaneamente articoli di notizie e il carico può arrivare a 10-30k utenti simultanei (secondo l'analisi in tempo reale).
Poiché il dominio principale si trova attorno alla tabella degli articoli e degli articoli di notizie, il mio piano è di aggiungere un trigger del database che attiverà la chiamata http a un piccolo servizio sul nostro server e identificherà l'ID dell'articolo appena creato o aggiornato. Il servizio conterrà tutta la logica necessaria per mappare i dati dal vecchio al nuovo database. (Il piano iniziale prevedeva l'utilizzo di una sorta di coda messaggi, ma non vogliamo toccare il codice legacy di un vecchio CMS).
In questo modo, ho intenzione di ottenere che tutto funzioni normalmente nel nostro sistema legacy, ma il nostro team può sviluppare applicazioni che saranno collegate a un nuovo database.
Sono sulla buona strada? Dovrei prendere in considerazione altri approcci?