Progetto Moka Architettura complessiva – ARC Data Versione Descrizione Autore Approvazione Resp. Progetto 08-03-2007 1.0 Marco Zane 20-03-2007 21-05-2007 2.0 Marco Zane 04-06-2007 Progetto Moka - Documento ARC Modello ARC Sommario 1. INTRODUZIONE......................................................................................................................................... 3 2. ARCHITETTURA DEL SISTEMA MOKA .............................................................................................. 4 2.1 CARATTERISTICHE PRINCIPALI DEL SISTEMA MOKA ................................................................................ 5 2.2 MOKA CLIENT ......................................................................................................................................... 6 2.2.1 Client Web....................................................................................................................................... 6 2.2.2 Client ArcGIS 9.x ............................................................................................................................ 6 2.3 MOKA SERVER ......................................................................................................................................... 7 2.3.1 Moka Web ....................................................................................................................................... 7 2.3.2 MokaKit Web................................................................................................................................... 7 2.3.3 Moka Web Services ......................................................................................................................... 8 2.3.4 ServiRepe Connector....................................................................................................................... 8 2.3.5 Map Server ...................................................................................................................................... 8 2.4 MOKA DB.............................................................................................................................................. 10 2.4.1 Struttura del Moka DB .................................................................................................................. 10 Nome file:ArchitetturaMoka.doc Pag. 2 di 10 Progetto Moka - Documento ARC Modello ARC 1. Introduzione Il presente documento descrive l’architettura del sistema Moka esaminando i diversi i moduli software e la loro organizzazione all'interno dell'architettura regionale. Nome file:ArchitetturaMoka.doc Pag. 3 di 10 Progetto Moka - Documento ARC Modello ARC 2. Architettura del sistema Moka Di seguito le caratteristiche fondamentali del progetto del sistema Moka., con riferimento allo schema di Fig.1, che presenta l’architettura Moka inserita nel contesto dell'architettura regionale. Figura 1 Architettura Moka Nome file:ArchitetturaMoka.doc Pag. 4 di 10 Progetto Moka - Documento ARC Modello ARC 2.1 Caratteristiche principali del sistema Moka • Apertura verso internet ed architettura multi-livello distribuita, costituita da: − database MokaDB: il data base centralizzato delle personalizzazioni Moka; − application server Moka Server: il nuovo motore server delle applicazioni Moka; − interfaccia web per la personalizzazione e l’amministrazione (MokaKit Web): fornisce tutti i vantaggi di un’amministrazione centralizzata: aggiornamento da qualsiasi postazione autorizzata; − semplicità nella gestione del sistema: vengono ridotti drasticamente gli interventi sistemistici e di assistenza presso gli utenti Moka. • Integrazione con l’architettura regionale: − integrazione col repertorio; − integrazioni con i Metdati; − integrazione con ArcSDE, ArcIMS, Radex; − integrazione con il sistema di gestione del data base dei suoli; − integrazione con SigmaTer. − Realizzazione di client cartografici: − client web per la consultazione via Internet/Intranet (MokaWeb); − client ArcGIS 9.x. • • Tecnologie: − SOAP come standard per lo scambio di informazioni; − Utilizzo di ArcGIS Server per la distribuzione di applicazioni Web GIS; − piattaforma J2EE (JSP, Servlet, JAX-RPC, JDBC); − utilizzo di software Open Source quali: Tmcat, Apache, AXIS(Apache Software Foundation). Di seguito una descrizione dei moduli logici che costituiscono l’architettura del sistema. Nome file:ArchitetturaMoka.doc Pag. 5 di 10 Progetto Moka - Documento ARC Modello ARC 2.2 Moka Client Moka è utilizzabile attualmente per mezzo di due diversi tipi di client: client Web basato su ArcGIS Server, client desktop per ArcGIS 9.x. Con l’utilizzo di ArcGIS Server è possibile realizzare le interfacce complete per i diversi tipi di client, sia in modalità online che in modalità desktop. Per modalità online si intende il fatto che sia i dati cartografici ed alfanumerici che le applicazioni risiederanno sul server e l’accesso avverrà via rete. L’utente non dovrà scaricare o installare nulla sulla propria macchina e tutta l’applicazione sarà centralizzata. In questa modalità verranno realizzate sia le applicazioni di consultazione che, grazie agli strumenti di ArcGIS Server, applicazioni per analisi complesse ed editing geometrico. Per modalità desktop si intende che le applicazioni client, o parte di esse, risiedano sulla macchina dell’utente ed accedano a dati ed eventuali funzioni via rete. E’ il caso, ad esempio, di un client ArcView 9 che esegue operazioni di editing su dati cartografici conservati sui server regionali per i quale è stata sviluppata una funzionalità di report via web accessibile dal client desktop. L’interfaccia di amministrazione, è costituita da una nuova applicazione web denominata MokaKit Web. 2.2.1 Client Web Il client web ArcGIS Server utilizza il framework web di ArcGIS Server (ADF) per la realizzazione di applicazioni dotate di complesse funzionalità GIS e fruibili utilizzando un comune browser e una connessione di rete (internet o intranet); a livello di application server vengono inoltre realizzate funzionalità aggiuntive, realizzate anch’esse in tecnologia web, centralizzate e integrabili nelle singole applicazioni. 2.2.2 Client ArcGIS 9.x Il client ArcGIS 9.x è in grado di operare sia utilizzando dati contenuti all'interno di database, sia su mappe messe a disposizione da ArcGIS Server per client remoti, sia su dati cartografici su filesystem locale; le funzioni personalizzate possono essere realizzate secondo due modalità: • Modalità Web: le funzioni personalizzate utilizzano la medesima interfaccia del client “solo web” e condividono con il client desktop ArcGIS 9 il servizio ArcGIS Server su cui vengono eseguite le elaborazioni. • Modalità Client: le funzioni sono realizzate come plugin lato client che, una volta scaricate dinamicamente dall’estensione Moka, vengono eseguite all’interno dell’applicazione desktop; queste estensioni effettuano delle elaborazioni sulla cartografia sia in modalità remota, grazie alle funzionalità di ArcGIS Server che consentono di accedere alla cartografia anche a basso livello, sia, quando previsto, sulla cartografia locale utilizzando le librerie di accesso ai dati cartografici (ArcObjects). La seconda modalità permette di riproporre la logica della precedente versione di Moka, aggiornata alla versione 9 di ArcGIS e realizzata in ambiente web; questo consente la centralizzazione di dati e funzioni, quindi ad esempio al rilascio della nuova versione di una funzione, il client potrà aggiornarsi automaticamente scaricando i dati direttamente dal Moka Server. Nome file:ArchitetturaMoka.doc Pag. 6 di 10 Progetto Moka - Documento ARC Modello ARC 2.3 Moka Server Il Moka Server è il nucleo centrale di Moka, pubblica i suoi servizi sottoforma di pagine HTML e servizi Web XML con protocollo SOAP. Svolge le funzioni di Web Server, in quanto pubblica in ambiente Internet e Intranet le interfacce di accesso al sistema, e di Application Server, in quanto realizza le funzioni applicative di Moka: accesso al Moka DB, gestione utenti, amministrazione del sistema e le rende disponibili sottoforma di servizi (Moka Web Services). Il Moka Server pubblica due moduli distinti con interfaccia HTML: • • Moka Web MokaKit Web. 2.3.1 Moka Web Il Moka Web è il motore che consente di costruire applicazioni dinamiche che svolgano le funzioni di client per ArcGIS Server. Queste applicazioni vengono costruite sulla base delle configurazioni memorizzate sul Moka DB e generate dinamicamente utilizzando tecnologie Java J2EE (JSF, JSP e Servlet). Il componente Moka Web accede alle informazioni del Moka DB tramite i servizi SOAP messi a disposizione dal modulo Moka Web Services ed è in grado di configurare le applicazioni in funzione del profilo dell’utente che è al momento autenticato. Moka Web può essere distribuito in modo da fornire accesso da più parti al sistema centrale: questo permette di avere più punti di accesso al sistema che ne condividano la configurazione e le funzionalità. 2.3.2 MokaKit Web Tramite questo modulo del Moka Server viene realizzata l’interfaccia utente in versione web, formato HTML, per i servizi SOAP forniti dal Moka Server (Moka Web Services). In particolare vengono gestite tutte le operazioni di accesso al Moka DB e le funzioni di configurazione che permettono agli amministratori di sistema di definire le applicazioni e le personalizzazioni che saranno disponibili all’interno del sistema Moka. Oltre alla gestione del Moka DB, vengono pubblicate le interfacce per le funzioni di configurazione dei diversi componenti del sistema. I parametri configurabili tramite il MokaKit Web sono: - Il catalogo cartografico; - Le applicazioni web ArcGIS Server; - Le personalizzazioni desktop ArcGIS 9.x; - Le funzioni personalizzate Web e Web Services; - Il database degli utenti; - I parametri di configurazione del sistema. Nome file:ArchitetturaMoka.doc Pag. 7 di 10 Progetto Moka - Documento ARC Modello ARC 2.3.3 Moka Web Services Questo modulo realizza i servizi di interazione (consultazione e modifica) del Moka DB, si occupa della gestione e dell’autenticazione degli utenti e pubblica le funzionalità, sia di base che personalizzate, del sistema sotto forma di Web Services. L’accesso al Moka DB con funzioni di consultazione e aggiornamento è previsto per il MokaKit Web, per il componente Moka Web e per tutte le altre applicazioni client; per realizzare l’integrazione della sezione del Moka DB dedicata alle informazioni cartografiche con il repertorio metadati regionale viene realizzato un apposito connettore che si interfaccia con l’applicazione di consultazione del repertorio (ServiRepe) tramite un protocollo di comunicazione basato su XML e Soap. All’interno del modulo Moka Server trovano spazio le funzioni di autenticazione degli utenti: tutti i servizi SOAP del Moka Server sono accessibili solo previa autenticazione, utilizzata anche dai moduli interni del sistema. Il Moka Server mette inoltre a disposizione una serie di servizi Web che forniscono l’accesso a funzionalità utilizzate sia dal sistema base Moka, sia dalle applicazioni che su esso verranno costruite. Fra di esse vi saranno tutte le funzioni personalizzate che potranno essere integrate nelle diverse applicazioni, disponibili direttamente come Web Services o come estensioni scaricabili sulle applicazioni client tramite un opportuno servizio Web. 2.3.4 ServiRepe Connector Questo modulo realizza i servizi di integrazione tra la catalogazione dei dati cartografici nel Moka DB e l’applicazione di gestione del repertorio dati regionale. Il sistema è in grado di gestire allo stesso modo sia le informazioni catalogate nel Moka DB sia quelle presenti nel repertorio regionale, eventualmente effettuando delle conversioni nel caso i formati non siano corrispondenti. Questa integrazione viene realizzata nel modo più possibile trasparente, nel senso che ogni volta che una richiesta viene inviata al Moka Server, nel caso le informazioni siano presenti solo come riferimento e non fisicamente, viene generata una richiesta corrispondente al servizio di catalogazione regionale e restituita la relativa risposta, adattata al formato del catalogo Moka, all’utente che quindi non avrà modo di distinguere la provenienza delle informazioni ricevute. 2.3.5 Map Server Il Map Server è il componente software che sviluppa le funzioni di consultazione e interazione con la cartografia, quindi rappresenta il componente fondamentale per dare funzionalità alle applicazioni di tipo web. Il Map Server è costituito dall'applicativo software ArcGIS Server di ESRI, che accede ai dati utilizzando il protocollo di ArcSDE, le librerie di accesso ai server Radex per i dati raster o utilizzando comuni file su filesystem nei formati cartografici più diffusi. ArcGIS Server è un Application Server GIS che permette di realizzare applicazioni web distribuite. Sul server GIS verranno ospitati e resi disponibili gli oggetti cartografici (mappe) su cui lavoreranno le applicazioni client, web e desktop. Sul server GIS verranno creati i seguenti tipi di oggetti: Nome file:ArchitetturaMoka.doc Pag. 8 di 10 Progetto Moka - Documento ARC - - Modello ARC Mappe complete: queste mappe sono memorizzate sottoforma di file accessibili al sistema e potranno essere consultate e temporaneamente modificate dalle applicazioni client. Sulla loro base si potranno costruire funzioni personalizzate integrabili all’interno di ogni tipo di applicazione client. Mappe vuote: le funzioni di ArcGIS Server consentono all’utente di creare da zero delle mappe e modificarle utilizzando funzionalità remote; le applicazioni di amministrazione e configurazione del sistema, che consentono la definizione e la pubblicazione di mappe, possono essere costruite per creare la mappa sul server utilizzando un oggetto mappa vuota da definire e salvare per via remota. Una volta terminato il lavoro queste mappe saranno catalogate, salvate su un file sul server e diventeranno accessibili a tutti gli utenti del sistema abilitati. Un’importante componente di ArcGIS Server è l'ADF, il framework per la composizione di funzioni web che sta alla base del componente Moka Web per ArcGIS Server e consente la realizzazione di applicazioni web completamente configurabili all’interno del sistema grazie all’uso di componenti separati e riutilizzabili in diverse applicazioni. Nome file:ArchitetturaMoka.doc Pag. 9 di 10 Progetto Moka - Documento ARC Modello ARC 2.4 Moka DB Il database Moka DB rappresenta l’evoluzione in ambiente RDBMS ed il completamento, per diverse tipologie di client, del MokaKit.mdb della vecchia architettura Moka. Il cambiamento più considerevole consiste nel fatto che mentre il database MokaKit.mdb risiede sul singolo client e prevede l’accesso in monoutenza dell’amministratore o del “personalizzatore”, il nuovo Moka DB è condiviso da tutto il sistema e da tutti gli utenti, ed è accessibile per mezzo di servizi web messi a disposizione dal Moka Server. Le entità contenute nel Moka DB possono essere suddivise nei seguenti gruppi: Applicazioni Moka: le entità in questo gruppo permettono la definizione delle applicazioni che saranno disponibili all’interno di Moka; le applicazioni rappresentano un’evoluzione delle personalizzazioni dell’ambiente Moka attuale. Catalogo Cartografie: è la sezione del database in cui vengono registrate e descritte le cartografie (mappe, tematismi, dati fisici) utilizzabili all’interno di Moka. Gestione Utenti: è la sezione del database dedicata a definire gli utenti e le loro modalità con cui avranno accesso al sistema. Filesystem Centralizzato: all'interno del MokaDB è presente un filesystem che permette di memorizzare e distribuire dei file utilizzando le tecnologie proprie del database e degli strumenti web: i file sono memorizzati in tabelle del database e acceduti tramite download e upload. 2.4.1 Struttura del Moka DB Gli oggetti catalogati nel Moka DB possono essere raggruppati nelle macro categorie di seguito elencate. - - - - Applicazioni Moka Web: sono le applicazioni accessibili dal client Web. Applicazioni Moka Desktop e Moka field-GIS: sono le applicazioni accessibili dai client ArcView 9, ArcView 3, con conversione delle applicazioni esistenti, e le applicazioni ArcPad; Funzioni e Web Services: queste funzioni appartengono a diverse tipologie (Web ArcIMS, Web ArcGIS Server, Web Services, Client) e possono essere utilizzate dai diversi client; Temi e livelli cartografici; Tabelle e relazioni: sono le fonti dati non cartografiche accessibili al sistema; Mappe su file: sono i file .mxd che vengono utilizzati per costruire un servizio Web-GIS; nel catalogo cartografico viene memorizzata una descrizione del loro contenuto sottoforma di insieme di temi e informazioni descrittive. Oggetti ArcGIS Server: sono le mappe pubblicate sottoforma di oggetto cartografico dal server ArcGIS. Servizi ArcIMS: sono le mappe pubblicate dal server ArcIMS. Template Web: sono i template sulla base dei quali vengono costruite le applicazioni web. Regole: sono le regole di integrità definite sulle basi di dati accessibili alle applicazioni Moka. Utenti e parametri di accesso: è il database degli utenti del sistema. File: sono file di vario formato, utilizzati nella realizzazione delle applicazioni (template web, progetti .mxd, layer in formato .lyr, immagini...). Nome file:ArchitetturaMoka.doc Pag. 10 di 10