Mi piacerebbe sapere se la mia idea di architettura, è l'approccio migliore seguendo alcuni schemi.
Creerò una Dashboard per la mia azienda e non eliminerò o aggiornerò mai i dati nel mio database, ma leggo solo i dati dal database.
Oggigiorno lavoriamo solo con il nostro database SQL Server, ma voglio una soluzione che fornisca un modo semplice per implementare una nuova funzionalità, come una nuova compatibilità con il database.
L'APPLICAZIONE
Questa è una dashboard per tutti i miei clienti, dove otterrò i dati dal mio server di database creando un filtro per la sua azienda, quindi tracciamo alcuni grafici e mostrerò informazioni sulla sua affittabilità, informazioni finanziarie, ecc.
Sarà basato sul Web e deve funzionare in qualsiasi dimensione dello schermo (smartphone, TV, desktop, ecc.).
Voglio usare NHibernate come ORM
IDEA
La mia idea era nell'interfaccia utente, utilizzare l'applicazione Web MVC 4 e tutte le richieste dall'interfaccia utente al mio livello aziendale avverranno tramite REST.
My Business Layer è un'API Web MVC, per scollegare l'interfaccia utente dal mio livello aziendale.
Il Business Layer accederà al Repository (Pattern del repository), con operazione CRUD (nel mio caso è solo 'SELECTS' perché ho solo bisogno di mostrare i dati, non aggiornare mai, mai inserire).
È un approccio DDD, che funziona con NHibernate.
A volte penso che sia troppo per un dashboard, in cui non possiamo inserire né aggiornare i dati.
Mi piacerebbe sapere quali sono i modelli architettonici più comuni per questo problema.
Ho detto che alcuni schemi sono qui, ma forse qualcuno con più esperienza di me potrebbe vedere un approccio migliore a questo tipo di applicazione.