首页 > 解决方案 > 可以将 Web 应用程序视为客户端/服务器架构的一部分吗?

问题描述

我正在研究客户端/服务器架构和 Web 应用程序。我一直在网上阅读不同的想法和建议。有人说 Web 应用程序不被视为客户端/服务器架构应用程序,而另一些人则完全相反。我想知道什么是正确的,如果有人可以提供深入的解释,将不胜感激?

标签: webarchitectureclient-serversoftware-design

解决方案


这取决于您的 Web 应用程序的架构/设计。经验法则是:客户端应用程序必须是(资源)服务器之外的另一个软件。设计客户端/服务器架构没有“一种正确的方法”。

基于 Web 的应用程序最常见的实现是 MVC(模型视图控制器和 SPA(单页应用程序))。

MVC应用程序(如 ASP.NET 或 ZendFramework)是呈现客户端并在后端处理业务逻辑的应用程序,并且不基于客户端/服务器模型。(控制器中的操作处理请求,加载一些数据并呈现 HTML 视图作为响应)。

但是:如果您的 MVC 应用程序在内部充当代理调用“远程”Web 服务(通过 SOAP 或其他方式),则应将其视为客户端应用程序。例如:CRM 系统运行在 Intranet 网络中,并为桌面客户端提供数据服务。您可以编写一个 Web 应用程序来显示来自这些服务的数据,然后是另一个客户端应用程序。


SPA架构要求将服务器与前端分离,SPA 是前端,而前端又是客户端应用程序。有了这个要求,您基本上已经实现了客户端/服务器架构。假设 AngularJS 前端和后端可以是 REST 服务(如 ASP.NET WebAPI 或 Lumen)。

选择托管客户端应用程序的位置不会影响客户端/服务器架构,因为应用程序在执行时仍然是分开的:浏览器在访问者的设备上执行 JavaScript SPA 并调用某个数据中心中的服务。


推荐阅读