• Non ci sono risultati.

10 3.1.2 Replica Asincrona

N/A
N/A
Protected

Academic year: 2021

Condividi "10 3.1.2 Replica Asincrona"

Copied!
8
0
0

Testo completo

(1)

Università degli Studi di Pisa

FACOLTÀ DI INGEGNERIA

Corso di Laurea Specialistica in Ingegneria Informatica

Progetto e realizzazione di un'interfaccia Web per un servizio di consistenza su architetture Grid

Candidato:

Emanuele Fambrini Relatori:

Andrea Domenici Cinzia Bernardeschi Gianni Pucciani

Anno Accademico 20062007

(2)

ii

A Marta, Papà, Mamma e Samuele

(3)

Indice

1 Introduzione 1

1.1 Struttura dei capitoli . . . . 2

2 Grid Computing 5 2.1 The Grid . . . . 5

2.1.1 Utilizzi . . . . 5

2.2 Organizzazioni Virtuali . . . . 6

2.3 Architettura della Griglia . . . . 7

3 CONStanza: un Replica Consistency Service per Grid 9 3.1 La consistenza dei dati nei sistemi Grid . . . . 9

3.1.1 Replica Sincrona . . . . 10

3.1.2 Replica Asincrona . . . . 11

3.2 Il Servizio di Consistenza CONStanza . . . . 12

3.2.1 L'architettura di CONStanza . . . . 13

3.2.2 Progetto e Implementazione . . . . 14

3.3 Metodi Remoti . . . . 15

3.3.1 Il subpackage Comm . . . . 15

3.3.2 Il subpackage Client . . . . 16

4 Interfaccia Web 17 4.1 Cenni Storici . . . . 17

4.2 Dal Web Statico ai Contenuti Dinamici . . . . 18

4.2.1 Limiti dei contenuti statici . . . . 18

4.3 Common Gateway Interface . . . . 19

4.3.1 I limiti della CGI . . . . 20

4.4 Java Servlets . . . . 20

4.4.1 Svantaggi delle Servlets . . . . 21

5 Java Server Pages 23 5.1 Vantaggi delle JSP . . . . 23

iii

(4)

iv INDICE

5.2 Funzionamento delle JSP . . . . 24

5.3 Struttura . . . . 24

5.3.1 Direttive . . . . 25

5.3.2 Informazioni statiche . . . . 26

5.3.3 Elementi di scripting . . . . 26

5.3.4 Azioni . . . . 28

5.4 Utilizzo dei JavaBeans . . . . 29

5.4.1 Expression Language . . . . 30

6 Servizi Web 33 6.1 Caratteristiche dei servizi web . . . . 33

6.2 Architettura dei servizi web . . . . 34

6.2.1 Operazioni . . . . 35

6.2.2 Ruoli nell'architettura dei servizi web . . . . 35

6.3 Lo stack dei servizi web . . . . 35

6.3.1 Livello discovery . . . . 36

6.3.2 Livello description . . . . 36

6.3.3 Livello packaging . . . . 36

6.3.4 Livello transport . . . . 37

6.3.5 Livello network . . . . 37

6.3.6 Standard e Protocolli utilizzati dai servizi web . . . . . 37

6.4 XML . . . . 37

6.4.1 Principali dierenze tra XML e HTML . . . . 38

6.4.2 Principali caratteristiche . . . . 38

6.5 SOAP . . . . 38

6.5.1 Scambio di messaggi SOAP . . . . 39

6.5.2 Il messaggio SOAP . . . . 40

6.6 WSDL . . . . 40

6.6.1 Client Stub . . . . 42

6.6.2 Server Stub . . . . 42

6.7 Il servizio web CONStanza . . . . 42

7 Generazione automatica della descrizione WSDL 43 7.1 gSOAP . . . . 43

7.2 Caratteristiche . . . . 44

7.3 Uso di gSOAP . . . . 45

7.3.1 Uso del parser wsdl2h . . . . 45

7.3.2 Uso del compilatore soapcpp2 . . . . 46

7.4 Generazione della descrizione WSDL . . . . 46

7.4.1 Considerazioni sui namespace . . . . 46 7.4.2 Descrizione WSDL dei metodi remoti di CONStanza . 48

(5)

INDICE v

7.5 Analisi della descrizione WSDL . . . . 49

7.6 Livello astratto . . . . 51

7.6.1 Tipi . . . . 51

7.6.2 Messaggi . . . . 52

7.6.3 Operazioni . . . . 53

7.6.4 Porte astratte . . . . 53

7.7 Livello concreto . . . . 54

7.7.1 Binding . . . . 54

7.7.2 Porte e Servizi . . . . 56

8 Creazione di clienti Java per un servizio Web C++ 57 8.1 RMI . . . . 57

8.2 JAX-RPC . . . . 58

8.3 Axis . . . . 59

8.4 Architettura di Axis . . . . 60

8.4.1 Usi di Axis . . . . 61

8.5 Messa in opera di un servizio Web . . . . 61

8.5.1 Web Service Deployment Descriptor . . . . 62

8.6 Axis e WSDL . . . . 62

8.6.1 Stile dei servizi . . . . 63

8.6.2 Utilizzatore del servizio . . . . 63

8.7 WSDL2Java . . . . 64

8.8 Sorgenti creati da WSDL2Java . . . . 67

8.8.1 Port Types . . . . 67

8.8.2 Holders . . . . 68

8.8.3 Bindings . . . . 69

8.8.4 Services . . . . 70

8.8.5 Utilizzo delle classi generate . . . . 72

9 Contenitori Web 73 9.1 Il contenitore di Servlet e JSP . . . . 73

9.1.1 Servlet Container . . . . 74

9.1.2 JSP Container . . . . 74

9.1.3 Tipi di contenitori . . . . 76

9.2 Apache Tomcat . . . . 76

9.3 Architettura di Tomcat . . . . 78

9.3.1 Tomcat . . . . 79

9.3.2 Servizio . . . . 79

9.3.3 Connettori . . . . 79

9.3.4 Motore . . . . 79

9.3.5 Valvole . . . . 80

(6)

vi INDICE

9.3.6 Host . . . . 80

9.3.7 Contesto . . . . 80

9.4 Struttura di un'applicazione Web . . . . 80

9.4.1 Struttura dell'applicazione Web per CONStanza . . . . 82

10 Progettazione 83 10.1 Architettura delle applicazioni . . . . 83

10.1.1 Confronto con l'architettura three-tier . . . . 83

10.1.2 Modello 1 . . . . 84

10.1.3 Modello 2 . . . . 85

10.1.4 Funzionamento . . . . 86

10.1.5 Vantaggi e Svantaggi . . . . 87

10.2 Analisi e specica dei requisiti . . . . 87

10.2.1 Tipologia utente . . . . 87

10.2.2 Denizione dei requisiti funzionali dell'utente . . . . 87

10.2.3 Specica dei requisiti funzionali dell'utente . . . . 87

10.3 Struttura dei Packages . . . . 89

10.4 Package Grcs . . . . 89

10.5 Package Lrcs . . . . 93

10.6 Struttura architetturale . . . . 94

10.6.1 JavaBeans . . . . 95

10.7 Pagine JSP . . . . 99

10.8 Pagine di Controllo . . . . 100

10.8.1 Librerie di Tag . . . . 102

10.8.2 Form HTML . . . . 103

10.9 Pagine di Vista . . . . 104

10.9.1 Visualizzazione del risultato attraverso EL . . . . 106

11 Sicurezza 109 11.1 Sicurezza: terminologia . . . . 109

11.1.1 Segretezza . . . . 109

11.1.2 Integrità . . . . 110

11.1.3 Autenticazione . . . . 110

11.1.4 Certicati X.509 . . . . 110

11.2 Sicurezza nelle Grid . . . . 112

11.3 Grid Security Infrastructure . . . . 113

11.3.1 GSS-API . . . . 113

11.3.2 Funzionalità . . . . 114

11.4 Sicurezza a livello di trasporto e sicurezza a livello di messaggio114 11.5 Autenticazione . . . . 115

11.6 Autorizzazione . . . . 116

(7)

INDICE vii

11.6.1 Autorizzazione lato server . . . . 116

11.6.2 Autorizzazione lato client . . . . 116

11.7 Delega . . . . 117

11.8 Proxy Certicate . . . . 117

11.8.1 Uso dei certicati proxy . . . . 117

11.9 GSI in CONStanza . . . . 118

11.10Cliente Java sicuro . . . . 118

11.10.1 Commodity Grid . . . . 118

11.10.2 GsiPort . . . . 119

11.10.3 Lettura del certicato proxy . . . . 119

11.10.4 Acquisizione delle credenziali . . . . 120

11.10.5 Inizializzazione del protocollo HTTPG . . . . 121

11.10.6 Congurazione della sicurezza a livello di trasporto . . 121

11.11Sicurezza tra browser e Tomcat . . . . 122

11.11.1 SSL . . . . 123

A Client CLI 125 B Metodi remoti cliente GRCS 127 C Metodi remoti cliente LRCS 131 D Descrizione WSDL del metodo getStatus 133 E Albero delle directory dell'applicazione Web constanza 137 F Sottopackages Grcs e relative classi 139 G Packages Lrcs e relative classi 143 H Pagine JSP relative ai metodi del GRCS 145 I Pagine JSP relative ai metodi del LRCS 147 J Manuale utente 149 J.1 Installazione . . . . 149

J.2 Congurare Tomcat . . . . 150

J.3 Congurare il browser . . . . 151

J.4 Pagina iniziale . . . . 151

J.5 Creazione Proxy . . . . 153

J.6 Convalida dei dati . . . . 153

J.7 GRCS User Interface . . . . 153

(8)

viii INDICE

J.7.1 Set Quorum . . . . 153

J.7.2 Get Quorum . . . . 157

J.7.3 Get Stat . . . . 157

J.7.4 Get Protocol . . . . 158

J.7.5 Subscribe File . . . . 159

J.7.6 Complete Ops . . . . 159

J.7.7 Complete Op . . . . 160

J.7.8 Print DFD Container . . . . 160

J.7.9 Private Master . . . . 161

J.7.10 Create Replica . . . . 163

J.7.11 Fetch Master Replica . . . . 164

J.7.12 Update File . . . . 166

J.7.13 Update DataBase . . . . 167

J.7.14 List Replicas . . . . 168

J.7.15 List LRCS server . . . . 169

J.7.16 Subscribe Logical Database . . . . 170

J.7.17 Unsubscribe Logical Dataset . . . . 171

J.7.18 Unsubscribe LRCS . . . . 172

J.8 LRCS User Interface . . . . 172

J.8.1 Get Stat . . . . 172

J.8.2 Remove Watcher . . . . 173

J.8.3 Restart Watcher . . . . 174

J.8.4 Set Grcs . . . . 175

J.8.5 Stop Watcher . . . . 177

J.8.6 LRCS Subscribe . . . . 177

J.8.7 Subscribe DataBase Replica . . . . 178

J.8.8 LRCS Unsubscribe . . . . 179

J.8.9 LRCS Unsubscribe DataBase Replica . . . . 180

Bibliograa 195

Riferimenti

Documenti correlati

● Selezionare il flag Incrementale (questa opzione abilita l’invio dei dati storici registrati dall’ultimo invio andato a buon fine). 6 Configurare il periodo di invio

Nell’ambito delle attività necessarie per la Gestione del Suo rapporto con la Banca, i dati personali possono essere conosciuti da soggetti operanti

Comunicazione per sconto in fattura o cessione del credito entro il 31 marzo Agenzia delle Entrate, Provvedimento 22 febbraio 2021 n. Si ricorda che i contribuenti che, nel

In particolare, le nuove disposizioni regolamentari impartite dalla Consob stabiliscono l’obbligo per la nostra Banca, in caso di richiesta da parte di società quotate nonché da

Dalla PARTE del CLIENTE L a Carta dei Servizi TIM per la Linea di Casa Tale costo non è invece dovuto quando decidi di recedere per mancata accettazione delle

Monitorare le foreste con sensori remoti, dai satelliti ai droni.. 10

 Se Agilent fornisce servizi di installazione e formazione, gli utenti dello strumento devono essere presenti durante l'installazione e la formazione al fine di non

Ingressi Digitali Uscite Digitali.. I moduli speciali HX-RIO3 consentono l'integrazione di I/O remoti in casi di applicazioni industriali fuori standard.. I/O Speciali