Studio di migrazione del database dell`assestamento

 Studio di migrazione del data base dell'assestamento forestale italiano da un'architettura MS Access­ESRI ARCVIEW ad un'architettura Php PostgreSQL­POSTGIS e GRASS.
Marco Ciolli, Fabrizio Ferretti, Chiara Sboarina, Alfonso Vitti, Paolo Zatelli, Fabio Zottele
Il database forestale
Un database contenente i dati forestali è stato realizzato dall'ISAFA (Istituto Sperimentale per l'Assestamento Forestale e l'Alpicoltura) nell'ambito del progetto “Riselvitalia” finanziato dal Ministero. Questo database è destinato a diventare il database ufficiale per la gestione dei dati forestali della maggioranza delle regioni italiane. Raccoglie e gestisce una grande quantità di dati alfanumerici e cartografici.
Il database forestale
Il database forestale è denominato “Progetto_bosco” ed è gestito tramite Microsoft Access con:
152 tabelle
24 query
105 mask
19 report
38 macro
Il database forestale:
schema delle relazioni
Una struttura complessa per un database assai corposo e destinato a crescere
Il database forestale:
gli utenti
Attualmente gli utenti del database sono tecnici forestali ma l'idea per il futuro è di ampliare la base degli utenti.
Ogni utente deve avere una licenza MS Access, l'intero database sul suo PC ed almeno alcune conoscenze di base del software. Per i dati cartografici è necessaria l'installazione di ESRI ArcView. E' terminato in questo periodo il porting verso ArcSDE e ARCGIS.
Tutto questo è costoso per via del costo delle licenze e del training del personale.
Accesso al database
Nella configurazione corrente la procedura è:
●
download dell'ultima versione disponibile del database sul PC locale
●
effettuazione delle modifiche via MS Access forms
●
upload dell'intero database al repository
Questo ovviamente pone una serie di grossi problemi per la consistenza e l'update del database. Il nuovo approccio
I problemi di consistenza del database possono essere risolti usando un approccio client server con un DBMS centrale.
Il bisogno di software specifici sul client può essere eliminato se si può accedere al database via web. Questo è vero sia per i dati tabellari che per quaelli cartografici.
La cosa che cambia è la necessità di una connessione Internet per ciascun utente.
Il nuovo approccio
Questa nuova configurazione necessita di tre componenti:
Client web
•
Web­DBMS interface
•
DBMS
•
Ciascun componente può essere configurato ed installato usando FOSS software.
Il nuovo approccio
Sono state testate due diverse configurazioni di sistema.
Entrambe usano FOSS per il Web­DBMS interface ma il DBMS è differente: PostgreSQL o MS Access.
DBMS PostgreSQL
MS Access
Pros
sistema potente, PostGIS il personale lo conosce già
Cons
training del personale
limitazioni di gestione dei dati
Lo scopo del lavoro
Gli scopi di questo lavoro sono:
Migrare da Microsoft Access database a uno FOSS come PostgreSQL (8.1.0)
Permettere agli utenti di accedere e modificare il database dal web usando sia server proprietario che FOSS
Migrazione da MS Access a PostgreSQL
Sono stati sperimentati molti tools per effettuare una traduzione automatica del database ma solo uno è risultato realmente funzionale. I software testati sono:
html2tabbed.sh e html2pgsql.sh
Access2PostgreSQL
funziona ma troppe modifiche manuali.
funziona ma non con questo database.
Access2000Converter099.zip
PostgreSQL per windows.
Pgdatapump.zip
non funziona. Navicat PostgreSQL
PostgreSQL per windows o un altro PC.
Access2PostgreSQL Pro (free per 10 avvii)
Migrazione da MS Access a PostgreSQL
Con Access2PostgreSQL Pro è stato fatto un dump file del database per PostgreSQL.
Prima di importare in PostgreSQL alcune righe di questo file vanno eliminate e alcuni caratteri corretti. Per la corretta interpretazione dei caratteri latin (accentati) bisogna settare i caratteri all'encoding di PostgreSQL a 6 che corrisponde a UTF8.
Il dump file è stato importato in PostgreSQL ma non tutte le tavole sono state automaticamente popolate, e dunque il database è stato completato manualmente
Migrazione da MS Access a PostgreSQL
La procedura manuale per completare il database PostgreSQL include i seguenti passi:
le tavole non popolate sono state ricreate manualmente in PostgreSQL, facendo attenzione ai formati di colonna ed alle proprietà;
le nuove tavole sono state riempite esportando le tabelle da Access nel formato xls e, dopo alcuni cambiamenti, importando i dati in PostgreSQL con il COPY command;
PostgreSQL usa . (point) per i numeri decimali mentre MS Access usa , (comma) quindi è stato necessario sostituirli;
il formato data deve essere modificato in YYYYMMDD;
i valori boleani devono essere tradotti dall'italiano all'inglese. Migrazione da MS Access a PostgreSQL
Le tabelle del database importato in PostgreSQL possono essere consultate ed editate da PhpPgAdmin (4.0 con PHP 4.4.1).
Questo strumento permette la connessione al database ma l'interfaccia è molto differente dall'originale. La soluzione è creare un interfaccia grafica che simuli quella originale in MS Access. Questo può essere fatto con i linguaggi HTML e PHP col vantaggio che l'interfaccia è realizzata in pagine html, quindi accessibili localmente od in remoto.
Le due versioni del database
L'interfaccia grafica del database:
proprietà del sistema
S.O. Windows XP
S.O. Linux Kubuntu
Apache 2.0.55
Apache/2.0.54 (Ubuntu) PHP/4.4.1
php 4.4.2
php 4.4.1
Microsoft Access 2003
PostgreSQL 8.1.0
L'interfaccia grafica del database
L'interfaccia grafica del database è stata creata il più simile possibile all'originale. La pagina principale è scritta in html e permette l'accesso a altre 13 pages tutte scritte in php.
Main page Originale
Main page Nuova
L'interfaccia grafica del database
Le funzioni php esistenti sono state usate per connettersi al database e consultare ed editare i dati.
IL codice php è differente per i due DBMS ma la struttura è la stessa così da rendere semplice adattare il codice da uno all'altro.
Un attenzione particolare deve essere posta al nome delle colonne poiché PostgreSQL, differentemente da MS Access, è case sensitive.
L'interfaccia grafica del database
Questa interfaccia permette ad un utente di accedere al database con qualsiasi web browser. Alcuni esempi dell'interfaccia originale e della nuova. Maschera originale
Maschera
nuova
L'interfaccia grafica del database
Interfaccia originale per la proprietà forestale
Nuova interfaccia per la proprietà forestale
Dati Geografici – Webgis
Software:
Data:
Apache 2.0
database in PostgreSQL o MS Access PHP 4.4.1
shape files
MapServer version 4.8.0­
beta2
Chameleon­2.4­20060427
Dati Geografici – Webgis
Il webgis al momento è un work in progress poiché i dati geografici connessi al database non sono ancora tutti disponibili. Un campione di esempio dei dati geografici è stato collegato al database e usato per configurare il webgis. I dati delle particelle forestali, l'idrologia, le strade principali e secondarie e la carta tecnica in formato shape o tif sono state usate per sviluppare il webgis. Sono disponibili gli strumenti usuali per selezionare le mappe, fare zoom, pan e interrogare i dati.
Dati Geografici – Webgis
Geographical data – Webgis
The webgis allows the direct query of the underlined database through the graphical interface.
For the future it is planned to transform geographical data to PostGis­PostgreSQL format so all the data will be in the same database. Conclusioni
Una soluzione FOSS è fattibile ed è stato sviluppato un prototipo
La traduzione dei dati da MS Access a PostgreSQL è possibile semi­automaticamente, tuttavia è necessario un significativo intervento manuale
E' stato possibile migliorare l'accessibilità del data base sviluppando un webgis per visualizzare le mappe
Conclusioni
E' possibile usare questo approccio per offrire soluzioni diverse per accedere al database forestale e lasciare la scelta della soluzione più adeguata al Ministero
L'approccio client server permette:
­ per il client la possibilità di utilizzare un web browser generico
­ per il server di garantire la consistenza del database ed il controllo degli accessi
Sviluppi presenti e futuri
L'ISAFA ha terminato la conversione dei dati dal formato MS Access e shape file nel formato ARCSDE – ARCGIS (almeno per le tabelle) ed ora:
Lo sforzo è concentrato verso la sempre migliore integrazione dell'interfaccia con le possibili fonti di dati, per renderla il più possibile indipendente. Questo dovrebbe permettere di avere più possibilità di scelta per l'interfaccia ed il database definitivi. Si punta poi a confrontare le architetture ARCSDE – ARCGIS e quella FOSS