Являются ли современные приложения REST трехуровневой архитектурой или четырехуровневой архитектурой?

Aug 20 2020

В настоящее время я изучаю UML и диаграммы развертывания / компонентов и хочу смоделировать свое существующее приложение в трех- или четырехуровневой архитектуре. В моем приложении есть следующие экземпляры:

  1. Угловое приложение
  2. Приложение Java Spring Boot как REST-Webservice
  3. База данных

Все три экземпляра можно развернуть на разных серверах. На мой взгляд, это трехуровневая архитектура. Но теперь я сбит с толку, потому что не уверен, является ли клиент с веб-браузером 4-м уровнем моей архитектуры. Могут ли веб-браузер и приложение angular находиться на уровне представления, например:

Я думаю об этом и не понимаю, потому что в этом посте:

Можно ли использовать диаграмму компонентов UML для трехуровневой архитектуры?

он резюмирует приложение и браузер на уровне представления.

РЕДАКТИРОВАТЬ: Вот как я бы понял это как диаграмму развертывания с четырехуровневой архитектурой:

Ответы

4 muszeo Aug 21 2020 at 12:34

Ваше приложение имеет трехуровневую архитектуру. Браузер - это просто среда выполнения, в которой выполняется часть кода вашего интерфейсного приложения.

Интерфейсное приложение делится между развертыванием на веб-сервере (как минимум, размещением статических файлов, составляющих ваш интерфейс, даже если (поскольку вы используете angular) оно больше ничего не делает) и веб-браузером.

API - это второй уровень. Ваше приложение angular подключается к нему для вызова логики и доступа к данным.

База данных - это третий уровень.

Я бы пошел с вашей верхней диаграммой, но поместил ваше приложение angular внутри браузера.