FESR Trinacria Grid Virtual Laboratory AMGA Web Interface Salvatore Scifo TRIGRID Second TriGrid Checkpoint Meeting Catania,
Catania, Trigrid, Supporter e Partner responsabili I.N.F.N. di Catania: –Salvatore Scifo Supporter Partner responsabili IR&T Engineering s.r.l. –Vincenzo Milazzo
Catania, Trigrid, Introduzione Grid contiene milioni di file distribuiti su diversi siti Utenti e applicazioni necessitano di un meccanismo efficiente per: –trovare agevolmente i file di interesse sulla Grid –ricercare file per mezzo di indicazioni sui loro contenuti (metadati) Metadata Service –attributi descrittivi (metadata) associati ai file –pubblicazione di queste informazioni in appositi cataloghi, accessibili e interrogabili da utenti e/o applicazioni client
Catania, Trigrid, Metadata Service Un servizio di metadati deve esporre una interfaccia completa ma semplice, tale da essere facilmente usabile da ogni utente Dovrebbe essere flessibile e fornire schemi dinamici al fine di supportare un gran numero di domini applicativi –Uno Schema è un set di metadati raggruppati attorno al significato logico di una data entità (es. Dublin Core) Il servizio deve permettere la definizione di metadati strutturati e gerarchici che permettono la definizione di collezioni –Collezione: un insieme di entry + valori degli attributi associati –(per esempio: una collezione potrebbe descrivere tutti i file video in un qualunque formato di codifica, title, singer, duration, format, owner, …)
Catania, Trigrid, Metadata Service Deve essere progettato con un’attenzione particolare alla scalabilità, per permettere l’interazione con un largo numero di entry (diversi milioni) Per quanto concerne la sicurezza è richiesto un meccanismo di accesso a livelli differenti per utenti differenti Qualità del servizio –Ridurre i tempi di latenza della rete migliorando le performance per client WAN –Permettere l’accesso off-line al servizio – repliche locali –Essere trasparente ai differenti Back End (l’ambiente GRID è eterogeneo per definizione) –Garantire affidabilità e scalabilità
Catania, Trigrid, Funzionalità di AMGA Schemi dinamici –Schemi modificabili a runtime dall’utente Create schemas Delete schemas Add attributes Drop attributes Query flessibili –SQL-like query language –Join tra schemi e collezioni differenti ammessi
Catania, Trigrid, Concetti Base di AMGA Per comprendere come lavora AMGA pensiamo a: –schema table –collection instance table –attribute column –entry row Schema - set di attributi associabili ad una directory/file Entry - astrazione di una directory/file registrata sul catalogo Collection - un set di entry (istanze di directory/file) con i valori degli attributi definiti dallo schema Attributo – è una coppia con tipo –Nome – il nome dell’attributo –Valore – il valore dell’attributo –Tipe – il tipo del valore (int, float, varchar,…)
Catania, Trigrid, Implementazione di AMGA C++ multiprocess server –Backends Oracle, MySQL, PostgreSQL, SQLite –Front Ends TCP Streaming High performance Client API for C++, Java, Python, Perl, Ruby SOAP (web services) Interoperability Scalability Standalone Python Library implementation –Data stored on file system
Catania, Trigrid, Interfaccia Web per Accesso Remoto Command Line –Approccio non User Friendly (Expert User): Necessario account dell’utente su una UI; Necessario accesso alla UI via rete (anche internet) Problemi con Firewall, adozione di soluzioni VPN Digitazione dei comandi, estrema cura nella sintassi dei comandi Perdita della vista di insieme dei propri dati Macchinosità nell’uso e nelle ricerche. Interfaccia Web –Approccio User Friendly (Beginner / Intermediate) Nessuna dipendenza dalle UI Disinteresse per la sintassi, focalizzazione sulla struttura e sui contenuti Semplicità e immediatezza d’uso Comodità di accesso e utilizzo del servizio
Catania, Trigrid, Requisiti minimi interfaccia La piattaforma software deve implementare le seguenti funzionalità di base: –Funzionalità Amministratore Configurazione parametri di accesso al server AMGA per singolo utente Configurazione Entry Point (root) per utente Gestione Utenti Amga (road map) –Funzionalità Utente Navigazione albero directory Creazione nuova directory Visualizzazione lista degli attributi di una directory Inserimento/Eliminazione Attributi Valorizzazione attributi Visualizza la lista delle entry di una directory Inserimento/Eliminazione entry Valorizzazione entry –Funzionalità trasversali Accesso sicuro mediante autenticazione su Proxy Server e/o Voms
Catania, Trigrid, Deployment Plan L’applicazione viene installata su un server dedicato, che può essere locato sia all’interno dell’infrastruttura di rete della GRID sia all’esterno su Internet. Gli utenti accedono al catalogo mediante le funzionalità implementate nella web interface application. L’accesso avviene tramite comunissimo Browser Web.
Catania, Trigrid, Architettura Logica a Livelli L’applicazione viene integrata con i servizi Grid di autenticazione e integrazione e con il catalogo di metadati. Data Presentation Layer: contiene tutte le pagine web, statiche e dinamiche che permettono all’utente di interagire visivamente con il server AMGA. Business Object Layer: contiene tutti i moduli software operativi. Tali moduli costituiscono il cuore del sistema. Data Access Layer: contiene tutti i moduli software che “wrappano” le librerie Amga per l’accesso vero e proprio al catalogo.
Catania, Trigrid, Architettura Software Ogni modulo software è funzionale ad un set di operazioni omogenee rispetto ad uno stesso soggetto.
Catania, Trigrid, Alberatura Applicazione Management web modules –Browsing ricorsivo sub directory –Visualizzazione entry Inserimento entry Cancellazione entry –Visualizzazione lista a attributi Inserimento attributi Cancellazione Attributi –CLI web module Form per la digitazione dei comandi in modalità testuale.
Catania, Trigrid, Screen Shot
Catania, Trigrid, Screen Shot
Catania, Trigrid, Screen Shot
Catania, Trigrid, Attività Future Integrazione VOMS e/o Proxy Server (?) Raccolta requisiti (quali funzionalità portare sul web?) Implementazione requisiti mancanti Integrazione veste grafica TRIGRID LIKE Definizione “Integration Test Cases” Definizione “Functional Test Cases” Test