Blog
SAP: architettura del software a 2 e a 3 livelli (Two-tier Vs Three-tier)
- 12/06/2020
- Scritto da: Grazia Masulli
- Categoria: Altri prodotti SAP
A volte parlando dei prodotti SAP ci si imbatte in termini come “Two-tier” e “Three-tier”, che in italiano potrebbero tradursi come “Due livelli” e “Tre livelli”.
Di che cosa si tratta?
Iniziamo dall’architettura a due livelli – usata ad esempio da SAP Business One nella versione “locale” con server MS SQL. Si tratta di una soluzione che consiste di:
- Livello del database (i dati, su di un server centralizzato).
- Livello dei “client” (i “clienti”), cioè i computer, tablet e pc che comunicano con il database. Ogni utente di Business One ha il software installato sul suo PC.
Nella fattispecie in Business One la maggior parte delle applicazioni (cioè dei programmi) risiedono sui clients – questa soluzione ha il curioso nome di “Fat client” (letteralmente, “Cliente grasso”) ed in pratica vuol dire che le funzionalità sono in gran parte locali (cioe’ elaborate dai PC degli utenti connessi al sistema).
Nella pratica il cliente invia una richiesta di informazioni al server, che elabora la richiesta e invia i dati che servono al cliente. Il cliente gestisce sia il livello dell’applicazione (le operazioni sui dati) sia il livello della presentazione dei risultati (interfaccia dell’applicazione), mentre il sistema del server gestisce il livello del database.
Questo tipo di soluzione è utilizzato normalmente per piccole e medie imprese.
L’architettura a tre livelli, caratteristica delle soluzioni più avanzate di SAP per grandi imprese, è invece divisa in 3 parti:
- Il livello del database (database server)
- Il livello delle applicazioni (application server)
- Il livello della presentazione (presentation server)
ll livello del database, come nel caso precedente, contiene i dati (Master Data, Transactional Data, etc.), i metadati ed il codice sorgente delle applicazioni. Questi dati vengono condivisi con i server del livello delle applicazioni. Nel livello del database i dati non vengono processati: vengono solo conservati e, quando necessario, vengono aggiornati o cancellati. I dati vengono condivisi con le applicazioni. Probabilmente si tratta del livello più critico, in quanto in caso di problemi a questo server potremmo perdere i dati.
Il livello delle applicazioni è quello che effettua le operazioni richieste dagli utenti e legge e scrive sul database, comunicando quindi direttamente con gli altri due livelli. Gestisce inoltre le sessioni degli utenti e la cache (la memorizzazione temporanea) dei dati della base di dati.
Il livello delle applicazioni lavora in modo asincrono rispetto al database. In pratica memorizza i dati necessari nella cache (un’area speciale nella memoria o su disco) e li utilizza per effettuare le operazioni richieste dagli utenti.
Il livello della presentazione, chiamato anche SAPgui o GUI (acronimo di Graphical User Interface, cioè interfaccia grafica) elabora infine ciò che appare sul vostro PC, cellulare, tablet, etc. Questa interfaccia grafica è basata su una serie di form (ossia delle “maschere” con le quali è possibile inserire o leggere dati). L’aspetto del form cambierà in funzione del modulo che stiamo utilizzando, dell’operazione che stiamo svolgendo, dei permessi che abbiamo come utenti, etc. I prodotti più moderni di SAP sono pensati per essere utilizzati con un accesso via browser (il navigatore che usiamo su internet) da vari dispositivi (non solo PC ma anche tablet e cellulari).
I primi due livelli (database ed applicazioni) possono risiedere sullo stesso server o su server differenti – fondamentalmente in funzione della complessità del sistema, della capacità di calcolo richiesta, etc. In questo caso i due livelli “condividono fisicamente” lo stesso computer – in termini più tecnico l’host è lo stesso ma i sistemi e le unità logiche sono differenti.
Se è necessaria ulteriore potenza di calcolo verranno installati nuovi server nel livello delle applicazioni, mentre se la base di dati è aumentata di dimensioni potrebbe essere necessario aggiornare l’hardware del database server.
Il sistema SAP è dato dalla combinazione di questi tre livelli – database, application, presentation. Tutti e tre devono lavorare assieme per avere un sistema funzionante.
Questa struttura a tre livelli spiega anche il tre in “R/3” (la R sta invece per “Real time”, tempo reale). All’epoca (erano gli anni ’90) si trattò di un passo avanti gigantesco, che permise agli utenti di lavorare con SAP senza dover usare costosissimi Mainframe centralizzati.
Uno dei vantaggi dell’architettura a tre livelli è l’indipendenza e scalabilità di ogni livello.
Ad esempio se cresce rapidamente la quantità di dati da immagazzinare si possono aumentare le dimensioni della base di dati, mentre se serve ulteriore potenza di calcolo si possono aggiungere processori per potenziare il livello delle applicazioni.
In teoria si può pensare anche ad una architettura ad 1 livello – in questo caso il client, il server e il database risiedono tutti sullo stesso computer.
Ogni volta che si installa un database nel proprio PC e vi si accede per lavorare, ad esempio con delle query SQL, stiamo usando un’architettura a un livello.
Ovviamente questa soluzione non trova applicazione nel mondo degli ERP aziendali, dove uno degli obiettivi principali è la condivisione dei dati in tempo reale tra gli utenti.