architecture - 现代 REST 应用程序是 3 层架构还是 4 层架构?

标签 architecture uml 3-tier component-diagram

我目前正在学习 UML 和部署/组件图,并希望将我现有的应用程序建模为 3 层或 4 层架构。我的应用程序有以下实例:

  • Angular 应用
  • Java Spring Boot 应用程序作为 REST-Webservice
  • 数据库

  • 所有三个实例都可以部署在不同的服务器上。在我看来,这是一个三层架构。但是现在我很困惑,因为我不确定带有 Web 浏览器的客户端是否是我架构的第 4 层。可以浏览器 Angular 应用程序位于表示层,如下所示:
    enter image description here
    我正在思考并对此感到困惑,因为在这篇文章中:
    Is this okay to use UML component diagram for a 3-tier Architecture?
    他总结了表现层中的应用程序和浏览器。
    编辑:这就是我将其实现为 4 层架构部署图的方式:
    enter image description here

    最佳答案

    您的应用程序具有 3 层架构。浏览器只是运行前端应用程序代码的一部分的执行环境。
    前端应用程序分为部署在 Web 服务器上(至少,托管构成前端的静态文件,即使(因为您使用的是 angular)它什么都不做)和 Web 浏览器。
    API 是第二层。您的 angular 应用程序正在连接到它以调用逻辑和访问数据。
    数据库是第三层。
    我会使用您的顶部图表,但将您的 angular 应用程序嵌套在浏览器中。

    关于architecture - 现代 REST 应用程序是 3 层架构还是 4 层架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63503425/

    相关文章:

    database - 使用 UML : Relationships 对数据库建模

    dynamic - Enterprise Architect 序列图中的平行生命线

    c# - 如何在c#中实现三层架构

    java - 如何构建三层 Web 服务

    java - 在这个包结构中,在哪里放置 Reader/Writer/Emailer ... *er 类?

    oop - DTO与领域对象、WCF以及DB层交互

    c# - 为什么要使用 ObjectDataSource 控件?

    design-patterns - 对数据库模型建模是否是设计复杂的大型企业应用程序的好方法?

    assembly - 是否可以在 x64 操作系统上运行 x86 程序集?

    java - JavaScript 对象和 OO/UML/Java 对象有什么区别?