L’interoperabilità nell'ambito dei sistemi GIS
L'interoperabilità è già presente da molto tempo in diversi settori dell'Information
Tecnology, come pure nella nostra vita quotidiana: si pensi ai diversi apparati elettrici
o elettronici che utilizzando supporti o periferiche realizzati da produttori diversi,
sono tuttavia facilmente intercambiabili tra loro.
Nel campo dei GIS questi concetti non sono ancora di uso comune; i tentativi fatti sinora
per ottenere una vera e propria "aperta" interoperabilità non hanno riscontrato felici
risultati a causa di fattori diversi, in particolare i limiti, o la complessità, delle
soluzioni e degli standard tecnologici.
A determinare questo scarso successo ha indubbiamente anche contribuito il fatto che il
concetto di interoperabilità nell'ambito dei sistemi GIS ha assunto diversi significati
nel corso degli anni, sia all'interno di tecnologie "omogenee" (cioè dello stesso produttore),
sia tra tecnologie eterogenee (cioè di produttori diversi).
Nel processo evolutivo dell'implementazione del concetto di interoperabilità in campo GIS
si possono quindi individuare diversi stadi, e precisamente:
-
Utilizzo di convertitori di dati
-
Utilizzo di formati standard di interscambio
-
Utilizzo di formati dati "aperti"
-
Utilizzo di API per la lettura diretta dei diversi formati di dati
-
Utilizzo di features comuni mantenute all'interno di un RDBMS (OGC Simple Features Specification for SQL)
-
Utilizzo di web services GIS standardizzati
Come si può osservare, partendo da soluzioni di un livello di integrazione molto basso
(l'utilizzo di convertitori di dati), l'evoluzione si è progressivamente spostata verso
soluzioni di maggiore e vera integrazione applicativa sino ad arrivare alle attuali
possibilità offerte dall'utilizzo di web services.
L'evoluzione di tale concetto è stata fortemente influenzata dai progressi delle
tecnologie sia strettamente GIS, sia di quelle ad essa fortemente collegate (ad esempio
le tecnologie relative ai data base, le tecnologie web, le tecnologie degli ambienti di
sviluppo, ecc ...).
Tale processo evolutivo è andato di pari passo con il processo di evoluzione tecnologica
del mondo dell'IT nel corso dell'ultimo decennio: a mano a mano che la potenza elaborativa
cresceva e i costi diminuivano, maggiori erano le possibilità offerte, mentre la comparsa
e l'espansione della rete e del web hanno offerto il mezzo ideale per la diffusione e la
condivisione.
Nel corso degli anni diverse sono state le tecnologie utilizzate come "infrastruttura"
per supportare il concetto di interoperabilità tra cui forse le più importanti sono:
-
COM (Component Object Model)
-
CORBA (Common Object Request Broker Architecture)
-
JAVA
-
XML (Extensible Marup Language)
COM è la tecnologia utilizzata dalle soluzioni Microsoft per permettere agli oggetti
scritti da produttori diversi, in linguaggi di programmazione non omogenei, di
interagire tra loro.
CORBA è il lo standard adottato dall'Object Management Group (OMG), progettato per
permettere l'interazione tra diversi request broker su architetture distribuite.
JAVA è un linguaggio di programmazione object oriented di SUN Microsystems simile al C
di Microsoft, ma progettato per operare con poche risorse e in modo indipendente dalla
piattaforma.
Tutte queste tecnologie forniscono un certo grado di interoperabilità, sebbene non
realizzino appieno il concetto.
Con l'avvento dell'XML si sono potuti fare significativi passi avanti. XML infatti è
emerso come standard per lo scambio di dati tra sistemi eterogenei, e ciò dovuto
principalmente alla sua semplicità, in quanto un sistema basato su file di testo per
codificare i dati è completamente indipendente dalla piattaforma. Quando un'applicazione
riceve un file XML, riceve anche le descrizioni relative alla struttura dei dati,
permettendo così al programma di determinare come elaborare i dati stessi.
All'inizio del paragrafo si è citata l'interoperabilità come un aspetto che può
riguardare sia tecnologie "omogenee" (cioè dello stesso produttore), sia tecnologie
eterogenee (cioè di produttori diversi). Infatti, se può essere più comprensibile la
difficoltà di interoperare tra soluzioni di produttori diversi (ad esempio ESRI,
Intergraph, MapInfo, Autodesk, ecc ...), meno lo è quando si fa riferimento a soluzioni
dello stesso produttore.
Nel caso di ESRI, prima dell'avvento del "sistema" ArcGIS, l'interoperabilità tra le
diverse soluzioni offerte (ArcInfo, ArcView 3.x, MapObjects, ecc ...), poteva avvenire
solo a livello di utilizzo di formati aperti o di API per la lettura dei diversi formati
dati proprietari (coperture, grid, tin, ecc ...), integrate direttamente negli strumenti.
Per l'interoperabilità in un contesto di soluzioni tecnologiche GIS eterogenee anche
in questo caso l'unica strada percorribile era l'utilizzo di formati dati aperti o di
API per la lettura dei dati nei formati originali: entrambe le soluzioni tuttavia
richiedevano attività ulteriori rispetto a quelle della normale gestione della base dati,
il che limitava fortemente le possibilità di integrazione ed interoperabilità vera.
Allo stato attuale è invece possibile utilizzare le opportunità offerte dai web
services per implementare operativamente il concetto di interoperabilità, sia in
soluzioni GIS tecnologicamente omogenee, sia in quelle tecnologicamente eterogenee.
|