rso il
e
v
e
r
a
g
i
Nav
ento
m
a
i
b
m
a
c
La Strada
più semplice
verso
il cambiamento
Le caratteristiche
tecniche del
software
La Tecnologia utilizzata
EASY è una applicazione Open Source basata sul framework MICROSOFT .NET 2.0 ed è realizzata in Visual C#.
L’applicazione è strutturata in modo da essere scalabile dal momento che è realizzata con un’architettura a tre
livelli. Tra il client ed il database abbiamo previsto un livello software, opzionale, che permette di isolare il database in una rete interna non raggiungibile dalla rete in cui sono presenti i client.
L’architettura la si può riassumere in tre strati software:
•il client
•il proxy
•il server dei dati
Il client nella versione Windows contiene tutta l’interfaccia utente con il vantaggio di avere un’interfaccia ricca
di strumenti che non deve essere letta via rete.
Il proxy si interpone tra il client ed il server dei dati, inoltrando le richieste e le risposte dall’uno all’altro. Il client
si collega al proxy invece che al server, e gli invia delle richieste.
Il proxy, quindi, si preoccupa solo di smistare le comunicazioni tra i client sparsi in rete geografica e il server dei
dati.
Il proxy verrà quindi connesso ad una rete privata verso il DB server ed a una rete pubblica verso i client, e si
occuperà della gestione della sicurezza in primo luogo attraverso la criptazione dei dati ed analizzando i diritti
dell’utente ad accedere e modificare i dati.
OpenSource
Alcune funzioni del proxy sono inoltre: gestire gli accessi degli utenti e la sicurezza, gestire l’accesso al database
ed eventuali sistemi legacy, gestire le transazioni, ottimizzare le prestazioni, ad esempio con la preparazione
degli statement sql, caching di alcuni dati, gestione del connection pool.
Client
Web
Web
Server
Client
Windows
Proxy
(Opzionale)
Cluster
Database
Server
Client
Windows
La valutazione dell’installazione con l’uso del proxy è da effettuare insieme al personale tecnico dell’Ateneo
poiché si riscontra un aumento dei tempi di round-trip di comunicazione tra i tre livelli dell’architettura e un
decadimento delle prestazioni in generale su personal computer datati.
La maggior parte della validazione e verifica d’integrità sono semplicemente invocate dal client ed eseguite
direttamente dal DBMS poiché sono sviluppate interamente in codice SQL.
Il codice SQL, prevalentemente sotto forma di stored procedures, viene creato dinamicamente dall’applicativo in sede di installazione, in forma estremamente ottimizzata. In questo modo si garantisce che tra il
client ed il server ‘viaggino’ solo i dati visualizzati sul video dell’utente, questo perché non tutte le informazioni necessarie al processo di validazione/verifica d’integrità devono essere lette dal client.
OpenSource
Sul client abbiamo creato un sofisticato sistema di Live Update che agisce in maniera totalmente trasparente
all’utente. All’atto dell’esecuzione del client, vengono istanziati quattro tread paralleli che verificano rispettivamente la disponibilità di una nuova versione del client (le dll che lo compongono), delle voci di menù, dei report,
del database. Se viene individuata una versione più recente viene effettuato un test di velocità a tutti i siti web di
live update. Individuato il più veloce parte il processo di aggiornamento. Gli aggiornamenti normalmente sono
dell’ordine di qualche centinaio di Kbyte, raramente vengono pubblicati aggiornamenti di un Mbyte o superiori.
Da circa 6 anni gli aggiornamenti vengono effettuati in questa modalità e su nessuno dei circa 1000 client attualmente gestiti è stata necessaria un’attività di manutenzione.
Grazie all’utilizzo del framework .NET e ad un’ottima progettazione, EASY può essere agevolmente adattato ai
mutamenti della tecnologia. Inoltre l’utilizzo di database relazionali assicura sempre transazioni cosiddette ACID
(atomiche, coerenti, isolate e durevoli) e permette di implementare facilmente il controllo degli accessi. Infatti,
il client è basato su un’applicazione .NET sia in versione Windows che in versione Web ,sul lato database server
è stato scelto per il momento l’uso di MICROSOFT SQL SERVER utilizzando Transact SQL per la programmazione
di triggers e stored procedures. EASY è un’applicazione di classe superiore adatta a soddisfare le esigenze di
realtà di qualsiasi dimensione. La scalabilità di Microsoft Windows 2012 Server e di Microsoft SQL Server (dalla
workstation monoutente al server multiprocessore al cluster), la facilità di amministrazione della piattaforma
Microsoft rispetto ai prodotti concorrenti aggiunge valore alla soluzione EASY.
La configurabilità di EASY non è solo limitata alla capacità di adattamento alle esigenze contabili ed amministrative. Essa si estende anche ad altri settori:
• La possibilità di personalizzare le situazioni contabili ed i prospetti forniti con l’applicazione.
• La possibilità di creare nuovi prospetti integrandoli nell’interfaccia dell’applicazione.
• La possibilità di creare procedure di importazione e di esportazione di dati integrandole nell’interfaccia dell’applicazione.
• La possibilità di aggiungere, modificare o cancellare regole contabili e di integrità che vengono fornite con
l’applicazione.
Dal momento che tutta la logica dell’applicazione è spostata sul database, le prestazioni dell’applicativo sono
strettamente dipendenti dalle prestazioni del server di database che si utilizza, rendendo, di conseguenza, possibile l’utilizzo di client anche relativamente poco potenti, ad esempio un Personal computer con processore
INTEL Pentium 1Ghz con 128 Mb di Ram libera è sufficiente per far eseguire l’applicativo, lo spazio utilizzato sul
disco rigido del client è inferiore a 500 Mb di cui gran parte utilizzati appunto dal .NET framework. Il proxy, che
gestisce il livello intermedio dell’applicativo è interamente basato sul Microsoft .Net Framework 2.0.
OpenSource
Prerequisiti consigliati
Configurazione hardware
Di seguito saranno riportate delle raccomandazioni di massima sulla scelta della configurazione hardware consigliata, dal momento che la configurazione del server dipende anche dalle scelte sistemistiche che l’Ateneo
deciderà di utilizzare nella fase di ottimizzazione di tutti i servizi erogati. Si pensi alla possibilità di virtualizzare
le macchine che erogano i servizi tramite l’utilizzo di sistemi blade, o la possibilità di concentrare tutti i dati
dell’Ateneo su di un’unica SAN.
Requisiti client consigliati
Processore
Almeno 1 Ghz
Memoria Ram
Almeno 128 Mb di Ram libera. Questo potrebbe presupporre che il Pc si dotato di circa
384 Mb
Disco rigido
Spazio libero di almeno 500Mb su sistemi a 32 bit, 850 Mb su sistemi a 64 bit
Sistema Operativo Windows XP SP3, Windows Vista SP2, Windows 7 SP1,
Windows XP SP3 x64, Windows Vista SP2 x64, Windows 7 SP1 x64
Requisiti server consigliati
Per garantire un’alta disponibilità del servizio consigliamo un’architettura cluster a due nodi in configurazione
attivo/passivo. I due server possono condividere uno spazio di memorizzazione dei dati su una SAN configurata
in RAID 10 o 50 con almeno un disco in hot spare.
I server devono essere certificati per Windows 2012 server e garantire l’hot swap a caldo di CPU e memorie.
La scelta del cluster attivo/passivo è basata su due considerazioni:
• la possibilità di avere il servizio sempre disponibile anche in caso di grave malfunzionamento hardware;
• il nodo passivo può essere scelto come più economico rispetto al nodo designato come attivo.
Nodo principale per la gestione del DBMS
Mainboard
4 socket
Processore
Almeno 2 CPU Quad Core Intel XEON E7400
Memoria Ram
Almeno 8 Gb
Disco rigido
Lo spazio di memorizzazione dei database è consigliabile che venga gestito su una SAN
Sistema Operativo Windows 2012 Server Enterprise
Nodo passivo per la gestione del DBMS
Mainboard
2 socket
Processore
2 CPU Quad Core Intel XEON E5400
Memoria Ram
Almeno 4 Gb
Disco rigido
Lo spazio di memorizzazione dei database è consigliabile che venga gestito su una SAN
OpenSource
Web Server
Mainboard
Processore
Memoria Ram
Disco rigido
Sistema Operativo
2 socket
1 CPU Quad Core Intel XEON E5400
Almeno 4 Gb
Lo spazio richiesto è davvero minimo, poiché l’applicativo web risulta di poche
centinaia di Mb.
Windows 2012 Server Enterprise
La SAN dovrebbe utilizzare dischi iSCSI con velocità da 15’000 Rpm e gestire almeno la configurazione RAID 10.
Tutti i server e la SAN dovrebbero essere dotati di alimentatori ridondati. Per il sistema di backup si lascia l’Ateneo libero di operare le scelte più opportune, anche perché si presuppone che questa esigenza sia stata già
centralizzata con altre tipologie di servizio.
Software di base e middleware
Come già descritto, il sistema operativo consigliato è Windows 2012 Server versione Enterprise. E’ necessario
anche installare il DBMS, di cui occorre una sola licenza, che è Microsoft Sql Server 2012 versione Enterprise.
OpenSource