I'd like to know if my Architecture idea, is the best approach following some pattern.
I'll create a Dashboard for my company, and I never will delete or update data in my database, just read the data from database.
Nowadays we just work with our SQL Server database, but I want a solution that will provide a easy way to implement a new feature, like a new database compatibility.
THE APPLICATION
This is a dashboard for all my clients, where I'll get the data from my database server making a filter for his company, and then plot some charts and show informations about her rentability, financial information, etc.
Will be web-based and must work in any screen size (smarthphones, TV's, desktop, etc).
I want to use NHibernate as ORM
IDEA
My idea was in the user interface, use MVC 4 Web Application and all request from the User Interface to my Business Layer will be through REST.
My Business Layer it's a MVC Web API, to desacouple the User Interface from my Business Layer.
The Business Layer will access Repository (Repository Pattern), with CRUD operation (in my case it's just 'SELECTS' because I just need show the data, never update, never insert).
It's a DDD approach, working with NHibernate.
Sometimes I think it's to much for a dashboard, where we can't insert nor update data.
I'd like to know what are common architectural pattern for this problem.
I said some pattern's here, but maybe someone with more experience then me could see a better approach to this kind of application.