I Tier rappresentano i livelli di sviluppo applicativo di un software, classicamente esistevano ( ed ancora esistono) applicazioni monolitiche che oggi possiamo chiamare “Single Tier Application” e che hanno subito enormi trasformazioni per adattarsi alla specificità attuale dei software, vale a dire: modularità, scalabilità, utenti globali, sicurezza dei dati e così via. Scopriamo, attraverso i Tier, i modelli di progettazione, i relativi vantaggi e svantaggi.
Single Tier Application
Le Single Tier Application sono le applicazioni tradizionali come Microsoft Office in cui User Interface, Backend Server e Database risiedono tutte sulla stessa macchina.
I vantaggi delle Single Tier Application
- nessuna latenza di rete
- nessuna richiesta inviata a server remoti
- dati al sicuro in quanto non direttamente esposti online
Gli svantaggi delle Single Tier Application
- nessun controllo sulle applicazioni
- non è possibile modificare direttamente il codice
- stretta dipendenza delle performance alla macchina
2-Tier Application
Le 2-Tier Application sono le applicazioni tradizionali Client – Server come lo sharing di file con un server FTP in cui un applicativo Client accede ad un Server in cui servizi, informazioni e Database risiedono assieme.
I vantaggi delle 2-Tier Application
- codice e User Interface insieme
- poche richieste al database
- costi concentrati sul server
Gli svantaggi delle 2-Tier Application
- Single Point of Failure
- incapacità di scalare
- difficoltà di cambiamenti e modifiche
3-Tier Application
Le 3-Tier Application sono le applicazioni in cui c’è separazione tra User Interface ( che normalmente è attiva tramite Client), Backend Server e Database. Tra queste applicazioni puoi trovare la maggiore parte delle applicazioni attuali e semplici come Blog, News, ecc…
I vantaggi delle 3-Tier Application
- separazione dei processi
- sviluppo dei Tier svincolato uno dall’altro
- scalabilità verticale
Gli svantaggi delle 3-Tier Application
- solo scalabilità verticale
- efficienza ( per applicazioni molto grandi e che coinvolgono grandi team)
- mancato sfruttamento di peculiarità software
N-Tier(o Distributed) Application
Le N-Tier (o Distributed) Application sono le applicazioni moderne in cui ogni elemento è completamente svincolato dagli altri e suddiviso in altri elementi per ottenere la completa modularità e scalabilità. In questa applicazioni trovano spazio concetti come API, Controller, Object Model, Service, Data Access e Database. Esempi di Distributed Application sono Facebook, Uber, Airbnb, ecc…
I vantaggi delle N-Tier (Distributed) Application
- principio della singola responsabilità
- separazione degli elementi
- gestione e manutenzione del sistema
- continua possibilità di introdurre nuove funzionalità in maniera immediata
- scalabilità orizzontale e verticale
Gli svantaggi delle N-Tier(Distributed) Application
- complessità del deployment
- skill avanzate
Contattaci subito e senza impegno per una consulenza sulla progettazione della tua applicazione.
Glue Labs e le Applicazioni
Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo consulenza, assistenza e supporto nello sviluppo e progettazione di Web Application, Mobile App, PWA e Cloud Native App. Contattaci subito e senza impegno per maggiori informazioni.