I have been assigned to develop a project which is supposed to be a responsive web application as well as a mobile app. The project is supposed to be developed in .NET.
The main requirement is that it should be based on a service-oriented architecture. That is, any request, no matter which client it is from (browser, mobile app or even from the back-end B-To-B) should be handled by a central service layer which is responsible for business logic, security and other necessary things before the data is rendered or saved. I'm wondering about what architecture should be used. I guess there should be a combination of MVC, WebAPI and Entity Framework but don't know what should be the application-flow, the architecture of the website. For the direct web clients MVC will be enough and for mobile apps and other back-end requests WebAPI will work (i guess) but then where will the central service-layer reside which is supposed to server all types of clients?
I have a good knowledge of MVC, WebAPI and Entity Framework (but not much experience) but don't know exactly what architecture is most commonly used in this sort of business model.
I'll appreciate for pointing me to any links having a diagrammatic elaboration or a, sort of skeleton code to understand how a seamless flow, for all types of clients is implemented.
What I have tried:
Not much. Only some good understanding of how MVC provides a level of abstrations, WebAPI is used to respond to the client with the data (usually JSON encoded) and Entity Framework to abstract away from the underlying database functions.