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]