Le moderne applicazioni REST sono architettura a 3 livelli o architettura a 4 livelli?

Aug 20 2020

Attualmente sto imparando UML e Deployment/Component Diagrams e desidero modellare la mia applicazione esistente in un'architettura a 3 o 4 livelli. La mia app ha le seguenti istanze:

  1. Applicazione angolare
  2. Applicazione Java Spring Boot come servizio Web REST
  3. Banca dati

Tutte e tre le istanze possono essere distribuite su server diversi. Nella mia mente, questa è un'architettura a 3 livelli. Ma ora sono confuso, perché non sono sicuro che il client con il browser Web sia il quarto livello della mia architettura. Il browser Web e l'applicazione angolare possono trovarsi nel livello di presentazione, in questo modo:

Sto pensando e sono confuso su questo, perché in questo post:

Va bene usare il diagramma dei componenti UML per un'architettura a 3 livelli?

riassume l'applicazione e il browser nel livello di presentazione.

EDIT: ecco come lo realizzerei come un diagramma di distribuzione dell'architettura a 4 livelli:

Risposte

4 muszeo Aug 21 2020 at 12:34

La tua applicazione ha un'architettura a 3 livelli. Il browser è semplicemente un ambiente di esecuzione che esegue parte del codice dell'applicazione front-end.

L'applicazione front-end è suddivisa tra la distribuzione sul server web (come minimo, che ospita i file statici che compongono il tuo front-end anche se (perché stai usando angolare) non sta facendo altro) e il browser web.

L'API è il secondo livello. La tua app angolare si sta connettendo a questo per richiamare la logica e accedere ai dati.

Il database è il terzo livello.

Vorrei andare con il tuo diagramma in alto, ma mettere la tua app angolare nidificata all'interno del browser.