Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Candidato Emanuele Fambrini
Università di Pisa Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea Progettazione e realizzazione di un’interfaccia Web per un servizio di consistenza su architetture Grid Candidato Emanuele Fambrini Relatori Prof. Andrea Domenici, Prof. Cinzia Bernardeschi, Ing. Gianni Pucciani Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
2
Interfaccia Web per un servizio di consistenza su Grid
E’ stata sviluppata un’interfaccia Web per un servizio di consistenza dati su Grid L’obbiettivo è fornire agli utenti e amministratori del servizio un’interfaccia più amichevole rispetto a quella attualmente esistente, a linea di comando L’interfaccia è stata realizzata sfruttando le tecnologie: Web Services Java Server Pages Java Beans Expression Language Globus Toolkit Requisiti di sicurezza Requisiti, architettura e struttura del progetto Messa in opera ed utilizzo Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
3
Griglie Computazionali
Il termine “Grid” (griglia) nasce da un paragone con la rete di distribuzione dell’energia elettrica. Una “Grid” è un’infrastruttura per condividere risorse computazionali e capacità di memorizzazione dei dati. Così come la rete elettrica distribuisce energia proveniente da diverse fonti, “Grid” fornisce risorse di calcolo e dati provenienti da diverse organizzazioni geograficamente sparse. Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
4
Replica Consistency Service CONStanza/1
Sviluppato presso l’INFN Garantisce la consistenza fra le repliche in un ambiente Grid Replicazione file e database Infrastruttura di comunicazione sviluppata utilizzando il toolkit gSOAP Accessibile come Web Service Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
5
Replica Consistency Service CONStanza/2
Le componenti principali di CONStanza sono: Global Replica Consistency Service (GRCS) componente prioritaria e principale interfaccia verso gli utenti finali Local Replica Consistency Service (LRCS) registra, gestisce, aggiorna le repliche a livello locale Replica Consistency Catalogue (RCC) memorizza tutte le informazioni su tutte le repliche, come lo stato in cui si trovano e la loro localizzazione Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
6
Architettura Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
7
Subpackage Client Applicazioni cliente per il GRCS
Permettono l’esecuzione dei metodi remoti definiti nel file header WRCS.gh Applicazioni cliente per il LRCS Permettono l’esecuzione dei metodi remoti definiti nel file header WLRCS.gh Possono essere invocate attraverso una Command Line Interface Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
8
Java Server Pages e Java Beans
JSP: Evoluzione delle Servlets Si presentano come combinazione di testo e tag Caratteristiche: Portabilità Riutilizzo del codice Facile separazione della parte logica dalla presentazione (look-and-feel) Java Beans: Costruttore vuoto Non deve avere variabili di stato public Per accedere alle variabili si utilizzano metodi di get pubblici (getNomeVariabile) Per settare le variabili si utilizzano metodi di set pubblici (setNomeVaribile) Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
9
Web Services Un Web Service gestisce interazioni program-to-program via Web Alla base della comunicazione dei Web Service c’è SOAP, un protocollo basato su XML Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
10
Web Service Description Language
Linguaggio utilizzato per specificare la descrizione di un servizio Web Approccio strutturato per definire le interfacce dei servizi Web Facilita l’implementazione ed il mantenimento dei servizi Facilita l’utilizzo dei servizi Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
11
Toolkit gSOAP e WSDL2Java
Facilita la realizzazione di Web Service in C/C++ e di applicazioni cliente partendo dalla descrizione WSDL del servizio Permette di generare automaticamente la descrizione WSDL partendo dai file header che definiscono le funzionalità del servizio Web WSDL2Java: Tool di Apache Axis Genera una serie di classi Java attraverso cui accedere al servizio descritto dal file WSDL Le corrispondenze tra tipi WSDL e Java seguono la specifica JAX-RPC Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
12
Requisiti di progetto L’utente attraverso un browser web può invocare i metodi cliente relativi al GRCS o al LRCS di CONStanza L’utente attraverso un’interfaccia web sceglie la funzione da eseguire ed imposta i dovuti parametri di ingresso attraverso form di input Ogni metodo remoto sia relativo al GRCS che al LRCS ha un’interfaccia web formata da una serie di form Ogni metodo ha una pagina web che mostra i risultati Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
13
Funzionalità I metodi remoti del RCS CONStanza vengono chiamati
attraverso classi JavaBean cliente Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
14
Struttura Si hanno due packages principali:
Grcs per le classi riguardanti il GRCS Lrcs per le classi relative al LRCS Il package Grcs è composto da tanti sottopackages, uno per ogni funzione cliente del GRCS di CONStanza Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
15
gSOAP utilizzo Il compilatore soapcpp2 elabora i file header che definiscono le funzionalità cliente di CONStanza: soapcpp2 WRCS.gh soapcpp2 WLRCS.gh Sono generate in automatico le descrizioni WSDL dei metodi remoti: WRCS.wsdl WLRCS.wsdl Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
16
WSDL2Java utilizzo genera le seguenti classi:
Un’interfaccia Java per accedere ai metodi remoti Una classe Stub Un’interfaccia del servizio Una implementazione del servizio (locator) Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
17
Diagramma delle classi
Per ogni metodo del GRCS e del LRCS si ha una struttura di classi formata da: Una classe JavaBean che permette di chiamare un metodo specifico Una classe GsiPort che gestisce gli aspetti della sicurezza nella comunicazione con il RCS Le classi generate con il tool WSDL2Java Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
18
Sicurezza Grid Security Infrastructure (GSI)
Si usano le librerie messe a disposizione dal Commodity Grid (CoG) Kit fornito dal progetto Globus HTTPS con autenticazione sia del server che del cliente attraverso certificati Definizione di una propria libreria di Tag JSP per effettuare la convalida dei dati immessi nelle form di input Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
19
Architettura Per ogni metodo remoto del GRCS o LRCS si hanno:
Design Pattern MVC Modello: logica e dati dell’applicazione Vista: responsabile della visualizzazione delle informazioni all’utente Controllore: responsabile di gestire l’input prodotto dall’utente Per ogni metodo remoto del GRCS o LRCS si hanno: Una pagina JSP svolge il ruolo di Controllore permettendo l’inserimento di parametri di input attraverso form Una pagina JSP svolge il ruolo di Vista, visualizzando il risultato della chiamata all’utente Una classe JavaBean svolge il ruolo di Modello permettendo di chiamare un metodo del RCS Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
20
Messa in opera L’applicazione creata viene resa utilizzabile attraveso il Servlet e JSP container Apache Tomcat: Il cliente attraverso il browser contatta Tomcat Tomcat provvede ad eseguire le pagine JSP Le pagine JSP eseguono i metodi delle classi JavaBeans Le classi JavaBeans chiedono l’esecuzione dei metodi remoti GRCS o LRCS su CONStanza Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
21
Chiamata di un metodo di CONStanza attraverso Java Bean cliente
Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
22
GRCS User Interface Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
23
Pagina JSP Controllore
Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
24
Pagina JSP di Vista Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
25
Conclusioni Problemi incontrati: Cliente Java – Server C++
Caratteristiche dell’applicazione: Interoperabilità Portabilità Separazione parte logica – parte grafica Accessibilità Facilità di uso Problemi incontrati: Cliente Java – Server C++ Corrispondenze tipi WSDL – Java Comunicazione del cliente Java con CGSI-gSOAP Soluzioni adottate: Uso di Tool JSP: JavaBeans, Expression Language Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.