Note that there are some explanatory texts on larger screens.

plurals
  1. POREST based MVC site and/or WCF
    primarykey
    data
    text
    <p>I know there are actually a number of questions similar to this one, but I could not find one that exactly answers my question.</p> <p>I am building a web application that will </p> <ul> <li>obviously display data to the users :)</li> <li>have a public API for authenticated users to use</li> <li>later be ported to mobile devices</li> </ul> <p>So, I am stuck on the design. I am going to use asp.net MVC for the website, however I am not sure how to structure my architecture after that.</p> <p>Should I:</p> <ul> <li>make the website RESTful and act as the API <ul> <li>in my initial review, the GET returns the full view rather than just the data, which to me seems like it kills the idea of the public API</li> <li>also, should I really be performing business logic in my controller? To be able to scale, wouldn't it be better to have a separate business logic layer that is on another server, or would I just consider pushing my MVC site to another server and it will solve the same problem? I am trying to create a <a href="http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29" rel="nofollow">SOLID</a> design, so it also seems better to abstract this to a separate service (which I could just call another class, but then I get back to the problem of scalability...)</li> </ul></li> <li>make the website not be RESTful and create a RESTful WCF service that the website will use</li> <li>make both the website and a WCF service that are restful, however this seems redundant</li> </ul> <p>I am fairly new to REST, so the problem could possibly be a misunderstanding on my part. Hopefully, I am explaining this well, but if not, please let me know if you need anything clarified.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload