Web 应用程序架构:功能、组件、类型和现实生活中的示例

已发表: 2021-06-16

目录

什么是 Web 应用架构?

Web 应用程序是指在浏览器上运行的那些类型的应用程序。 它需要使用网络技术在互联网上执行其任务。 Web 应用程序的一些特征是:

  • Web 应用程序只关注一个特定的问题。
  • 它像桌面应用程序一样具有高度交互性。
  • 内容管理系统存在于 Web 应用程序中。

本文简要介绍了 Web 应用程序的体系结构及其扩展到组件的工作。

传统的网站是静态页面的组合,但在今天,网站已经从静态转变为静态和动态。 网站的动态部分称为 Web 应用程序。 客户端是指用于浏览互联网的任何设备。

而服务器是指网站的另一半。 顾名思义,服务器为客户端请求的数据提供服务。 客户端和服务器之间的通信称为客户端-服务器模型。 客户端-服务器模型的主要目标是接收来自客户端的请求并传递响应。

服务器端脚本和客户端脚本组合在一起形成 Web 应用程序。 服务器端脚本包括 PHP 和 ASP,用于检索和存储信息。 Javascript 和 HTML 用于为客户提供信息。

Web 应用程序架构是指组件的框架及其通信,以实现更好的 Web 体验。 组件之间的通信是网络上涉及的数据库、应用程序和其他系统之间的交互。 该架构的目标是同时启用程序的多个执行。 该架构可以通过浏览网页的简单示例来描绘。

  • 用户在地址栏中输入 URL 后,在浏览器中请求特定网址。 服务器收到请求后将一些文件作为响应发送回浏览器。 一旦文件被浏览器执行,请求的页面就会显示出来。
  • 显示请求的页面允许用户和网站之间的交互。 Web 浏览器在执行时解析代码。
  • 根据用户的输入,代码可能没有必要的信息让浏览器知道如何响应用户输入。
  • 因此,子组件和外部应用程序交换需要包含在 Web 应用程序架构中。
  • Web 通信已成为大多数应用程序和设备的重要组成部分,因此 Web 应用程序已成为现代世界的必需品。
  • 可靠性、安全性、可扩展性、效率和稳健性是 Web 应用程序的一些要求。

Web 应用程序的属性

  • Web 应用程序用于解决业务问题。
  • Web 应用程序确保了快速的用户体验。
  • 它提供了安全性。
  • Web 应用程序是自我调节和可持续的。
  • Web 应用程序支持视觉美学。
  • 支持 A/B 测试和分析。

网络应用功能

大多数浏览器支持的语言用于编写 Web 应用程序,如 JavaScript 和 HTML。 对于程序的执行,语言依赖于浏览器。 对于任何典型的 Web 应用程序,两个代码并排运行,即:

  • 客户端代码:此代码在响应客户端输入的浏览器中本地化。
  • 服务器端代码:此代码响应 HTTP 发出的请求并本地化在服务器中。

决定服务器端代码相对于客户端代码的职责是开发团队的职责。 Java、JavaScript、C#、Python、Ruby、PHP 等脚本用于编写服务器端代码。

这些代码能够在可以响应 HTTP 请求并负责生成用户请求页面的服务器上运行。 此外,它可以存储各种类型的数据,例如用户输入和配置文件。 最终用户永远无法掌握这些信息。

客户端代码由 Web 浏览器解析的 JavaScript、CSS 和 HTML 脚本编写。 用户能够查看和修改客户端代码。

因此,Web 应用程序需要 Web 服务器和应用程序服务器来接收和管理客户端请求以及执行所请求的任务。

Web 应用程序的工作遵循以下顺序:

  • 通过使用应用程序的用户界面或 Web 浏览器,用户通过 Internet 向 Web 服务器生成请求。
  • 然后,该请求由 Web 服务器转发到适当的 Web 应用程序服务器。
  • 请求的任务由 Web 应用程序服务器执行并生成结果。 请求可以是与数据库查询或数据处理相关的任何内容。
  • Web 应用程序服务器将结果与处理后的数据或客户端请求的所需信息一起发送回 Web 服务器。
  • 所请求的信息由网络服务器显示在用户显示器上。

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

Web 应用程序架构的组件

典型 Web 应用程序的架构由应用程序组件、数据库和中间件系统组成。 Web 应用程序架构的组件包括:

  1. UI/UX Web 应用程序组件:这些组件包括活动日志、通知、统计数据、仪表板、设置等。它们主要用于奠定 Web 应用程序的基础和创建视觉效果。 这些组件不参与基于 Web 的应用程序的任何操作。
  2. 结构组件:Web 应用程序的结构组件包括客户端和服务器端。 它包括数据库服务器和 Web 应用程序服务器。
  3. 客户端组件:创建客户端组件需要了解 JavaScript、HTML 和 CSS。 由于组件驻留在用户的网络浏览器中,因此不需要操作系统。 它基本上代表了最终用户与之交互的 Web 应用程序的功能。
  4. 服务器组件:创建客户端组件需要 Java、.NET、Python、Ruby、PHP 和 Node.js 的知识。 服务器组件的两个部分是应用程序逻辑和数据库。 应用程序逻辑控制 Web 应用程序,而数据库存储所有信息。

可以从以下模型中选择用于构建 Web 应用程序的组件:

1、一台Web服务器和一个数据库: Web应用程序最简单和最不可靠的模型是一台Web服务器和一个数据库 此类模型的可靠性很低,因为一旦服务器出现故障,基于此类模型构建的 Web 应用程序就会出现故障。

服务器的问题不允许此类应用程序运行,因此服务器稳定性是应用程序成功运行所依赖的主要因素。

该模型不用于构建真正的 Web 应用程序,但可用于测试和学习 Web 应用程序的基础知识。

2. 两台网络服务器和一个数据库:基于这样的模型构建的网络应用程序由于有备份服务器的存在,与上面提到的相比非常可靠。 网络服务器中没有数据存储。 Web 服务器从客户端接收到的信息由 Web 服务器处理并写入数据库。 该数据库在服务器外部进行管理。 该模型也称为无状态架构。

该模型要求使用至少两台 Web 服务器来避免故障,因为一台服务器的故障将导致另一台服务器负责。 在这种情况下,请求将被定向到新服务器,因此 Web 应用程序的执行将继续。 但是,在数据库崩溃的情况下,Web 应用程序也会崩溃。

3.两个以上的 Web 服务器和数据库:构建应用程序的最有效和最可靠的选项之一是由两个以上的服务器和数据库组成的模型。 多个组件的存在避免了与 Web 应用程序故障相关的问题。

拥有多个数据库允许选择在所有数据库中存储相同的数据或在所有数据库之间均匀分布数据。 如果使用超过 5 个 Web 服务器或数据库,则需要安装负载均衡器。 由于能够处理大量数据,这些模型被广泛用于为企业构建 Web 应用程序。

Web 应用程序架构的类型

Web 应用程序架构类型取决于应用程序逻辑在客户端和服务器端之间的分布。 它包括Web 应用程序架构Web 服务器架构。

Web 应用程序架构主要分为三种类型。

  1. 单页应用程序(SPA) :在这种类型的架构中,页面是由用户请求的。 通过将内容更新到当前页面来提供动态交互。 这种类型的 Web 应用程序架构是通过 AJAX 实现的,AJAX 是异步 JavaScript 和 XML 的简洁形式。 SPA 类似于桌面应用程序,因为用户不会遇到任何中断。 它为用户提供了一种交互式体验,因为他们可以请求最需要的内容。
  2. 微服务:这些类型的架构在提高生产力和加快部署过程方面具有优势。 单个功能由微服务类型的架构执行,因此体积小且重量轻。 基于微服务的应用程序开发简单快捷,因为构建应用程序组件所需的代码不需要使用相同的编程语言。
  3. 无服务器架构:这是一种Web 服务器架构。 在无服务器架构中,需要第三方来外包服务器和基础架构管理。 该应用程序在云中执行代码,而不会打扰与基础设施相关的其他任务。

其他类型的Web 服务器架构包括 Java、Node.Js、.NET、PHP、Azure、AngularJS、Laravel 和基于 Python 的 Web 应用程序架构。

Web 应用程序示例

Web 应用程序的示例包括在线表单、文字处理器、购物车、电子表格、照片和视频编辑、文件转换和扫描,以及 Gmail、Yahoo 和 AOL 等电子邮件程序。

一些流行的 Web 应用程序的一些示例是:

1. Google Docs: Google docs 允许用户在计算机或Google Drive 帐户中创建和保存文档。 这些文件可以保存为 PDF 格式,可以打印并与其他用户共享。 它使不同的用户可以处理相同的文档。 即使没有互联网连接,也可以使用该应用程序,并且在再次连接到互联网时将自动保存在文档中所做的修改。

2. Netflix:该应用程序是重要的视频流媒体平台之一。 它允许用户根据自己的喜好在任何特定时间浏览和观看他们喜欢的电影。

3. Codepen.io:这是一个用于开发HTML代码的基于Web的应用程序。 该工具可帮助用户测试任何实时 CSS、HTML 和 JavaScript 代码。

Web 应用程序的其他示例包括 Facebook、Gmail、Twitter 等。

结论

随着近年来互联网使用量的增加,Web 应用程序的使用量也在增加。 正如我们在文章中所讨论的,Web 应用程序提供的安全性进一步取决于为构建应用程序选择的模型类型。 因此,在进行基于 Web 的应用程序的开发之前,最好深入探索其背后的需求和概念。

如果您愿意接受相应领域的培训并获得任何 Web 开发经验,我们建议您查看upGrad 和 IIIT-Bangalore 提供的“计算机科学理学硕士”认证课程。 该课程有效地为 21 至 45 岁年龄段的入门级到中级专业人员(男性和女性)设计。

这将是您实现 Web 开发梦想的垫脚石,因为您将通过领先专家的严格培训,获得超过 15 种工具和软件的经验。 如果您愿意查看有关 upGrad 课程的更多信息,请给我们留言。 我们的协助团队会尽快回复您。

提升自己并为未来做好准备

申请 DevOps 高级证书课程