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