Skip to content
scaloni edited this page Feb 12, 2012 · 4 revisions

L'architettura software di OpenMunicipio prevede:

  • un'interfaccia di consultazione (in seguito frontend) che gestisce l'interazione con gli utenti finali e l'acquisizione di eventuali contenuti da essi generati (per esempio preferenze, commenti o espressioni di voto); essa potrà anche presentare contenuti personalizzati per specifiche categorie di utenti (personale degli uffici, amministratori locali);
  • un'interfaccia di amministrazione (in seguito chiamata backend), riservata ai gestori dell'applicazione, attraverso la quale è possibile accedere, sia in lettura che in scrittura, alla totalità di dati presenti;
  • un'interfaccia di programmazione (chiamata API, acronimo di Application Programming Interface) che consente l'utilizzo della piattaforma openMunicipio da parte di applicazioni software esterne.

Mentre il frontend e il backend gestiscono l'interazione tra l'utente e il sistema (interfaccia uomo-macchina), attraverso pagine web progettate per essere fruite da esseri umani, l'interfaccia API (o semplicemente l'API) di openMunicipio è facilmente utilizzabile da altri software (interfaccia macchina-macchina). Essa consente ad altre applicazioni, esterne ad openMunicipio e ad esso connesse via rete, di estrapolare o modificare dati, o anche immetterne di nuovi, senza far uso né del frontend né del backend. Le operazioni possibili attraverso l'API di openMunicipio dipendono dal livello di autenticazione richiesto. L'interfaccia di programmazione è progettata secondo i principi REST (REpresentational State Transfer) ed è raggiungibile attraverso il protocollo HTTP.

Connettore

Parte essenziale di openMunicipio è quella componente software, che chiamiamo connettore, che si occupa di raccogliere i dati dalle fonti disponibili (in primis, il sistema informativo del Comune) per poi gestirli all'interno della base dati interna, tenendo quest'ultima sincronizzata con le relative fonti. L'operazione di importazione dei dati in openMunicipio, svolta dal connettore, avviene utilizzando l'interfaccia di programmazione (API), predisponendo le necessarie autenticazioni. Dunque il connettore resta distinto da openMunicipio, e ciò consente di separarne lo sviluppo e il deployment. L'adattamento della piattaforma ad una realtà locale può essere, pertanto, facilmente esternalizzabile una volta che l'API sia stata definita nel dettaglio e condivisa.

Formati aperti e standard dei dati

Tutte le informazioni presenti nel database verranno rilasciate in formati open data (json e xml) per permetterne un facile riuso anche per altre applicazioni e servizi informativi.

Schema dell'architettura software

OpenMunicipio: architettura software.