【问题标题】:Can web application be considered part of client/server architecture?可以将 Web 应用程序视为客户端/服务器架构的一部分吗?
【发布时间】:2019-04-15 04:54:15
【问题描述】:

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

【问题讨论】:

    标签: web architecture client-server software-design


    【解决方案1】:

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

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

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

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


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

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

    【讨论】:

    • Fazeksas 这很有帮助!澄清一下 - 假设我正在构建 Web 应用程序(AngularJS/React/Etc),它的前端处理操作,例如在云中托管的 MySQL 数据库中写入数据,并且基于该服务器将对数据执行一些操作,例如发送警报等. 是客户端/服务器架构应用还是别的什么?
    • 如果您将数据直接发送到数据库,那么我会说它不是客户端/服务器架构。那是因为我在设计应用程序时将数据源与业务逻辑分开。我猜想发送警报的应用程序是通过轮询来完成的,这将使该应用程序成为一个独立的应用程序。如果您将数据从前端发送到服务器,然后服务器将数据保存到数据存储并发送警报,这将是客户端/服务器架构。
    • 是的,我的意思是将数据从前端发送到服务器,服务器会将数据保存到数据库中,而不是服务器会执行其他操作,例如发送警报或其他客户端/服务器架构对吗?
    • 非常感谢您花时间解释这一点!赞赏!
    【解决方案2】:

    Web 应用程序是客户端-服务器架构的一部分。任何实现总是有两层或更多层,因此两个或更多进程相互通信。 您可以查看我的旧演示文稿“Architecture of enterprise (automated) information system - Layers and levels”,该演示文稿展示了不同的客户端-服务器架构,包括 Web 应用程序案例(幻灯片“层是物理层(示例)”显示了示例)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多