我正在研究客户机/服务器体系结构和Web应用程序。我一直在网上阅读不同的想法和建议。有人说Web应用程序不被视为客户端/服务器体系结构应用程序,而另一些人则表示完全相反。我想知道实际上什么是正确的事情,是否有人可以提供深入的解释,将不胜感激?
答案 0 :(得分:0)
这取决于Web应用程序的体系结构/设计。经验法则是:客户端应用程序必须是(资源)服务器之外的另一软件。没有设计客户/服务器体系结构的“正确方法”。
基于Web的应用程序最常见的实现是MVC(模型视图控制器和SPA(单页应用程序))。
MVC应用程序(例如ASP.NET或ZendFramework)是在客户机上渲染客户机并处理后端业务逻辑的应用程序,而不是基于客户机/服务器模型的。 (控制器中的操作处理请求,加载一些数据并呈现HTML视图作为响应)。
但是:如果您的MVC应用程序充当内部(通过SOAP或其他方式)调用“远程” Web服务的代理,则应将其视为客户端应用程序。 例如:CRM系统在Intranet网络中运行,并为桌面客户端提供数据服务。您可以编写一个Web应用程序,以显示来自那些服务的数据,然后是另一个客户端应用程序。
SPA体系结构要求将服务器与前端分开,SPA是前端,而前端又是客户端应用程序。有了这个要求,您基本上已经在实现客户端/服务器体系结构。假设AngularJS前端和后端可以是REST服务(例如ASP.NET WebAPI或Lumen)。
选择在何处托管客户端应用程序不会影响客户端/服务器体系结构,因为应用程序在执行时仍是分开的:浏览器在访问者的设备上执行JavaScript SPA,并在某些数据中心中调用服务
答案 1 :(得分:0)
Web应用程序是客户端-服务器体系结构的一部分。任何实现都始终具有两层或更多层,因此两个或更多进程相互通信。 您可以看一下我以前的演示文稿“ Architecture of enterprise (automated) information system - Layers and levels”,该演示文稿显示了包括Web应用程序案例在内的不同客户端-服务器体系结构(幻灯片“层是物理层(示例)”显示了示例)。