Infrastruttura Tecnica

Digital Platform
WEBGIS
Applicazione WebGIS SITAR
Applicazione web che consente agli utenti di visualizzare su mappa, interrogare ed acquisire i dati relativi a migliaia di indagini archeologiche condotte dalla Soprintendenza Speciale Archeologia Belle Arti e Paesaggio sul territorio del Comune di Roma. Sviluppata in React v16, framework MVC open-source per la creazione di applicazioni web e native, scritto interamente in JavaScript.
Approfondimenti
WebGIS React OpenLayers CesiusZuul Proxy
Gateway e Proxy di richieste
Micro-servizio sviluppato tramite Spring MVC v1.5, esposto tramite web server Apache Tomcat v9.0. Sfrutta la libreria Zuul (Netflix) per implementare un gateway che fornisce capacità di routing dinamico, monitoraggio del traffico, resilienza e sicurezza. Permette di nascondere all’esterno i servizi offerti dalla piattaforma e risolve i problemi di caricamento di risorse Cross Origin.
Si occupa dell’autenticazione al sistema e filtra le richieste ai diversi servizi in base al Ruolo operativo dell’Utente.
Approfondimenti
Zuul Spring MVC Apache TomcatREST API
REST API provider
Micro-servizio sviluppato tramite Spring Boot v1.5, esposto tramite web server Apache Tomcat v9.0.
Il cuore dell’applicativo SITAR, espone la maggiorparte delle API REST di visualizzazione e modifica dei dati contenuti nella banca dati.
Filtra i dati in base al Ruolo e all’Organizzazione di cui fa parte.
Approfondimenti
Spring Boot Apache TomcatFile Service
Scansione OCR documenti e indicizzazione
Micro-servizio sviluppato tramite Spring Boot v1.5, esposto tramite web server Apache Tomcat v9.0.
Si occupa della scansione OCR dei documenti e della raccolta dei relativi metadati.
E’ responsabile dell’indicizzazione dei documenti su ElasticSearch e abilita la ricerca tramite il testo contenuto negli stessi
espone le API di visualizzazione e gestione dei documenti.
Permette di filtrare i dati in base al Ruolo e all’Organizzazione di cui fa parte.
Approfondimenti
Spring Boot Apache TomcatGeoServer
Provider dati geospaziali
Server open-source scritto in Java che permette agli utenti di condividere, elaborare e modificare dati geospaziali.
Progettato per l’interoperabilità, pubblica dati da qualsiasi fonte di dati spaziali che usa standard aperti.
Esposto tramite web server Apache Tomcat v9.0.
Approfondimenti
GeoServer Apache TomcatMap Tiles Cache
Cache mappe MapProxy
Server open-source progettato per i dati geospaziali che si occupa di immagazzinare e ottimizzare le mappe per la fruizione.
Permette di applicare trasformazioni sui dati esistenti.
Serve rapidamente le mappe (Tiles) a tutti i client sia desktop che web.
Viene sfruttato principalmente per il precaricamento (seeding) e il caching delle mappe base.
Approfondimenti
MapProxyElasticSearch
Server di ricerca
Nodo principale e fondamentale dell’Elastic Stack, è aggiornato alla versione 7.16.
Server di ricerca open-source, basato su Lucene, con capacità avanzate di ricerca FullText.
Progettato per scalare in architetture distribuite.
Espone tutte le sue funzionalità tramite API REST che adoperano il formato JSON come standard di interscambio.
Approfondimenti
ElasticSearchKibana
Dashboard di ElasticSearch
La dashboard di gestione delle istanze di ElasticSearch.
Permette di gestire l’indicizzazione e il mapping dei dati per favorire le prestazioni e l’esattezza dei risultati di ricerca.
Fornisce funzionalità di visualizzazione avanzate e permette la creazione di grafici personalizzati su grandi volumi di dati.
Fornisce la possibilità di utilizzare modelli di Machine Learning per l’identificazione ed estrapolazione di indagini approfondite sui dati e le loro relazioni.
Approfondimenti
KibanaLogStash
Raccolta dati per ElasticSearch
Tool open-source, facente parte dell’ecosistema Elastic, si occupa della raccolta, della trasformazione e dell’invio di dati ad ElasticSearch che provvederà ad indicizzare ed esporre.
Facilmente configurabile, è in grado di elaborare grandi quantità di dati, può essere impiegato per single run o temporizzato per avviare aggiornamenti con cadenza fissata.
In questo progetto viene sfruttato per raccogliere e inviare ad ElasticSearch tutti i dati strutturati necessari per le ricerche pubbliche sulle entità principali del sistema e la relativa documentazione caricata dagli operatori SITAR.
Approfondimenti
LogStashPostgreSQL + PostGIS
DataBase + Estensione spaziale
PostgreSQL è un DBMS relazionale orientato agli oggetti che gode dei requisiti ACID per le transazioni: Atomicità, Consistenza, Isolamento e Durabilità.
PostGIS è un’estensione spaziale per il database PostgreSQL.
Fornisce i tipi di dati specificati negli standard dell’Open Geospatial Consortium.
In particolare è un geodatabase e fornisce il sistema di gestione dati sui quali è basato il WebGIS.
Approfondimenti
PostgreSQL PostGISFile Storage
Archivio documentazione e immagini
Il server File Storage è il luogo fisico in cui vengono archiviati i file caricati tramite il WebGIS.
Espone i file tramite protocollo FTP e NFS.
E’ collegato al nodo File Service tramite network dedicato.
SMTP
Posta in uscita
Fornisce il servizio di posta in uscita dal sistema.
Certifica l’autenticità del mittente SITAR.
Permette l’accesso al servizio ad una whitelist di server specificati.
WWW
Sito di presentazione
Espone il sito web di presentazione del progetto.
Presenta tutti i contenuti in duplice lingua.
E’ sviluppato rispettando le linee guida per l’Accessibilità.
Basato sulla piattaforma wordpress, è facilmente manutenibile e ottimizzato per alte prestazioni.
DNS
Posta in uscita
Fornisce il servizio di posta in uscita dal sistema.
Certifica l’autenticità del mittente SITAR.
Permette l’accesso al servizio ad una whitelist di server specificati.
GitLab
Versioning del codice sorgente
Piattaforma web open-source per la gestione di repository Git, cioè il versioning del codice sorgente dei diversi moduli del progetto.
Offre strumenti a supporto dello sviluppo, della gestione dei team di sviluppatori e delle operazioni di risoluzione dei malfunzionamenti.
Permette l’integrazione con sistemi esterni per l’attivazione di pipeline di operazioni.
Fornisce quindi il supporto per l’implementazione della CI/CD (Continuous Integration, Continuous Delivery).
Approfondimenti
GitLabJenkins
Continuous Integration / Continuous Delivery
E’ uno strumento open-source di supporto allo sviluppo software.
Fornisce servizi di integrazione continua ed estensioni per la gestione dei flussi di rilascio di pacchetti software compilati in tempo reale.
Viene invocato tramite Webhook direttamente da Gitlab a valle del rilascio di nuove versioni del codice.
Approfondimenti
JenkinsPiattaforma Digitale
Cosa consultare e utilizzare? Naviga e acquisisci i dati!
WEBGIS
Visualizzare su mappa ed acquisire i dati relativi ad indagini archeologiche condotte dalla Soprintendenza Speciale Archeologia Belle Arti e Paesaggio sul territorio del Comune di Roma.

Digital Library
la Digital Library consente di esplorare il ricchissimo patrimonio documentale SITAR, costituito da circa 7000 indagini, oltre 20.000 ritrovamenti archeologici e più di 50.000 allegati.

Infrastruttura Tecnica
Architettura Logica, Applicazione WebGIS SITAR, Gateway e Proxy di richieste, REST API provider, Scansione OCR documenti e indicizzazione, Provider dati geospaziali, Cache mappe MapProxy, Server di ricerca…
