GeoCMS nasce con l’obiettivo di fornire dei servizi web per gestire, pubblicare e ricercare informazioni geocodificate ed in questo contesto è stato sviluppato con un’architettura di pubblicazione flessibile ed altamente personalizzabile.
Le API JavaScriipt native per le applicazioni web, i moduli mobile per iPhone, iPAD ed Android già disponibili e la sua interfaccia RESTFul sono la base per accedere alle informazioni memorizzate nell'archivio di GeoCMS ed ottenere le informazioni nel formato desiderato: JSON, XML, KML, KMZ, OV2 e molti altri.
Le modalità di accesso al sistema sono state studiate per ottimizzare il traffico e le performance. A seconda delle esigenze di progetto all’esecuzione di una query è quindi possibile operare in due modalità differenti. Nelle applicazioni web si preferisce ottenere come risposta alla query il solo elenco di oggetti geografici, non corredati da tutte le informazioni descrittive, che saranno rappresentati velocemente su mappa e solo alla richiesta di apertura del balloon informativo si eseguirà un’altra richiesta di caricamento dei dati dell’oggetto. In altre applicazioni, ad esempio in quelle mobile o di connessione con altri sistemi, invece la risposta restituita dal sistema contiene tutte le informazioni desiderate. La tecnica da utilizzare può comunque essere scelta a seconda del progetto che si intende realizzare.
L’architettura del sistema di pubblicazione molto semplice ed è rappresentata dal seguente schema.

Il modulo responsabile della comunicazione con i client remoti che eseguono le interazioni con il sistema è Fronte End Manager (FEM) il quale ha il compito di riceve la richiesta del cliente, inoltrare la query al sistema di ricerca ed applicare un XSLT di trasformazione al feed XML ricevuto come risposta e restituire al client il risultato della ricerca. GeoCMS fornisce nativamente il supporto per la produzione dei principali formati utilizzati come XML, JSON, KML, KMZ, OV2, PDF, Shape ma grazie alla sua configurabilità è possibile personalizzare la risposta di GeoCMS nel formato desiderato.
Il modulo che ha il compito di eseguire la ricerca è Search Engine (SE) il quale è in grado di ricercare nelle informazioni memorizzate all’interno del database nativo di GeoCMS (sono supportati Postgis e Oracle Spatial) oppure può controllare la comunicazione con altri
sistemi remoti sia di tipo Enterprise che di tipo Web per richiedere le informazioni in essi contenuti. Grazie a questi connettori è così possibile rappresentare contemporaneamente su mappa informazioni geolocalizzate provenienti da diversi sistemi.
Allo scopo di ottimizzare le performance GeoCMS offre due livelli di cache. Il primo livello si trova in FEM dove vengono memorizzate le risposte del sistema, solo la prima richiesta richiederà l’esecuzione della ricerca, le successive richieste identiche alla prima
utilizzeranno la risposta già presente nella cache.
Il secondo livello di cache si trova nel SE dove le informazioni di ogni oggetto vengono memorizzate la prima volta che sono estratte e sono così disponibili per successive estrazioni.






