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 Cesius

Zuul 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 Tomcat

REST 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 Tomcat

File 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 Tomcat

GeoServer

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 Tomcat

Map 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

MapProxy

ElasticSearch

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

ElasticSearch

Kibana

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

Kibana

LogStash

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

LogStash

PostgreSQL + 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 PostGIS

File 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

GitLab

Jenkins

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

Jenkins

Piattaforma 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…

Questo sito è registrato su wpml.org come sito di sviluppo. Passa a un sito di produzione con la chiave remove this banner.