A typical stack for a web application is a database, a server with server-side code, and a user with a browser with HTML/CSS/JavaScript.Before extensive AJAX, MVC in which the controller was the server-side code rulled.  A server had to route answer requests for Dynamic web pages (i.e. templated html solutions like JSP and ASP).  The server to coordinate the calls to the database and decide which dynamic page to use to answer the page request.  The result of all of this is that server ended up containing the business logic, even though business logic isn't strongly tied to the idea of serving pages.Now that we are moving to Web 2.0 a server servers static pages that use JavaScript to fill themselves and change what they are presenting.  The can be in the JavaScript.  The JavaScript often implements a RESTful service meaning that it is specifying database query.So the server is left to the roles of serving actual files and answering AJAX calls.  And answering AJAX calls is merely session management and providing security.  And really, what a user should even be able to see is data that should be specified in the database.So from there, should the server be relegated to the role of a dumb intermediary that only occasionally does something like send out an email or fire off a webservice?  Could business logic all live in JavaScript (when it is not secret) or live in stored procedures when it is?Will it make sense to maybe even combine servers and databases or make ERP solutions like SAP function as servers?
Does business logic really belong on the server?
ajax;server side;business logic