Architettura delle RIM

In questo articolo viene descritta l’architettura delle RIM mettendo in evidenza la tecnologia utilizzata e le scelte progettuali di maggiore importanza adottate dal GdL CNIPA/Consip. Al fine di consentire la totale portabilità delle RIM, a prescindere dall'hardware e dai sistemi operativi, è stata utilizzata la tecnica del "Virtual Appliance", ovvero la virtualizzazione di un ambiente, finalizzato ad uno specifico utilizzo, costituito dal sistema operativo e dalle relative applicazioni, preconfigurato e pronto per essere utilizzato in ambiente di esercizio. In questo modo è stato possibile rendere disponibile alla Consitituency, un DVD - che può essere "scaricato" nella sezione Download del portale, contenente tutto l'ambiente virtuale che può essere utilizzato su qualunque server che abbia caratteristiche hardware minime indicate.

La Tecnologia “Virtual Appliance”

Le RIM sono stato realizzate utilizzando la cosidetta tecnologia dei “Virtual Appliance”. Tale tecnologia può essere considerata un sottoinsieme delle tecnologia Appliance nella quale, a ifferenza di quest’ultima, l’hardware viene “virtualizzato” attraverso l’utilizzo di software che consentono la creazione di Macchine Virtuali (ad esempio VMWare, Parallel, XEN, Qemu). Le immagini evidenziano le analogie fra un Appliance “reale” (immagine a sinistra) ed un appliance “virtuale” (immagine a destra).

 

 

 

 

La scelta della citata tecnologia consente quindi di beneficiare sia dei vantaggi della tecnologia degli Appliance (semplicità di configurazione e gestione dei sistemi che ne fanno uso) e sia dei antaggi della tecnologia delle macchine virtuali (ottimizzazione delle risorse, scalabilità, semplicità e velocità di backup e ripristino, bilanciamento del carico, …).
Il Virtual Appliance delle RIM è strutturato come mostrato in Figura 2; in particolare le componenti software di maggiore rilievo sono:
la macchina virtuale VMWare in cui sono definite tutte le caratteristiche dell’hardware virtuale necessario al corretto funzionamento delle RIM;

  • il sistema operativo Debian GNU/Linux versione 4 “etch”;
  • il tool XAMPP che include un gran numero di applicazioni (ad esempio Apache, Mysql, PHP ed altre) necessarie al corretto funzionamento delle applicazioni core delle RIM Webmin, Mantis ed eGroupware);
  • Postfix, Fetchmail, Procmail e Courier IMAP che realizzano il sistema di gestione della posta in entrata e in uscita dalle RIM;
  • IMPORT_MANTIS che è una applicazione realizzata dal GdL CNIPA/Consip per importare automaticamente segnalazioni in formato XML all’interno di Mantis;
  • Webmin, Mantis ed eGroupware che sono le applicazioni core delle RIM

 

 
Nella figura precedente, inoltre, sono evidenziate le interfacce di comunicazione con il Virtual Appliance ed il relativo livello di accesso alle applicazioni per ciascuna interfaccia, ovvero:
la console virtuale (VMWARE SERVER CONSOLE) che consente il controllo completo
delle RIM;
  • il collegamento SSH che consente l’amministrazione delle RIM;
  • il collegamento FTP che consente il solo accesso in lettura e scrittura alla cartella /rim finalizzato all’esportazione dei backup prodotti dalle applicazioni “core”;
  • il collegamento HTTP che consente il controllo delle RIM attraverso Webmin e la gestione applicativa di eGroupware e Mantis.
Oltre alla distribuzione Debian GNU/Linux versione 4.0 “etch” (aggiornata a giugno 2008), antenuta direttamente dalla comunità di sviluppo Debian, sono installate e configurate nelle RIM na serie di applicazioni il cui elenco dettagliato delle versioni è di seguito riportato:
Webmin 1.390, Mantis 1.1.1, eGroupware 1.4.002, XAMPP 1.6.5a, Apache 2.2.6, MySQL 5.0.51, PHP 4.4.7;PHP 5.2.5, Perl 5.8.7, ProFTPD 1.3.1, phpMyAdmin 2.11.3; OpenSSL 0.9.8e; GD 2.0.1; Freetype 2.1.7; libjpeg 6b; libpng 1.2.12, gdbm 1.8.0; zlib 1.2.3; expat 1.95.2; Sablotron 1.0; libxml 2.6.11; libxslt 1.1.8; Ming 0.3; ebalizer 2.01; pdf class 009e; ncurses 5.8; mod_perl 2.0.2; FreeTDS 0.63; gettext 0.11.5; IMAP C-Client
2004e; OpenLDAP (client) 2.3.11; mhash library 0.8.18; crypt library 2.5.7; cURL 7.13.1; SQLite 2.8.17 (for PHP4 + PHP5); SQLite 3.3.17 (for PHP5 PDO SQLite); phpSQLiteAdmin 0.2; libapreq 2.07; eAccelerator 0.9.5.2; FPDF 1.53. Import_Mantis 1.0; Jpgraph 1.22; Sun JRE 1.5.0.14;
 
Ulteriori apprdondimenti relativi al funzionamento e confezionamento del virtual appliance delle RIM sono indicati nel documento "Architettura delle RIM