Web应用程序的典型堆栈是数据库,具有服务器端代码的服务器以及具有HTML / CSS / JavaScript的浏览器的用户。
在广泛使用AJAX之前,已将控制器作为服务器端代码的MVC删除了。服务器必须为动态网页路由答复请求(即,模板化的html解决方案,如JSP和ASP)。服务器协调对数据库的调用,并决定使用哪个动态页面来应答页面请求。所有这些的结果是,服务器最终包含了业务逻辑,即使业务逻辑与提供页面的想法没有紧密联系。
现在,我们正在向“ Web 2.0”迁移,服务器将使用JavaScript填充静态页面并更改其呈现的服务器。可以在JavaScript中。JavaScript通常实现RESTful服务,这意味着它正在指定数据库查询。
因此,服务器将承担提供实际文件和应答AJAX调用的角色。应答AJAX呼叫仅仅是会话管理和提供安全性。实际上,用户甚至应该能够看到的是应该在数据库中指定的数据。
因此,从那里开始,服务器是否应该只充当笨拙的中介角色,而这种中介只是偶尔发送电子邮件或启动Web服务之类的功能?业务逻辑可以全部存在于JavaScript中(不是秘密时)还是存在于存储过程中吗?
甚至将服务器和数据库结合在一起,或者使像SAP这样的ERP解决方案作为服务器,是否有意义?