Concetti architetturali

Transcript

Concetti architetturali
Concetti architetturali
Un flusso di informazioni sicure
Durante la consultazione di un progetto GeoCMS intervengono 3 differenti attori: l'utente
che con il suo internet browser accede ad una pagine HTML che attiva la connessione al
sistema GeoCMS, il server GeoCMS ed i server Google Maps.
La pagina HTML che contiene il progetto GeoCMS, pur rimanendo all'interno del dominio
originale attiva il modulo “GeoCMS Client” il quale provvede a connettersi con i Server
GeoCMS ed i server Google Maps per ottenere dal primo le informazioni da visualizzare e
dal secondo le mappe su cui rappresentarle.
Schema 1 – Nessun flusso informativo
tra Google Maps e GeoCMS
In questo flusso di informazioni la sicurezza relativa all'uso delle informazioni sensibili viene
garantita in quanto NESSUNA di esse viene inviata ai server Google, rimangono tutte
all'interno del browser del cliente e vengono sovrapposte alla cartografia pervenuta da
Google Maps utilizzando delle apposite API JavaScript. (si veda lo schema 1 riportato nella
colonna a fianco). E' quindi il computer dell'utente che fornisce le risorse di elaborazione
per eseguire la rappresentazione delle informazioni.
Nel caso di rappresentazione di informazioni grafiche particolarmente complesse quali
poligoni o polilinee composte da molti punti le prestazioni dei browser possono non essere
sufficienti a rappresentarle a video, quindi Google Maps propone una soluzione alternativa.
Le informazioni grafiche vengono memorizzate in appositi file KML che devono essere
accessibili da Google Maps (si veda lo schema 2 riportato nella colonna a fianco).
Quando GeoCMS Client richiede le informazioni da visualizzare ottiene un riferimento a
questo file che provvede ad inviarlo direttamente a Google Maps il quale accede al file, lo
memorizza al suo interno e lo invia al browser sottoforma di immagini sovrapposte alla
cartografia. In questo modo anche a fronte di strutture particolarmente complesse il sistema
è in grado di rappresentarle come immagini e quindi molto velocemente.
Google Maps inoltre è caratterizzato da una cache dove viene depositato il file
precedentemente scaricato e che velocizza i successivi accessi al sistema.
GeoCMS dispone di una particolare funzionalità che si occupa di mantenere caricata nella
cache di Google Maps i file KML prodotti per uno specifico progetto.
Schema 2 – Accesso di Google Maps
ai file KML generati da GeoCMS
Scube NewMedia srl
www.scubenewmedia.it
Tel. 02 890 533 50
Un sistema multiprocesso
GeoCMS è stato sviluppato con una architettura multiprocesso composta dai seguenti
elementi:
•
•
•
•
•
Server: è il modulo principale che gestisce tutte le informazioni del progetto attraverso l'ausilio del database geografico in
esso configurato. Questo modulo è in grado anche di comunicare con l'utente che consulta un progetto e di fornirgli le
informazioni da visualizzare.
Publisher: questo processo si occupa di inviare le informazioni verso un utente che sta consultando un progetto GeoCMS. A
differenza del modulo Server, il Publisher è in grado di pubblicare un insieme di informazioni che possono essere elaborate e
trasformate dal modulo ActionEngine.
ActionEngine: questo modulo si occupa di rielaborare le informazioni presenti nel database di GeoCMS e di prepararle per la
pubblicazione del Publisher. Il modulo propone un insieme di rielaborazioni standard (indice oggetti, KML statici, etc.) e
consente di realizzare specifiche azioni personalizzate.
Portal: portale di accesso e amministrazione dei progetti e del sistema GeoCMS.
Uploader: modulo per il caricamento di informazioni di un progetto attraverso Feed XML utilizzando il protocollo HTTP (Post
Multipart) oppure FTP.
L'architettura di GeoCMS risulta così anche scalabile perché ogni singolo modulo può essere installato su un server dedicato, il
database può avvalersi di strutture articolate già presenti in azienda (es. Oracle Rack oppure Cluster) ed è inoltre possibile duplicare
specifici processi (es. Publisher) per garantire una maggiore capacità di elaborazione
GeoCMS e FireWall
Alcuni dei moduli di GeoCMS per funzionare correttamente devono poter accedere ad internet. E' questo il caso del modulo Publisher il
quale, come descritto nei precedentemente deve essere in grado di fornire a Google Maps i file KML che rappresentano le informazioni
grafiche del progetto.
Nelle soluzioni aziendali dove GeoCMS viene installato all'interno di una farm protetta da FireWall per motivi di riservatezza e
sicurezza dei dati trattati non è sempre possibile consentire a Google di raggiunger i moduli GeoCMS.
Occorre quindi garantire un sistema di pubblicazione dei dati sensibili che sia protetto da FireWall e nel contempo rendere pubblici un
insieme di informazioni grafiche e di funzionalità native di GeoCMS (colorazione delle aree grafiche a seconda di specifici indici).
Si provvede alla duplicazione del modulo Publisher il quale viene installato su un server pubblico.
I dati aziendali e l'intero processo di produzione delle informazioni di GeoCMS rimane installato all'interno della Farm. Terminati i
processi di produzione i documenti KML vengono trasferiti sul modulo Publisher utilizzando il protocollo FTP.
Piattaforma tecnologica
I moduli server di GeoCMS sono stati sviluppati in linguaggio JAVA 6 e richiedono l'installazione di TOMCAT 6.x ed APACHE 2.x.
GeoCMS supporta i database Postrgres 8.x e Oracle 10g. E' richiesta la presenza delle estensioni geografiche per ogn'uno di essi.
E' in fase di sviluppo il supporto al database MySQL.
Il modulo Client di GeoCMS, utilizzato nel browser dell'utente che consulta un progetto, è costituito da un insieme di API JavaScript
che vengono rilasciate dinamicamente da un'apposita servlet del modulo Portal.
I browser supportati sono MS-Explorer 6 e 7, Firefox 2.x, Safari 3.x ed Opera 9.x.
Per ulteriori informazioni su GeoCMS: www.geocms.it
Scube NewMedia S.r.l.
Via della Giustizia, 10/B - 20125 Milano
Tel: 02 890 533 50 – Fax: 02 890 533 65
www.scubenewmedia.it- [email protected]