¿Las aplicaciones REST modernas son arquitectura de 3 niveles o arquitectura de 4 niveles?

Aug 20 2020

Actualmente estoy aprendiendo UML y diagramas de implementación/componentes y quiero modelar mi aplicación existente en una arquitectura de 3 o 4 niveles. Mi aplicación tiene las siguientes instancias:

  1. Aplicación angular
  2. Aplicación Java Spring Boot como REST-Webservice
  3. Base de datos

Las tres instancias se pueden implementar en diferentes servidores. En mi opinión, esta es una arquitectura de 3 niveles. Pero ahora estoy confundido, porque no estoy seguro si el Cliente con el Navegador Web es el cuarto nivel de mi arquitectura. ¿Pueden el navegador web y la aplicación angular estar en la capa de presentación, así:

Estoy pensando y confundido acerca de esto, porque en esta publicación:

¿Está bien usar el diagrama de componentes UML para una arquitectura de 3 niveles?

resume la aplicación y el navegador en la capa de presentación.

EDITAR: así es como lo realizaría como un diagrama de implementación de arquitectura de 4 niveles:

Respuestas

4 muszeo Aug 21 2020 at 12:34

Su aplicación tiene una arquitectura de 3 niveles. El navegador es simplemente un entorno de ejecución que ejecuta parte del código de su aplicación de front-end.

La aplicación de front-end se divide entre la implementación en el servidor web (como mínimo, alojar los archivos estáticos que componen su front-end incluso si (debido a que está usando angular) no hace nada más) y el navegador web.

La API es el segundo nivel. Su aplicación angular se conecta a esto para invocar la lógica y acceder a los datos.

La base de datos es el tercer nivel.

Iría con su diagrama superior, pero coloque su aplicación angular anidada dentro del navegador.