Click here to Skip to main content
15,742,384 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
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.
Updated 28-Jan-20 5:33am

1 solution

Your assigned project at the business level is not always going to be the same as your programming project.

The backend requirement of your assignment is to use SOA (Service Orientated Architecture). This should be a standalone project and if it were mine I would use WebAPI for this. Your Models are going to be defined here and if you want you could use Entity Framework to talk with your database.

The frontend requirements are to have the Presentation Layer available in both a Responsive Web App as well as a Mobile App. This would be your second (and possibly third) project. This could also be done similar to MVC but the Models would not use EF, they would call over to your SOA project to get their information.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900