Являются ли современные приложения REST трехуровневой архитектурой или четырехуровневой архитектурой?
В настоящее время я изучаю UML и диаграммы развертывания / компонентов и хочу смоделировать свое существующее приложение в трех- или четырехуровневой архитектуре. В моем приложении есть следующие экземпляры:
- Угловое приложение
- Приложение Java Spring Boot как REST-Webservice
- База данных
Все три экземпляра можно развернуть на разных серверах. На мой взгляд, это трехуровневая архитектура. Но теперь я сбит с толку, потому что не уверен, является ли клиент с веб-браузером 4-м уровнем моей архитектуры. Могут ли веб-браузер и приложение angular находиться на уровне представления, например:

Я думаю об этом и не понимаю, потому что в этом посте:
Можно ли использовать диаграмму компонентов UML для трехуровневой архитектуры?
он резюмирует приложение и браузер на уровне представления.
РЕДАКТИРОВАТЬ: Вот как я бы понял это как диаграмму развертывания с четырехуровневой архитектурой:

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