Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
tesi di laurea
Uno strumento per la configurazione
remota di reti di sensori senza filo
Anno Accademico 2008/2009
relatore
prof. Marcello Cinque
candidato
Fabrizio Barbato
matr. 534/001785
Alla mia famiglia
!"#$%&'
Introduzione
6
Capitolo 1. Wireless Sensor Network e iCAAS
9
1.1
1.1.1
1.1.2
1.1.3
1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
Wireless Sensor Network
Ambiti applicativi
Problematiche di gestione
Monitoraggio sul world wide web: il Sensor Web
iCAAS
Data Access, Sensor networks access e Caching
Filtering
Sessioning
Heterogeneous system accesses
Base di dati di iCAAS: il modello E-R
Capitolo 2. Progettazione strumento di configurazione remota dei sensori senza filo
2.1
2.1.1
2.1.2
2.2
2.3
2.3.1
2.3.2
2.3.3
Analisi dei requisiti
Requisiti funzionali
Requisiti non funzionali
Progettazione architetturale
Progettazione di basso livello
Meccanismi di comunicazione tra client e server
Serializzazione dei dati per lo scambio tra client e server
Persistenza dello stato dell'applicazione
Capitolo 3. Realizzazione dello strumento WSNCT
3.1
3.1.1
3.1.2
3.1.3
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
Conclusioni
Bibliografia
Tecnologie utilizzate
Java e il servlet container Apache Tomcat
JSON come formato per lo scambio dati client-server
Persistenza dei dati con Hibernate
Dettagli implementativi
La classe ObjectExtractor per il parsing del json
Le classi di utilità
La servlet Confserv per il salvataggio delle configurazioni sul database
La servlet JsonCreator per la creazione del json
Problematiche riscontrate
9
10
13
16
17
19
20
20
21
23
29
30
30
33
34
40
41
48
49
52
52
52
55
58
67
68
72
73
74
76
81
83
!!!
()&"%*'#&))&'+$,-.&
Figura 1.1 - Schema di una rete di sensori
Figura 1.2 - Architettura di una WSN con sistema remoto di ricezione dati
Figura 1.3 - Architettura iCAAS
Figura 1.4 - Modello E-R di iCAAS
Figura 2.1 - Diagramma dei casi d'uso per la configurazione di una rete
Figura 2.2 - Diagramma dei casi d'uso per la configurazione di un sensore
Figura 2.3 - Diagramma dei casi d'uso per la configurazione di una mappa
Figura 2.4 - Diagramma dei casi d'uso per la configurazione di una proprietà
Figura 2.5 - Applicazione a strati
Figura 2.6 - Modello thin e fat client
Figura 2.7 - Architettura client-server three tier
Figura 2.8 - Architettura di WSNCT
Figura 2.9 - Diagramma di seguenza
Figura 2.10 - Struttura database iCAAS
Figura 3.1 - Schema strutturale di un oggetto JSON
Figura 3.2 - Schema strutturale di un array JSON
Figura 3.3 - Tipologie di valori JSON
Figura 3.4 - Architettura di Hibernate
Figura 3.5 - Pattern session-per-conversation
Figura 3.6 - Interfaccia INet
Figura 3.7 - Diagramma classe Net
Figura 3.8 - Interfaccia ITableHome
Figura 3.9 - Diagramma classe TableHome
Figura 3.10 - Diagramma classe NetHome
Figura 3.11 - Diagramma classe ICAASdb
Figura 3.12 - Architettura Middle-thier
Figura 3.13 - Diagramma classe ObjectExtractor
Figura 3.14 - Classi di utilità
14
16
19
25
30
31
32
33
36
37
39
40
47
50
56
57
57
59
61
61
63
64
64
65
66
68
69
73
"
()&"%*'#&$'%*#$%$
Codice 2.1 – Esempio di una richiesta HTTP
Codice 2.2 – Esempio di una risposta HTTP
Codice 3.1 – Configurazione file web.xml di WSNCT
Codice 3.2 – Costruttore classe ObjectExtractor
Codice 3.3 – Esempio funzione parseAndInitArray
Codice 3.4 – Esempio funzione fillArrays
Codice 3.5 – Estratto n.1 funzione addUadToArrayList
Codice 3.6 – Estratto n.2 funzione addUadToArrayList
Codice 3.7 – Esempio inserimento database
Codice 3.8 – Funzione processNet
Codice 3.9 – Funzione getLastId di NetHome
Codice 3.10 – Esempio ri-modulazione id
Codice 3.11 – Estratto funzione addPropertyToArrayList
Codice 3.12 – Inserimento proprietà nel database
Codice 3.13 – Problematica associazione sensore-proprietà
41
42
55
70
71
71
72
72
74
75
77
78
79
79
81
#
!"/.*#-0$*"&
!$%&'()*'+,--)'%.)%/0('&0()%0%-+,(.0110%.)%*)2'%,&3)0(*,$0%4%5(%,+-'&0(*'%.)%+)60+6,%.)%
07*+0&' % )(*0+07708 % 7), % )( % ,&3)*' % 76)0(*)/)6' % 690 % 7'6),$0: % !$ % /'+*0 % 2+'-+077' % *06('$'-)6'%
,;;0(5*'%(0-$)%5$*)&)%,(()%9,%20+&077'%$,%+0,$)11,1)'(0%.)%7*+5&0(*)%.)%+,66'$*,%0.%,(,$)7)%
.0)%.,*)%.)%&'()*'+,--)'%690%-,+,(*)76'('%5(%$);0$$'%.)%,22+'/'(.)&0(*'%0%.)%2+06)7)'(0%
&,)%+,--)5(*'%)(%2+060.0(1,:%<,$)%7*+5&0(*)%7'('%6'&2'7*)%.,%70(7'+)%&)(),*5+)11,*)8%690%
;0(-'('%)(70+)*)%(0$$=,&3)0(*0%.,%&'()*'+,+0%0%,--+0-,*)%)(%+0*):
>0$$=,&3)*'%.0$$0%+0*)%.)%70(7'+)8%$=5$*)&,%)((';,1)'(0%4%6'7*)*5)*,%.,$$0%?)+0$077%@0(7'+%
>0*A'+B % C?@>D8 % +0*) % .) % 70(7'+) % 690 % ('( % 7'(' % /)7)6,&0(*0 % 6'$$0-,*) % *+, % .) % $'+' % &,%
)(*0+,-)76'(' % 0 % 6''20+,(' % )( % &'.' % 0//)6,60 % 0. % ,//).,3)$0 % 7/+5**,(.' % .0) % 6,(,$) % .)%
6'&5()6,1)'(0%A)+0$077:%E=)(*+'.51)'(0%.0$$0%?@>%9,%20+&077'%)$%&'()*'+,--)'%,(690%)(%
,&3)0(*)%'7*)$)8%)(%65)%('(%0+,%2'77)3)$0%0//0**5,+0%$,;'+)%.)%6,3$,--)'%.)%+0*)%.)%70(7'+)%
*+,.)1)'(,$):
E=,&3)*' %,22$)6,*);' %.0$$0%?@>%('(%7)%$)&)*, %,$%7'$'%&'()*'+,--)' %,&3)0(*,$0F %)(/,**)%
07)7*'('%&'$*0%,22$)6,1)'()%)(%,&3)*'%76)0(*)/)6'8%&0.)6'8%&)$)*,+0%0.%)(.57*+),$0%)(%65)%4%
+)69)07*'%)$%&'()*'+,--)'%.)%-+,(.0110%.)7$'6,*0%)(%.);0+70%,+00%-0'-+,/)690:
<5**0%G507*0%,22$)6,1)'()%9,(('%$=07)-0(1,%6'&5(0%.0$$,%/+5)1)'(0%.0)%.,*)%.,%5(=5()*H%.)%
6'(*+'$$' % 60(*+,$)11,*,8 % 690 % +)60;, % 20+)'.)6,&0(*0 % ) % .,*) % ,6G5)7)*) % )( % *0&2' % +0,$0 % .,)%
70(7'+)8%$)%&0&'+)11)%0%$)%&0**,%,%.)72'7)1)'(0%.0$$=5*0(*0%/)(,$08%690%2'*+H%5*)$)11,+$)%20+%
'20+,1)'()%.)%,(,$)7)%0%&'()*'+,--)':
I507*, % 07)-0(1, % 4 % 7*,*, % 7'..)7/,**, % .,$$=,+69)*0**5+, % )JKK@ % C!(*0+'20+,3$0 % ,(.%
J'(/)-5+,3$0 % K+69)*06*5+0 % /'+ % K66077)(- % @0(7'+ % (0*A'+B7D8 % +0,$)11,*, % (0$$=,&3)*' % .0$%
2+'-0**'%LMNOKN%CLM*)%.)%@M(7'+)%20+%)$%NO()*'+,--)'%.0)%+)769)%KN3)0(*,$)D%/,60(*0%
2,+*0 % .0$$=,**);)*H % .) % +)60+6, % .0$ % J!>! % CJ'(7'+1)' % !(*0+5();0+7)*,+)' % >,1)'(,$0 % 20+%
E=)(/'+&,*)6,D:
E=,+69)*0**5+, % )JKK@ % -,+,(*)760 % $=,66077' % 0 % $, % -07*)'(0 % .0$$0 % +0*) % .) % 70(7'+)8%
$=)(*0+'20+,3)$)*H % *+, % $0 % +0*) % .) % 70(7'+) % 0 % *+, % $0 % ,22$)6,1)'() % 0 % $, % 6'(/)-5+,3)$)*H%
P
.0$$=,6G5)7)1)'(08%.0$$=0$,3'+,1)'(0%0%.0$$,%/+5)1)'(0%.0)%.,*):
Q(,%;'$*,%6'&2$0*,*,%$,%/,70%.)%)(7*,$$,1)'(0%/)7)6,%.0$$,%+0*0%.)%70(7'+)%C,$$'6,1)'(0%/)7)6,%
.0)%.)72'7)*);)%(0)%25(*)%.07).0+,*)D8%.)%70*52%.0$$0%,22$)6,1)'()%,$$=)(*0+('%.0$$,%+0*0%0%.)%
&077, %,%25(*'%.0$%&)..$0A,+0 %7206)/)6' %75)%70(7'+)8%$,%+0*0%4%*0'+)6,&0(*0 %2+'(*,% 20+%
6,&2)'(,+0%)%.,*)%0%*+,7&0**0+$)%,.%)JKK@:
E=,+69)*0**5+,8%20+R8%20+%2'*0+%)(*0+2+0*,+0%6'++0**,&0(*0%)%.,*)%690%+)60;0%.,$$0%?@>8%9,%
3)7'-('%.)%5(='20+,1)'(0%.)%6'(/)-5+,1)'(0%.0$$0%7*+5**5+0%)(*0+(0%690%,7*+,--'('%)%6'(60**)%
.)%+0*08%70(7'+0%0%2+'2+)0*H%C$0%-+,(.0110%/)7)690%&)75+,*0%.,$%70(7'+0DF%,**5,$&0(*0%*,$0%
6'(/)-5+,1)'(0%,;;)0(0%*+,&)*0%5(%2+'6077'%&,(5,$0:
E='3)0**);'%.)%G507*,%*07)%4%)$%&)-$)'+,&0(*'%.)%G507*'%2+'6077'F%7)%)(*0(.0%%+0,$)11,+0%5('%
7*+5&0(*'%20+%$,%6'(/)-5+,1)'(0%.0$$0%+0*)%.)%70(7'+)8%690%/'+()76,%5(=)(*0+/,66),%A03%690%
20+&0**,%,$$='20+,*'+0%.)%)(7*,$$,+0%$0%+0*)%.)%70(7'+)%&0.),(*0%7*+5&0(*)%)(*5)*);)%S25(*,%0%
6$)66,T:%@)%;5'$0%+0,$)11,+08%)('$*+08%5(,%2+'60.5+,%.)%)&2'+*,1)'(0%.0$$0%6'(/)-5+,1)'()%
2+0U07)7*0(*)8 % 690 % 20+&0**0+,((' % ,$$=5*0(*0 % .) % ;)75,$)11,+$0 % 75$$=)(*0+/,66), % A03 % 0.8%
0;0(*5,$&0(*08%&'.)/)6,+$0:
E'%7*+5&0(*'%)(*0+,-)+H%,5*'&,*)6,&0(*0%6'(%$=,+69)*0**5+,%)JKK@8%&0.),(*0%$=5*)$)11'%.)%
5(=,+69)*0**5+,%6$)0(*U70+;0+%3,7,*,%75%&'.0$$'%.)%6'&5()6,1)'(0%.)%*)2'%LOK%CL07'5+60%
O+)0(*0. % K+69)*06*5+0D % 6'( % $=,.'1)'(0 % .0 % 2,+,.)-&, % LM@< % CLM2+070(*,*)'(,$ % @*,*0%
<+,(7/0+D8%6'(/)-5+,(.'$,%'22'+*5(,&0(*0:
!$%!"#$%&'&()%/'+()760%5(,%2,('+,&)6,%.0$%6'(*07*'%)(%65)%$'%7*+5&0(*'%7)%)(70+)760:%>0$$,%
2+)&,%2,+*0%;)0(0%)(*+'.'**' %)$%6'(60**' %.)%?)+0$077 %@0(7'+%>0*A'+B%C?@>D8%.)%65)%7)%
)$$57*+,('%-$)%,&3)*)%,22$)6,*);)8%$0%2+'3$0&,*)690%.)%-07*)'(0%0%$=,22+'66)'%,$%&'()*'+,--)'%
*+,&)*0%)$%?03:%>0$$,%706'(.,%2,+*0%7)%,(,$)11,%$=,+69)*0**5+,%)JKK@8%.)%65)%7)%)$$57*+,('%$0%
/5(1)'(,$)*H%0%$0%&'.,$)*H%,66077'%,.%,22$)6,1)'()%07*0+(0%2+0;)7*0:
!$ %!"#$%&'&(*% 4%)(*0+,&0(*0%.0.)6,*'%,$$,%2+'-0**,1)'(0%.0$$'%7*+5&0(*':%@)%)$$57*+,(' %)$%
2+'6077'%.)%,(,$)7)%.0)%+0G5)7*)%0%$0%760$*0%,+69)*0**5+,$)F%7)%*+,**,8%)('$*+08%$,%2+'-0**,1)'(0%.)%
'-()%7)(-'$,%6'&2'(0(*0%.0$$'%7*+5&0(*':
V
!$%!"#$%&'&(+(*+,**,%$,%+0,$)11,1)'(0%.0$$'%7*+5&0(*':%@)%/'+()76'('%.0**,-$),*0%)(/'+&,1)'()%
6)+6,%$0%*06('$'-)0%5*)$)11,*08%7)%)$$57*+,('%)%.0**,-$)%)&2$0&0(*,*);)%.0$$0%6'&2'(0(*)%.)%
&,--)'+0%6+)*)6)*H%.0$%7)7*0&,%0%7)%.076+);'('%$0%2+)(6)2,$)%2+'3$0&,*)690%+)76'(*+,*0%(0$$,%
+0,$)11,1)'(08%6'(%$0%+0$,*);0%7'$51)'():
W
123$/*)*'4
Wireless Sensor Network e iCAAS
!$%2+070(*0%6,2)*'$'%)$$57*+,%)$%6'(*07*'%)(%65)%$'%7*+5&0(*'%.)%6'(/)-5+,1)'(0%7)%)(70+)760:%E,%
2+)&,%2,+*0%)(*+'.560%,$$0%?)+0$077%@0(7'+%>0*A'+B%C?@>DX%70%(0%.)765*'('%)%;,(*,--)8%)%
2'77)3)$) % ,&3)*) % ,22$)6,*);)8 % $0 % 2+'3$0&,*)690 % +0$,*);0 % ,$$, % -07*)'(0 % 0 % $0 % 2'77)3)$)*H % .)%
&'()*'+,--)' % *+,&)*0 % )$ % A03: % !$ % 706'(.' % 2,+,-+,/' % *+,**, % $0 % /5(1)'(,$)*H % &0770 % ,%
.)72'7)1)'(0 % ., % )JKK@ % C!(*0+'20+,3$0 % ,(. % J'(/)-5+,3$0 % K+69)*06*5+0 % /'+ % K66077)(-%
@0(7'+ % >0*A'+B7D8 % $=,+69)*0**5+, % 7'/*A,+0 % $, % 65) % 07*0(7)'(0 % /5(1)'(,$0 % 4 % ,+-'&0(*' % .)%
G507*'%$,;'+'%.)%*07):%
1.1 Wireless Sensor Network
E0%?@>%C?)+0$077%@0(7'+%>0*A'+B7D%7'('%+,22+070(*,3)$)%6'&0%5(%)(7)0&0%.)%('.)%.)%5(,%
+0*0%690%76,&3),('%)(/'+&,1)'()%,**+,;0+7'%5(%2+'*'6'$$'%2+07*,3)$)*':%J'(%$=,;;0(*'%.0$$0%
*06('$'-)0 %70(1,%/)$' %CA)+0$077D%4%7*,*'%2'77)3)$0 %0;'$;0+0%)(%&'.' %7'7*,(1),$0 %*,$) %+0*)%
2,77,(.' % ., % ('.) % 6'$$0-,*) % /)7)6,&0(*0 % *+, % .) % $'+'8 % , % ('.) % )(*0$$)-0(*) % 0 % 6,2,6) % .)%
76,&3),+7)%)(/'+&,1)'()%70(1,%(06077)*H%.)%6,3$,--)': %E0%?@>%9,(('%6+0,*'%5(%(5';'%
2,+,.)-&, % 20+ % $, % +0,$)11,1)'(0 % .) % )(/+,7*+5**5+0 % 20+ % )$ % &'()*'+,--)'8 % +0(.0(.' % '+&,)%
'37'$0*) % ) % 70(7'+) % 6,3$,*)8 % 690 % .0;'(' % 0770+0 % 2'7)1)'(,*) % 0 % 6'$$0-,*) % % ., % '20+,*'+)%
7206),$)11,*)8%6'(%5(%('*0;'$0%7;,(*,--)'%06'('&)6':%Q(,%*)2)6,%A)+0$077%70(7'+%(0*A'+B%
C?@>D%6'(7)7*0%)(%60(*)(,),%C0%,%;'$*0%,(690%&)-$),),D%.)%('.)%70(7'+08%2'7*)%)(%2+'77)&)*H%
'%,$$Y)(*0+('%.0$%/0('&0('%.,%'770+;,+0%0%6'$$0-,*)%*+,%$'+'%*+,&)*0%5(%6,(,$0%A)+0$077:%
K$65()%.0)%30(0/)6)%)(*+'.'**)%.,$$0%?@>%2'77'('%0770+0%+),775(*)%)(X%
! ","!$'- ( .$/'&!"0$&1-: % E0 % ?@>7 % 2'77'(' % 6'(*0(0+0 % 5( % -+,(.0 % (5&0+' % .) % ('.)%
/)7)6,&0(*0%702,+,*)8%,%.)//0+0(1,%.0)%*+,.)1)'(,$)%70(7'+)%6,3$,*)8%20+%)%G5,$)%$,%6'20+*5+,%4%
$)&)*,*,%,%60+*0%,+00%,%6,57,%.0)%;)(6'$)%)&2'7*)%.,$%6'7*'%0%.,$$,%2'7,8%+)-'+'7,&0(*0%,.%
'20+,%.)%20+7'(,$0%7206),$)11,*':%!('$*+0%)%70(7'+)%2'77'('%0770+0%$0**0+,$&0(*0%2,+,6,.5*,*)%
)(%1'(0%,;;0+70F%
Z
!"2$.&1."10"(1"%34"'-:%Q(,%.0(7,%.)7$'6,1)'(0%.0)%70(7'+)%70(1,%/)$'%0%$,%6'++0$,1)'(0%*+,%
)%.,*)%.)%('.)%;)6)()%)(%5(,%.,*,%,+0,%+0(.0%$0%?@>%07*+0&,&0(*0%/$077)3)$):%!(%6,7'%.)%
/,$$)&0(*'%.)%5('%.0)%('.)8%$,%+0*0%+)0760%,%+0,-)+0%&'$*'%30(0%-+,1)0%,$$,%/'+*0%+).'(.,(1,%
72,1),$0%690%6,+,**0+)11,%$0%?@>:%
!"5!!34"%-00":%E,%-+,(.0%G5,(*)*H%.)%.,*)%6'$$01)'(,*)%.,%5(%-+,(.0%(5&0+'%.)%&)(576'$)%
70(7'+)%+)/$0**0%&0-$)'%$0%6,+,**0+)7*)690%.0$$,%+0,$*H:%
!"6&/%&:%%E0%?@>%7'('%&'$*'%&0('%6'7*'70%+)720**'%,$$0%+0*)%6,3$,*0F%5*)$)11,(.'%$0%?@>%
7)%+)0760%,.%,33,**0+0%$=)(-0(*0%6'7*'%.)%6,3$,--)'%.0$$0%+0*)%*+,.)1)'(,$)8%690%72077'%+)75$*,%
&'$*'%7520+)'+0%,$%6'7*'%.0)%7'$)%('.):%
O-()% ('.'%.) %5(,%?@> %4%5(%,22,+0669)' %*06('$'-)6,&0(*0 %,;,(1,*' %6'7*)*5)*' %., % 5(%
&'.5$'%20+%$,%*+,7&)77)'(0%+,.)'8%5(%2)66'$'%2+'6077'+08 %1 (70(7'+)%20+%$0%+)$0;,1)'()%0.%
';;),&0(*0 % 5( % &'.5$' % .) % ,$)&0(*,1)'(0: % O-(5(' % .) % G507*) % ,22,+0669) % 0//0**5, % $0%
'20+,1)'()%+)69)07*0%'(%.0&,(.%'%2+'-+,&&,*0%)(%7"%!8(9&.-(0%)('$*+,%(0$$,%+0*0%)%+)75$*,*)%
.0$$0%0$,3'+,1)'()%$)&)*,*,&0(*0%,$%*0&2'%.)%;)*,%.0$$0%3,**0+)0F%)('$*+0%'-()%7)(-'$'%('.'%
.0$$,%+0*0%A)+0$077%4%5(,%7*+5**5+,%&'.5$,+0%690%20+&0**0%.)%+)$0;,+0%&)75+,1)'()%.)%.);0+70%
-+,(.0110%/)7)6908%-+,1)0%,$$Y)&2$0&0(*,1)'(0%75$%.)72'7)*);'%.)%2)[%70(7'+):
1.1.1 Ambiti applicativi
E0%?@>%7'('%(,*0%)(%6,&2'%&)$)*,+08%&,%(0$%6'+7'%.0$%*0&2'%)%6,&2)%,22$)6,*);)%7'('%
,5&0(*,*)8 % 6')(;'$-0(.' % )$ % 6,&2' % &0.)6'8 % )(.57*+),$08 % 76)0(*)/)6'8 % 6'&&0+6),$0 % 0%
.'&07*)6':%<5**)%)%6'(*07*)%,22$)6,*);)%&,(*0(-'('%$Y'3)0**);'%6'&5(0%.)%2+070(*,+0%)(%5(%
20+)'.'%07*07'%.)%*0&2'%5(Y)(/'+&,1)'(0%-$'3,$0%7)-()/)6,*);,%'**0(5*,%.,%5(,%70+)0%.)%.,*)%
$'6,$)%2+';0()0(*)%.,)%7)(-'$)%('.):
\)%70-5)*'%5(,%+,2).,%.)7,&)(,%.0)%6,&2)%,22$)6,*);)%.0$$0%?@>:
533)$%20$*"$'6$)$/2.$
E,%/,6)$)*H%0%+,2).)*H%.)%.)7*+)351)'(08%$=,5*'U'+-,()11,1)'(0%0%$,%*'$$0+,(1,%,)%-5,7*)%/,(('%
.) % 5(, % +0*0 % .) % 70(7'+) % 5(, % *06()6, % 2+'&0**0(*0 % 20+ % ,22$)6,1)'() % &)$)*,+)8 % ;'$*0 % ,$$,%
70&2$)/)6,1)'(0%0%)((';,1)'(0%.)%,**);)*H%&)$)*,+)%6'&0%)$%6'&,(.'8%)$%6'(*+'$$'%.0)%6,&2)%
]^
.)%3,**,-$),8%$,%+)$0;,1)'(0%.0-$)%72'7*,&0(*)%.0$$0%*+5220%(0&)6908%$,%7'+;0-$),(1,%0%$0%
'20+,1)'()%.)%$'6,$)11,1)'(0%.0)%30+7,-$):
E,%/,6)$)*H%.)%)(7*,$$,1)'(0%.0)%('.)%/,%7_%690%$0%?@>%2'77,('%0770+0%5*)$)11,*0%,(690%)(%
,&3)0(*)%)('72)*,$)%6'&0%5(%6,&2'%.)%3,**,-$),:%`')69a%5(,%+0*0%.)%70(7'+)%4%3,7,*,%75%5(,%
.)72'7)1)'(0%.0(7,%.)%('.)%&'('57'%0%,%%3,77'%6'7*'8%0%2')69a%'-()%('.'%9,%5(%6)6$'%.)%
;)*, % )(.)20(.0(*0 % .,-$) % ,$*+)8 % $, % .)7*+51)'(0 % .) % ,$65() % ('.) % ., % 2,+*0 % .0$ % (0&)6' % ('(%
.,((0--),%$0%'20+,1)'()%&)$)*,+)%6'&0%2'*+0330%,66,.0+0%6'(%$,%.)7*+51)'(0%.0)%70(7'+)%
*+,.)1)'(,$):
K$65(0%.0$$0%,22$)6,1)'()%.0$%6,&2'%&)$)*,+0%2'77'('%0770+0%)$%6'(*+'$$'%0.%)$%+)$0;,&0(*'%
.0$$'%7*,*'%.0-$)%0G5)2,--),&0(*)8%$,%7'+;0-$),(1,%.0$%6,&2'%.)%3,**,-$),%20+%&'()*'+,+0%$0%
,**);)*H%.0$$0%/,1)'()%(0&)6908%'%,(6'+,%20+%+)$0;,+0%)%.,(()%6'(70-50(*)%,.%5(,%3,**,-$),8%'%)$%
+)6'('76)&0(*'%.)%,-0(*)%69)&)6'%/)7)6)%(0$$=,&3)*'%.)%3,**,-$)0%69)&)6'%3)'$'-)690:%
533)$%20$*"$'$"#-7/.$2)$
!(%,&3)*'%)(.57*+),$08%$0%?@>%;0(-'('%5*)$)11,*0%20+%.50%76'2)%2+)(6)2,$)X
!
!&2$0&0(*,1)'(0%.)%7)7*0&)%.)%6'(*+'$$'%,%3,77'%6'7*'%20+%)%2+'6077)%2+'.5**);):%
>0$$='**)6, % .) % +,1)'(,$)11,1)'(0 % .0) % 6'7*) % ,775&0 % 5( % +5'$' % )&2'+*,(*0 % $,%
6,+,**0+)7*)6,%.)%S&'('57,3)$)*HT%.0$$0%?@>8%690%('(%6'&2'+*,('%(0775(%6'7*'%.)%
&,(5*0(1)'(0:
!
!&2$0&0(*,1)'(0 % .) % 7)7*0&) % .) % 7)65+011,8 % 690 % ,)5*)(' % ,. % 0;)*,+0 % $0 % *+,-0.)0 % 75$%
$,;'+'8 % 6'(*+'$$,(.' % 6'(*)(5,&0(*0 % 2,+,&0*+) % /)7)6) % G5,$) % $, % *0&20+,*5+, % 20+ % $,%
2+0;0(1)'(0%.0-$)%)(60(.)8%'%$=0&)77)'(0%.)%7'7*,(10%('6);0%20+%$=5'&'%.5+,(*0%)$%
2+'6077'%)(.57*+),$0:
533)$%20$*"$'568$&"/2)$
!$ % &'()*'+,--)' % ,&3)0(*,$0 % +,22+070(*, % 5(' % .0-$) % ,&3)*) % 6'( % $, % &,--)'+0 % ;,+)0*H % .)%
,22$)6,1)'(0 % .0$$0 % ?@>X% 7) % 72,1), % .,) % 7)7*0&) % .) % +)$0;,1)'(0 % .) % )(60(.)8 % 0+51)'()%
;5$6,()6908%76'770%7)7&)6908%/+,(0%'%7&'**,&0(*)8%,$$0%+)$0;,1)'()%7*,*)7*)690%+0$,*);0%,$$,%
/,5(,%2+'*0**,%0%,$%&'()*'+,--)'%.)%)(*0+0%/'+07*08%2,77,(.'%20+%)$%6'(*+'$$'%.0$$'%7&'-%
(0$$0%&0*+'2'$)%.0$$0%7'7*,(10%)(G5)(,(*)%)(%&,+)%0%/)5&):
b,**'+0%6'&5(0%.0$$0%;,+)0%,22$)6,1)'()%4%$,%+)6'7*+51)'(08%+0&'*,%0%.)7*+)35)*,8%.0$$,%+0,$*H%
0%.0-$)%7;)$522)%.)%5(%.0*0+&)(,*'%7)7*0&,8%3,7,(.'7)%75)%.,*)%/'+()*)%.,$$0%?@>:%I507*,%
(5';, % /+'(*)0+, % ,775&0 % )&2'+*,(1, % /'(.,&0(*,$0 % )( % ,&3)*)% ,$*+)&0(*) % .)//)6)$&0(*0%
]]
+)6'7*+5)3)$)%720+)&0(*,$&0(*08%;5')%20+%)&2+,*)6,3)$)*H%.0)%$5'-9)8%;5')%20+%)$%&,--)'+0%
)&2,**'%,&3)0(*,$0%.)%7'$51)'()%,$*0+(,*);0:
K%*)*'$'%070&2$)/)6,*);'8%6'(7).0+),&'%)$%&'()*'+,--)'%.)%5(,%;,7*,%,+0,%3'769);,%,$%/)(0%.)%
2+0;0()+0 % )(60(.)X % 70(1, % $=,22$)6,1)'(0 % .0$$0 % ?@> % 7,+0330 % 2+,*)6,&0(*0 % )&2'77)3)$0%
0//0**5,+0%)$%&'()*'+)(-8%)(%G5,(*'%$=)(7*,$$,1)'(0%.0)%70(7'+)%6,3$,*)%6'&2'+*0+0330%5(,%
7207,%0('+&08%&,%7'2+,**5**'%5(,%;,7*,%'20+,%.)%S.)7*+51)'(0T%.0$$=,&3)0(*0:%J'(%$=5*)$)11'%
.0$$0 % ?@> % 4 % 75//)6)0(*0 % )(70+)+0 % (0$$=,&3)0(*0 % .) % +)$0;,1)'(0 % 5( % (5&0+' % ,33,7*,(1,%
6'72)65' % .) % 70(7'+)8 % 2'7)1)'(,*) % )( % 1'(0 % 7*+,*0-)6908 % 20+ % '**0(0+0 % $, % +)$0;,1)'(0 % ;'$5*,%
70(1,%)(/$50(1,+0%$=,&3)0(*0%6)+6'7*,(*0:
Q(%,$*+'%6,&2'%.)%7;)$522'%&'$*'%)(*0+077,(*0%4%$=,-+)6'$*5+,%.)%2+06)7)'(0F%$=5*)$)11'%.)%
70(7'+)%20+%&'()*'+,+0%2,+,&0*+)%/'(.,&0(*,$)%20+%$0%6'$*);,1)'()%20+&0**0%,$$=,-+)6'$*'+0%
.)%)(.);).5,+0%.';0%3)7'-(,%)(*0+;0()+08%2'+*,(.'%,.%5(%&)-$)'+,&0(*'%7'7*,(1),$0%.0$$,%
2+'.51)'(0%7),%)(%*0+&)()%G5,$)*,*);)%690%G5,(*)*,*);):
533)$%20$*"$'9&#$%:&
K$65() % 070&2) % .) % 5*)$)11' % .0$$0 % +0*) % .) % 70(7'+0 % )( % G507*' % 6,&2' % 2'77'(' % 0770+0 % $,%
*+,7&)77)'(0 %.) %2,+,&0*+) %/)7)'$'-)6) % .0) %2,1)0(*) %,$$=)(*0+(' % .0-$) %'720.,$) %0 % $0 %,**);)*H%
.),-('7*)690%0%.)%&'()*'+,--)'%.0$$,%7'&&)()7*+,1)'(0%.)%&0.)6)(,$):
Q*)$)11,(.' % $0 % ?@> % ,$$=)(*0+(' % .0-$) % '720.,$) % 4 % 2'77)3)$0 % &'()*'+,+0 % 2,+,&0*+) % G5,$)%
2+077)'(0 % 7,(-5)-(,8 % *0&20+,*5+,8 % 25$7,1)'() % 6,+.),690 % 066 % )( % &'.' % ('( % )(;,7);': % M=%
)(*0+077,(*0%)('$*+0%,(690%$=5*)$)11'%.0$$0%?@>%20+%)$%6'(*+'$$'%+0&'*'%.)%20+7'(0%,(1),(08%
6'(%$,%2'77)3)$)*H%.)% %-0(0+,+0%.0-$)%,$$,+&)%.07*)(,*)%,)%/,&)$),+)%)(%70-5)*'%,%7)*5,1)'()%
,('&,$0%G5,$0%25R%0770+0%5(,%6,.5*,%'%5('%73,$1'%)&2+';;)7'%.)%25$7,1)'()%6,+.),690:
533)$%20$*"$';*6&7/$%:&%
`'77)3)$)%,22$)6,1)'()%)(%,&3)*'%.'&07*)6'%+)-5,+.,('%$,%6'7)..0**,%S,5*'&,*)11,1)'(0T%
.0$$,%6,7,:%!(%'-()%0$0**+'.'&07*)6'8%7),%077'%/'+('8%&)6+''(.08%;).0'+0-)7*+,*'+0%$=5*)$)11'%
.)%70(7'+)%4%-)H%'+,%.)%$,+-'%)&2)0-':%<,$)%70(7'+)8%,//),(6,*)%.,%'22'+*5()%&)6+'2+'6077'+)8%
2'*+,(('%0770+0%)((';,*)%)(%&'.'%.,%20+&0**0+0%,)%;,+)%,22,+0669)%.)%6'&5()6,+0%*+,%$'+':%
@)%2'*+H%6'7_8%,.%070&2)'8%6'&,(.,+0%)$%2+'2+)'%0$0**+'.'&07*)6'%.,%5(%.)72'7)*);'%&'3)$0%
20+%&0**0+$'%)(%/5(1)'(0%2+)&,%.0$%2+'2+)'%,++);'8%6+0,(.'%5(%,&3)0(*0%,66'-$)0(*0:
]c
533)$%20$*"$'1*66&.%$2)$
<+,%$0%,22$)6,1)'()%690%;,$0%$,%20(,%&0(1)'(,+0%6)%7'('X
!
51%$:34%$(/"%-''$%"4$X%$,%6''20+,1)'(0%.)%+)$0;,*'+)%.)%0//+,1)'()%0%7,*0$$)*) %20+&0**0%
,-$)%'+-,()%6'&20*0(*)%.)%2'*0+%+)(*+,66),+0%;0)6'$)%+53,*):
!
6"4 ( %4"!;$1<X % +)$0;,1)'() % .) % 72'7*,&0(*) % .) % ;0)6'$) % , % 76'2' % .) %&'()*'+,--)' % .)%
*+,//)6'%75%7*+,.0%0.%'**)&)11,1)'(0%.)%20+6'+7):
!
6&1%4&''&(.-''="97$-1%-($1(3::$!$&X%.)%7'$)*'%)$%7)7*0&,%.)%-07*)'(0%.0$%+)76,$.,&0(*'%
.0$$=,+),%6'(.)1)'(,*,%4%60(*+,$)11,*'%0%G5)(.)%$,%*0&20+,*5+,%)(%5//)6)'%25R%0770+0%
.);0+7,%,%706'(.,%.0$$,%1'(,%C5(,%2,+*0%2)[%6,$.,%0%5(,%2,+*0%2)[%/+0..,D%2+'2+)'%
20+%)$%6'(*+'$$'%.0$$,%*0&20+,*5+,%0%.0$%/$577'%.0$$=,+),%60(*+,$)11,*'%C07)7*0%5(%7'$'%
*0+&'&0*+' %0%5(%7'$'%3'6690**'(0%.,%.';0%0760%$=,+),D:%J'(%5(,%+0*0%.)%70(7'+)%
(0$$0%7*,(10%4%2'77)3)$0%6'(*+'$$,+0%$,%*0&20+,*5+,%0%$,%.)7*+)351)'(0%.0$$=,+),%6,$.,%
(0$$0%;,+)0%1'(0:%
1.1.2 Problematiche di gestione
K%706'(.,%.0$$Y,22$)6,1)'(0%20+%$,%G5,$0%4%)&2$0&0(*,*,%$,%+0*0%25R%0770+0%'**)&)11,*,%)(%
*0+&)()%.)%2+07*,1)'()8%0$,3'+,1)'(0%'%/$577'%75%+0*08%6'(%'20+,1)'()%,.%9'6:
@)%2'77'('%0$0(6,+0%,$65(0%6,+,**0+)7*)690%.)%5(,%+0*0%.)%70(7'+)%690%+)75$*,('%.0*0+&)(,(*)%
20+%$0%760$*0%)&2$0&0(*,*);0%.0-$)%,$-'+)*&)%.)%6'&5()6,1)'(0%*+,%)%('.)%7*077)X
!
!$%(5&0+'%.)%('.)%690%6'&2'(-'('%$,%+0*0%25R%0770+0%0$0;,*':
!
!%('.)%70(7'+)%2'77'('%0770+0%.)7*+)35)*)%6'(%5(Y,$*,%.0(7)*H:
!
E,%+0*0%.0;0%0770+0%)&&5(0%,$$,%6,.5*,%.)%5(%('.':
!
E,%*'2'$'-),%.0$$,%+0*0%;,+),%/+0G50(*0&0(*0:
!
E0%6,2,6)*H%)(%*0+&)()%.)%,$)&0(*,1)'(08%6,2,6)*H%.)%6,$6'$'%0%&0&'+),%.0$%7)(-'$'%
('.'%7'('%+).'**0:
K%6,57,%.0$$Y0$0;,*,%.0(7)*H%.)%2'7)1)'(,&0(*'8%)%('.)%2'77'('%0770+0%&'$*'%;)6)()%/+,%$'+'%
0 % 6)R % +0(.0 % 6'7_ % 2'77)3)$0 % $Y)&2)0-' % .) % ,$-'+)*&) % .) % +0*0 % &5$*)U9'2 % 20+ % +,--)5(-0+0 % )$%
6'++0**'%.07*)(,*,+)'%.0$$Y)(/'+&,1)'(0:%K$%6'(*0&2'8%20+R8%('(%;,(('%*+,765+,*)%2+'3$0&)%
.)%&5*5,%)(*0+/0+0(1,%/+,%70(7'+)%.)7*)(*):
]d
EY57'%.)%7*+,*0-)0%&5$*)U9'2%25R%6'(70(*)+0%$Y5*)$)11'%.)%3,770%2'*0(10%.)%*+,7&)77)'(08%
&)-$)'+,(.' %$0%6,+,**0+)7*)690 %.0)%('.)%)(%*0+&)() %.)%+0G5)7)*) %.)%2'*0(1,: %I507*Y5$*)&,8%
)(/,**)8%+)75$*,%0770+0%5(,%.0$$0%$)&)*,1)'()%*06('$'-)690%2)[%7*+)(-0(*)%2')69a%)%('.)%70(7'+)%
5*)$)11,(' % .0$$0 % 7'+-0(*) % .) % 2'*0(1, % 690 % ('( % 2'77'(' % 0770+0 % )( % -0(0+,$0 % 7'7*)*5)*08 % '%
G5,(*'&0('%('(%2'77'('%0770+0%7'7*)*5)*0%/+0G50(*0&0(*08%20+%G507*'%&'*);'%5(Y0//)6)0(*0%
)&2$0&0(*,1)'(0%.)%A)+0$077%70(7'+%(0*A'+B)(-%.0;0%2+0;0.0+0%&066,()7&)%690%.),('%$,%
2'77)3)$)*H%,$$Y5*0(*0%.)%760-$)0+0%)$%6'&2+'&077'%&)-$)'+0%/+,%2+07*,1)'()%0%.5+,*,%.0$$0%
3,**0+)0F%)('$*+08%,%6,57,%.0$$0%+).'**0%.)&0(7)'()%.0)%.)72'7)*);)%('(%4%2'77)3)$0%.'*,+0%)%
7)(-'$)%('.)%.)%-+'770%G5,(*)*H%.)%0(0+-),:
M= % (06077,+)' % .5(G50 %/,+0 % )(% &'.' %690 % -$) %72+069) % 0(0+-0*)6) % 7),(' %+).'**) % ,$ %&)()&'X%
2')69a % $0 % 6'&5()6,1)'() % *+, % ) % ('.) % 207,(' % 7)-()/)6,*);,&0(*0 % 75) % 6'(75&) % .0-$)%
,22,+0669)8%4%(06077,+)'%690%7),('%'**)&)11,*0%0%+).'**0%,$%&)()&'%)(.)720(7,3)$0:
Q(, % *06()6, % 6'&5(0&0(*0 % 5*)$)11,*, % 4 % G50$$, % .) % )(;07*)+0 % 75$$, % +,66'$*, % $'6,$0 % .)%
)(/'+&,1)'()%0%.)%0;)*,+0%)(0//)6)0(*)%6'&5()6,1)'()%,**+,;0+7'%$,%+0*0F%7)%0$0--'('%)('$*+0%
5(' % '% 2)[ % ('.) % ,$ % +5'$' % .) %7$"< '' %,2/&=2>8% 7206),$) % ('.) % 6'( % )$ % 6'&2)*' % .) %)('$*+,+0%
,$$Y07*0+('%)%.,*)%+,66'$*)%0%20+;0(5*)-$)%.,%*5**)%)%('.)%.0$$,%+0*0:
! % ('.) % 7)(B % 7'(' % .'*,*) % .) % 5( % +,--)' % .Y,1)'(0 % &,--)'+0 % 0 % /5(-'(' % ., % -,*0A,e % ;0+7'%
$Y07*0+('8%7'$)*,&0(*0%6'(%5(,%2'$)*)6,%&)()&,%.)%6,69)(-%$'6,$0:%!(%b)-5+,%]:]%4%2'77)3)$0%
;0.0+0%5('%7690&,%.0$$,%+,66'$*,%.,*)%;0+7'%)$%f,*0A,e%)(%5(,%+0*0%.)%70(7'+):
%%
%%?$,-.2'4@4'A'B%:&62'#$'-"2'.&/&'#$'7&"7*.$
!$%6,7'%).0,$0%;'++0330%$,%2'77)3)$)*H%.,%2,+*0%.0$%7)(B%.)%/'*'-+,/,+0%$,%+0*0%,.%5(%.,*'%
]"
)7*,(*08%&,%*,$0%&0*'.'$'-),%+)75$*,%)(0//)6,60%'%,..)+)**5+,%)&2+,*)6,3)$0:%E=)(0//)6)0(1,%.)%
*,$0%7)7*0&,%4%.';5*,%2+)(6)2,$&0(*0%,$$=0$0;,*'%(5&0+'%.)%70(7'+)X%/'*'-+,/,+0%$,%+0*0%,.%
5( % .,*' % )7*,(*0 % 6'&2'+*0+0330 % 5(, % 6'(-07*)'(0 % ('( % )(.)//0+0(*0 % .0$$, % +0*08 % )( % 65) % 7)%
,;+0330%5(%0('+&0%/$577'%.)%)(/'+&,1)'()%690%.0;0%+,--)5(-0+0%'-()%7)(-'$'%('.'%20+%$,%
+)69)07*,%0.%)$%+0$,*);'%/$577'%6'(*+,+)'%;0+7'%)$%7)(B%20+%$,%6'$$01)'(0%0%$Y)('$*+'%.)%*,$)%
)(/'+&,1)'()%,$$Y5*0(*0:%<,$0%,22+'66)'8%)('$*+08%2'*+0330%+)75$*,+0%)&2+,*)6,3)$0%)(%5(,%+0*0%
)(%65)%)$%7)(B%('(%;0.0%*5**)%)%('.)F%+)75$*0+0330%.5(G50%)&2'77)3)$0%$,%+,66'$*,%6'&2$0*,%
.0$$0%)(/'+&,1)'():
I50$$'%690%(0$$,%2+,*)6,%7)%&0**0%)(%,**'%4%$,%6'(/)-5+,1)'(0%.)%5(,%3,70%.,*)%.)7*+)35)*,%
.';0 % ) % ('.) % 7)(B % /5(-'(' % ., % 25(*' % .) % ,66077'8 % &'.0$$,*) % 7'$)*,&0(*0 % )( % &'.' % .,%
20+&0**0+0 % ,. % 5( % 5*0(*0 % )( % +0&'*' % .) % 070-5)+0 % )(*0++'-,1)'() % )( % 5( % $)(-5,--)' % 7)&)$0%
,$$Y@IE8%0.%)%7)(-'$)%('.)%7'('%2+'-+,&&,*)%)(%&'.'%.,%6'$$,3'+,+0%*+,%$'+'%070-50(.'%
70&2$)6) % *,7B % 20+)'.)6) % 690 % 2+0;0.'(' % $Y0$,3'+,1)'(0 % $'6,$0 % 0. % 5(, % 7'+*, % .) % 2579%
.0$$Y)(/'+&,1)'(0%;0+7'%)$%('.'%7)(B:
E'%7;)$522'%.)%5(,%+0*0%.0$%-0(0+0%2+0;0.0%690%$=)(7)0&0%.0)%('.)%70(7'+)%7),%.)7*+)35)*,%75%
.)%5(=,+0,%69),&,*,%,+0,%.)%70(7)(-%0%690%6'7*)*5)760%)$%.'&)()'%.=,22$)6,1)'(0%.0$$,%+0*0:%
K**+,;0+7'%,22'7)*)%,$-'+)*&)%0%2+'*'6'$$)8%('*)%,%2+)'+)8%*,$)%('.)%.0;'('%,;0+0%$,%6,2,6)*H%
.)%'+-,()11,+7)%,5*'('&,&0(*08%,22'--),(.'7)%,$%2)[%,$%70-(,$0%.)%)$$5&)(,1)'(0%.0$%7)(B%
'%.)%('.)%;)6)()8%6'7_%.,%2'*0+%0//0**5,+0%$=,5*',22+0(.)&0(*'%.0$$,%2'7)1)'(0:
Q(,%;'$*,%;,$5*,*0%$0%7'$51)'()%20+%$,%6'(/)-5+,1)'(0%.0$$,%+0*0%.)%70(7'+)%2)[%,.,**0%,%
+)720**,+0 % ) % ;)(6'$) % .) % 2+'-0**,1)'(08 % )$ % 2+'6077' % .) % )(7*,$$,1)'(0 % .0$$, % +0*0 % 70-50%
('+&,$&0(*0%)%70-50(*)%2,77)X
"
)(7*,$$,1)'(0%/)7)6,%.0$$,%+0*0X%6'(7*,%(0$$=)(70+)&0(*'%.0)%('.)%70(7'+0%0%.0)%('.)%7)(B%
/)7)6,&0(*0%(0)%25(*)%.07).0+,*)8%,.%'20+,%.)%20+7'(,$0%7206),$)11,*'F
"
6'(/)-5+,1)'(0%.0-$)%,22$)6,*);)%7'/*A,+0%0%.0)%&)..$0A,+0%75)%('.)%70(7'+0%0%7)(B%
.0$$,%+0*0F
"
6'(/)-5+,1)'(0%.0$%7)7*0&,%+0&'*'%.)%+)601)'(0%.0)%.,*)%20+;0(5*)%.,)%70(7'+)8%690%
20+&0**,%,$%7)7*0&,%.)%6'&2+0(.0+0%G5,$0%70(7'+0%7*,%)(;),(.'%)%.,*)%0%)$%6'(*0(5*'%
.0)%.,*)%7*077):
]#
E,%/)-5+,%]:c%&'7*+,%$=,+69)*0**5+,%.)%5(,%?@>%6'(%7)7*0&,%+0&'*'%.)%+)601)'(0%.,*):
?$,-.2'4@C'D'5.%:$/&//-.2'#$'-"2'EBF'%*"'7$7/&62'.&6*/*'#$'.$%&0$*"&'#2/$
1.1.3 Monitoraggio sul world wide web: il Sensor Web
!$%>-1/&4(?-7(4%5(%,22+'66)'%0&0+-0(*0%(0$$Y,&3)*'%.0$%&'()*'+,--)'%3,7,*'%75$$Y)&2)0-'%
.)%+0*)%.)%70(7'+)%690%2'(0%6'&0%'3)0**);'%$,%+)60+6,3)$)*H8%$,%76'20+*,8%$Y,66077)3)$)*H%0%$,%
6'(*+'$$,3)$)*H % .) % ;,+) % .) % *)2) % .) % 70(7'+) % C7)(-'$) % 70(7'+)8 % 70(7'+ % (0*A'+B78 % 7*+5&0(*)8%
+02'7)*'+e%.)%.,*)%.,%70(7'+0D%,**+,;0+7'%)$%?03:%\,*,%$Y0*0+'-0(0)*H%.0)%70(7'+)%C9,+.A,+08%
0;0(*5,$0%7)7*0&,%'20+,*);'8%2+'*'6'$$)%.)%6'&5()6,1)'(0D8%7)%4%+07'%(06077,+)'%5(%-+,(.0%
7/'+1'%,$%/)(0%.)%%7*,(.,+.)11,+0%)$%>-1/&4(?-7:%
E,%2+'60.5+,%.)%7*,(.,+.)11,1)'(0%4%7*,*,%20(7,*,%0%+0,$)11,*,%.,$$YOfJ%CO20(%f0'72,*),$%
J'(7'+*)5&D%6'(%5(Y)()1),*);,%.0('&)(,*,%@0(7'+%?03%M(,3$0&0(*%C@?MD:%<,$0%)()1),*);,%
9,%6'&0%76'2'%$,%.0/)()1)'(0%.)%5(%)(7)0&0%.)%7*,(.,+.%,20+*)%20+%$,%-07*)'(0%0%$=5*)$)11'%.)%
70(7'+)%6'((077)%,$%?03:
]P
>0$%@0(7'+%?03%)%70(7'+)%7'('%6,+,**0+)11,*)%.,$$0%70-50(*)%2+'2+)0*HX%
!
7'('%6'((077)%,$%?03%0.%,66077)3)$)%*+,&)*0%2+'*'6'$$)%7*,(.,+.F%
!
+)2'+*,('%$,%2'7)1)'(0F%
!
&,(*0(-'('%&0&'+)11,*)%.0)%&0*,.,*)F%
!
7'('%)(*0++'-,3)$)%.,%+0&'*'F%
!
C,$65()D%2'77'('%0770+0%6'(*+'$$,*)%.,%+0&'*'%C07:%,**5,*'+)D:%
J'7_ % 6'&0 % ) % 2+'*'6'$$) % 7*,(.,+. % .0$ % A03 % 6'(70(*'(' % $' % 76,&3)' % .) % ;,+) % *)2) % .)%
)(/'+&,1)'(08%$=)()1),*);,%4%/'6,$)11,*,%75%7*,(.,+.%6,2,6)%.)%,3)$)*,+0%$,%76'20+*,8%76,&3)'%
0.%0$,3'+,1)'(0%.)%'770+;,1)'()%.)%70(7'+):
E0%2+)(6)2,$)%/5(1)'(,$)*H%7'('X%
!
@6'20+*,%.)%7)7*0&)%.)%70(7'+)8%'770+;,1)'()%0%2+'6077)%.)%'770+;,1)'(0%690%7'..)7/,('%
$0%+)69)07*0%.)%5(=,22$)6,1)'(0%'%5(%5*0(*0F%
!
\0*0+&)(,1)'(0%.0$$0%6,2,6)*H%.0)%70(7'+)%0%.0$$,%G5,$)*H%.0$$0%&)75+0F%
!
K66077'%,)%2,+,&0*+)%.)%5(%70(7'+0%690%,5*'&,*)6,&0(*0%6'(70(*'('%,$%7'/*A,+0%.)%
2+'6077,+0%0%-0'U$'6,$)11,+0%$0%'770+;,1)'()F%
!
L06520+' % .) % '770+;,1)'() % +0,$U*)&0 % ' % .) % *)2' % *)&0U70+)07 % 0 % 6'(;0+7)'(0 % )( % /'+&,*)%
7*,(.,+.F%
!
J'(*+'$$'%.)%70(7'+)%C*,7B)(-D%20+%,6G5)7)+0%'770+;,1)'()F%
!
@'**'76+)1)'(0 % 0 % 2533$)6,1)'(0 % .) % ,$$,+&) % 690 % .0;'(' % 0770+0 % 0&077) % ., % 70(7'+) % '%
70+;)1)%.)%70(7'+)%75$$,%3,70%.)%60+*)%6+)*0+):%
1.2 iCAAS
!JKK@%C!(*0+'20+,3$0%,(. %1'(/)-5+,3$0 %5+69)*06*5+0%/'+ %566077)(- %B0(7'+%(0*A'+B7D%4%
5(=,+69)*0**5+, % +0,$)11,*, % (0$$=,&3)*' % .0$ % 2+'-0**' % LMNOKN % CL0*) % .) % 70(7'+) % 20+ % )$%
N'()*'+,--)'%.0)%+)769)%KN3)0(*,$)D8%690%(,760%.,$$=07)-0(1,%.)%5(,%,+69)*0**5+,%690%+0(.,%
*+,72,+0(*0%$=0*0+'-0(0)*H%.0$$0%+0*)%.)%70(7'+)8%.,(.'%$,%2'77)3)$)*H%.)%,660.0+0%0%-07*)+0%5(%
7)7*0&,%.)%&)75+,%.)7*+)35)*'8%6'&2'7*'%.,%+0*)%.)%70(7'+)%0*0+'-0(00:
E=,+69)*0**5+,%)JKK@%+)07608%6)'48%,%+,66'-$)0+0%)(/'+&,1)'()%0%,.%)(*0+,-)+0%6'(%)%7)7*0&)%
]V
.)%&)75+,%,%2+076)(.0+0%.,%G5,$0%,22$)6,1)'(0%'%&)..$0A,+0%;0(-,%5*)$)11,*'%$'6,$&0(*0%
20+ % $=)(*0+,1)'(0 % *+, % ) % ;,+) % ('.) % 70(7'+0F % )('$*+08 % -,+,(*)760 % 5( % 0$0;,*' % -+,.' % .)%
)(.)20(.0(1, % ;0+7' % $=5*)$)11' % 0 % $' % 7;)$522' % .0$$0 % ,22$)6,1)'() % 690 % (0 % 7;)$522,(' % $0%
/5(1)'(,$)*H8%70-50(.'%$0%7206)/)690%.0$%@0(7'+%?03%.)%65)%,$%2,+:%]:]:d8%690%+0(.0%)%70(7'+)%
+)60+6,3)$)8%76'2+)3)$)8%,66077)3)$)%0%6'(*+'$$,3)$)%,**+,;0+7'%)$%?'+$.%?).0%?03:
!( % ,--)5(*,8 % )JKK@ % 2'77)0.0 % 6,+,**0+)7*)690 % .) % 6'(/)-5+,3)$)*H8 % G5,$) % $, % .0/)()1)'(0 % .)%
.);0+70%7'-$)0%.)%,$$,+&0%0%$,%6+0,1)'(0 %.)%5*0(*)%6'(%.);0+7)%20+&077)%.)%,66077'8%690%
20+&0**'('%,$$=,+69)*0**5+,%.)%,.,**,+7)%,%760(,+)%,22$)6,*);)%.)//0+0(*):
!(%7)(*07)8%$=,+69)*0**5+,%)JKK@%-,+,(*)760X
!
E=,66077'%0%$,%-07*)'(0%.0$$0%+0*)%.)%70(7'+):
!
E=)(*0+'20+,3)$)*H%7),%*+,%$0%+0*)%.)%70(7'+)%690%*+,%$0%,22$)6,1)'():
!
E,%6'(/)-5+,3)$)*H%.0$$=,6G5)7)1)'(08%.0$$=0$,3'+,1)'(0%0%.0$$,%/+5)1)'(0%.0)%.,*):
!(%/)-5+,%]:d%4%+,22+070(*,*,%$=,+69)*0**5+,%.)%)JKK@8%.)%65)%7)%2,+$0+H%)(%&,--)'+0%.0**,-$)'%
(0)%2+'77)&)%7'**'U2,+,-+,/):
]W
?$,-.2'4@G'D'5.%:$/&//-.2'$155B
1.2.1 Data Access, Sensor networks access e Caching
!$%.,*,%,66077%4%$'%7*+,*'%7'/*A,+0%690%20+&0**0%.)%6'&5()6,+0%6'(%)$%.,*,3,70%.)%)JKK@:%
I507*'%7*+,*'%+,22+070(*,%)$%$);0$$'%3,70%.)%*5**,%$=,+69)*0**5+,8%75%65)%2'--),('%)%+07*,(*)%
&'.5$)8%)(%G5,(*'%20+&0**0%.)%,660.0+0%,%*5**'%)$%6'(*0(5*'%)(/'+&,*);'%(06077,+)'%,)%/)()%.)%
*5**0 % $0 % 2'77)3)$) % 0$,3'+,1)'() % +)69)07*0 % ,$$=,+69)*0**5+,: % !( % 2,+*)6'$,+08 % )$ % 7)7*0&, % .)%
6'(/)-5+,1)'(0 % .0$$0 % +0*) % .) % 70(7'+) % '--0**' % .) % G507*, % *07) % )(*0+,-)760 % 2+'2+)' % 6'( % )$%
.,*,3,70 %)JKK@8%,**+,;0+7'%)$%$);0$$' %\,*, %K660778%)(70+0(.'%(0$$0%*,30$$0 %,.,**0 % .0$$0%
7*+5**5+0%690%,7*+,--'('%)%6'(60**)%69),;0%.)%+0*08%70(7'+)%0%6,+,**0+)7*)690:
!$%70(7'+%(0*A'+B7%,66077%9,%)$%6'&2)*'%.)%7*,3)$)+0%$,%6'&5()6,1)'(0%6'(%$0%+0*):%M77'%
2+0;0.0%.50%*)2'$'-)0%.)%76,&3)'%.)%)(/'+&,1)'()%6'(%$0%+0*)%.)%70(7'+)8%3,7,*0%75%76,&3)'%
.)%&077,--)X
!
&077,--) % .,$$0 % +0*) % ,$ % 7)7*0&,8 % )( % 65) % 7'(' % 2+070(*) % ) % .,*) % +)$0;,*)8 % 690 % ;0(-'('%
]Z
6'&5()6,*)%,$%.,*,%,66077%20+%0770+0%)&&,-,11)(,*)F
&077,--)%.,$%7)7*0&,%,$$0%+0*)8%)(%65)%7'('%2+070(*)%0;0(*5,$)%6'&,(.)%.,%)(;),+0%,$$0%
!
+0*)%20+%70**,+0%)%;,+)%2,+,&0*+)%.)%6'(/)-5+,1)'(0:%
!$ % J,69)(- % 9, % )$ % 6'&2)*' % .) % -07*)+0 % $, % 6,690 % .0$ % 7)7*0&,8 % ';;0+' % $, % 7*+5**5+, % .,*) % 690%
6'(*)0(08%20+%'-()%70(7'+0%0%20+%'-()%2+'2+)0*H%690%5(%70(7'+0%)&2$0&0(*,8%)%;,$'+)%.0$$0%
5$*)&0%+)$0;,1)'():%<,$0%7*+,*'%7'/*A,+0%4%7*,*'%)(*+'.'**'%20+%'**0(0+0%5(%&)-$)'+,&0(*'%
7'7*,(1),$0 % .0$$0 % 2+07*,1)'() % .0$ % 7)7*0&,8 % 2,+*0(.' % .,$ % 2+07522'7*' % C7*,*)7*)6,&0(*0%
-)57*)/)6,*'D%690%$,%&,--)'+%2,+*0%.0$$0%+)69)07*0%,$%7)7*0&,%/,(('%+)/0+)&0(*'%,)%.,*)%.0$$0%
5$*)&0%+)$0;,1)'()F%6'(%G507*'%$);0$$'8%)$%7)7*0&,%+)0760%,%/'+()+0%)%.,*)%,-$)%5*0(*)%70(1,%
.';0+%,(.,+0%,.%)(*0++'-,+0%6'(*)(5,&0(*0%$,%3,70%.)%.,*):%
1.2.2 Filtering
!$%/)$*0+)(-%4%$'%7*+,*'%7'/*A,+0%,**+,;0+7'%)$%G5,$0%)$%7)7*0&, %/'+()760%,-$)%5*0(*)%7'$'%)%
+)75$*,*)%,%65)%7'('%)(*0+077,*)F%-$)%5*0(*)8%)(/,**)8%9,(('%$,%2'77)3)$)*H%.)%7206)/)6,+0X
!
$0%+0*)%0%)%70(7'+)%.)%$'+'%)(*0+0770F
!
2,+,&0*+)%.)%6'(/)-5+,1)'(08%G5,$0%,.%070&2)'%$,%7'-$),%.)%,$$,+&0%20+%'-()%70(7'+0%
.0$$,%+0*0%.)%)(*0+0770F
g,7,(.'7)%75$$0%)(/'+&,1)'()%/'+()*0%.,$$=5*0(*08%)$%$);0$$'%.)%/)$*0+)(-%076$5.0%.,$$,%+)72'7*,%
) % 70(7'+) % 690 % ('( % 7'(' % .) % )(*0+0770 % 0. % 0//0**5, % 6,$6'$) % )( % /5(1)'(0 % .0) % 2,+,&0*+) % .)%
6'(/)-5+,1)'(08%+)5760(.'%,%/'+()+0%$,%+)72'7*,%,.,**,%,.%'-()%+)69)07*,:
1.2.3 Sessioning
!$%$);0$$'%.)%7077)'()(-%4%,$%.)%7'2+,%.0$%b)$*0+)(-8%-07*)760%-$)%,66077)%.0-$)%5*0(*)%0%7)%70+;0%
.0$$0%/5(1)'(,$)*H%.)%/)$*+,--)'%20+%.0*0+&)(,+0%$0%+)72'7*0%.,%.,+0%,)%;,+)%5*0(*)%6'((077)%,$%
7)7*0&,:
I507*'%7*+,*'%7'/*A,+0%+0,$)11,%*5**)%)%&066,()7&)%.)%-07*)'(0%.0-$)%5*0(*)8%690%7)%2'77'('%
7)(*0*)11,+0%)(X
!
-07*)'(0%.0)%.)+)**)%.)%6'((077)'(0X%-,+,(*)760%)$%6'++0**'%+)6'('76)&0(*'%.0-$)%5*0(*)%
c^
0%;)0*,%$=,66077'%,%69)%('(%4%+0-)7*+,*'%,$%7)7*0&,F
!
-07*)'(0%.0-$)%)(*0+077)X%/5(1)'(,$)*H%690%6'(70(*'('%$=,--)5(*,8%$=0$)&)(,1)'(0%0%$,%
&'.)/)6,%.0-$)%)(*0+077)%.0-$)%5*0(*)8%)(%&'.'%.,%/'+()+$)%,$%$);0$$'%.)%/)$*0+)(-F
!$%7)7*0&,%2+0;0.0%.50%*)2'$'-)0%.)%5*0(*)X
#
,&&)()7*+,*'+0X%'$*+0%,.%,;0+0%)%.)+)**)%690%9,(('%*5**)%-$)%5*0(*)%.0$%7)7*0&,8%9,%$,%
2'77)3)$)*H%.)%.0*0+&)(,+0%0%70**,+0%)%2,+,&0*+)%6,+,**0+)7*)6)%.0$$0%+0*)F
#
0(*0X%)%65)%.)+)**)%7'('%5(%7'**')(7)0&0%.0)%.)+)**)%.0$$=,&&)()7*+,*'+0:%f$)%0(*)%,%$'+'%
;'$*, % .0*0+&)(,(' % ) % .)+)**) % .0$ % 20+7'(,$0 % , % 706'(., % .0$$, % ,22$)6,1)'() % 690%
.)7*+)35)76'(':
1.2.4 Heterogeneous system accesses
E'%7*+,*'%7'/*A,+0%h0*0+'-0(0'57%7e7*0&%,6607707%4%.'*,*'%.)%6,+,**0+)7*)690%0%&066,()7&)%
690%20+&0**'('%,.%5(%G5,$7),7)%7'/*A,+0%07*0+('%0*0+'-0(0'%.)%7/+5**,+0%$0%/5(1)'(,$)*H%
.0$$=,+69)*0**5+,:%@'('%7*,*)%)(.);).5,*)%.50%&'.0$$)%.)%+)7'$51)'(0%.0$%2+'3$0&,X%
$
&'.0$$'%LOK%CL07'5+60%O+)0(*0.%K+69)*06*5+0DX%%5('%7*+,*'%7'/*A,+0%690%072'+*,%)%
.,*)%.0$$=,+69)*0**5+,%6'&0%+)7'+70F
$
&'.0$$'%@OK%C@0+;)60%O+)0(*0.%K+69)*06*5+0DX%5('%7*+,*'%690%&0**0%,%.)72'7)1)'(0%
.0)%70+;)1)F
\)%70-5)*'%7)%.076+);'('%)(%&,--)'+0%.0**,-$)':
9*#&))*'HI5
M72'+*,+0%$0%/5(1)'(,$)*H%.0$$=,+69)*0**5+,%6'&0%+)7'+70%7)-()/)6,%072+)&0+$0%6'&0%+)7'+70%
,66077)3)$)%*+,&)*0%)$%?03:%!$%?03%7)%3,7,%75%h<<`8%5(%2+'*'6'$$'%690%'//+0%.0)%&0*'.)%.)%
3,70%690%20+&0**'('%.)%$,;'+,+0%75$$0%+)7'+70:%Q7,+0%)$%&'.0$$'%LOK%7)-()/)6,%5*)$)11,+0%)$%
2+'*'6'$$'%h<<`%6'&0%&011'%20+%,660.0+0%,$$0%+)7'+708%G5)(.)%6'&0%&011'%20+%,660.0+0%
,)%.,*)%.0$$=,+69)*0**5+,:%E=,66077'%,.%5(,%+)7'+7,%,;;)0(0%*+,&)*0%5(%+)/0+)&0(*'%.0**'%QL!%
CQ()/'+&%L07'5+60%!.0(*)/)0+D:
c]
!$%7)7*0&,%,.'**,%)$%2,+,.)-&,%LM@<8%690%7*,%20+%LM2+070(*,*)'(,$%@*,*0%<+,(7/0+:%LM@<%7)%
+)/0+)760%,.%5(=)(7)0&0%.)%2+)(6)2)%.)%,+69)*0**5+0%.)%+0*08%690%.0$)(0,('%6'&0%$0%+)7'+70%
7'('%.0/)()*0%0%)(.)+)11,*0F%077'%-'.0%.)%5(=)(*0+/,66),%7*,(.,+.%2+'2+)'%20+69a%7)%3,7,%75%
5(%5()6'%2+'*'6'$$'8%h<<`8%0%G507*'%-$)%.,%5(,%6'&2,*)3)$)*H%,77'$5*,%(0$%&'(.'%.0$%A03:%
LM@< % 2+0;0.0 % 690 % $, % 76,$,3)$)*H % .0$ % ?03 % 0 % $, % 6+076)*, % 7),(' % .)+0**) % +)75$*,*) % .) % 2'69)%
2+)(6)2)%69),;0%.)%2+'-0**,1)'(0X%
%
%E'%7*,*'%.0$$=,22$)6,1)'(0%0%$0%/5(1)'(,$)*H%7'('%.);)7)%)(%L)7'+70%?MgF
%
O-()%+)7'+7,%4%5()6,%0%)(.)+)11,3)$0%57,(.'%7)(*,77)%5();0+7,$0%20+%57'%(0)%$)(B%
)20+*07*5,$)F
%
<5**0%$0%+)7'+70%7'('%6'(.);)70%6'&0%)(*0+/,66),%5()/'+&0%20+%)$%*+,7/0+)&0(*'%.)%7*,*'%*+,%
6$)0(*%0%+)7'+708%G507*'%6'(7)7*0%)(X%
"
5(=)(7)0&0%;)(6'$,*'%.)%'20+,1)'()%30(%.0/)()*0F
"
5(=)(7)0&0%;)(6'$,*'%.)%6'(*0(5*)8%'21)'(,$&0(*0%7522'+*,*'%.,%6'.)60%'(%.0&,(.F
"
5(%2+'*'6'$$'%690%4X%
!
J$)0(*U@0+;0+
!
@*,*0$077
!
J,69,3$0%
!
K%$);0$$)
9*#&))*'BI5
J'(%@0+;)60UO+)0(*0.%K+69)*06*5+0%C@OKD8%7)%)(.)6,%5(=,+69)*0**5+,%7'/*A,+0%690%7522'+*,%
$=5*)$)11'%.)%70+;)1)8%,$%/)(0%.)%-,+,(*)+0%$=)(*0+'20+,3)$)*H%*+,%.);0+7)%7)7*0&):%E=5*)$)11'%.0$$0%
7)(-'$0%,22$)6,1)'()%,;;)0(0%6'&0%70+;)1)%.0$%2+'6077'%.)%357)(077:
Q(%70+;)1)'%25R%0770+0%.0/)()*'%6'&0%5(,%/5(1)'(,$)*H%.)%357)(0778%+0,$)11,*,%*+,&)*0%5(%
6'&2'(0(*0%690%+)720**,%5(=)(*0+/,66),%@OK:
@OK%4%6'7*)*5)*'%.,%2+)(6)2)%,+69)*0**5+,$)%)(.)20(.0(*)%.,%G5,$7),7)%*06('$'-),%0%.0/)()760%
5(, % 70+)0 %.)% 2+'2+)0*H % 690% )%70+;)1) % .0;'('%7'..)7/,+0 %20+% 0770+0 %+0,$&0(*0 % +)57,3)$) % 0%
/,6)$&0(*0%)(*0-+,3)$)%)(%,&3)0(*0%0*0+'-0(0'X%
&
!%@0+;)1)%.0;'('%0770+0%,5*'U6'(*0(5*)%0%&'.5$,+)F%
&
!%@0+;)1)%.0;'('%0770+0%+)60+6,3)$)%0%+06520+,3)$)%.)(,&)6,&0(*0F
&
!%@0+;)1)%.0;'('%.0/)()+0%)(*0+/,660%072$)6)*0%0%)(.)20(.0(*)%.,$$=)&2$0&0(*,1)'(0F
cc
&
!%@0+;)1)%.0;'('%0770+0%.03'$&0(*0%,66'22),*)%C$''70$e%6'52$0.DF
&
! % @0+;)1) % .0;'(' % ,;0+0 % 5(=)(*0+/,66), % .)7*+)35)*, % 0% .0;'(' % 0770+0 %,66077)3)$) % )(%
&,()0+,%*+,72,+0(*0%+)720**'%,$$,%$'+'%,$$'6,1)'(0:
Q( % 70+;)1)' % .0;0 % G5)(.) % ,;0+0 % 5(=)(*0+/,66), % 2533$)6,3)$0 % 75$$, % +0*08 % +)60+6,3)$0 % 0%
)(;'6,3)$0%)(%&,()0+,%)(.)20(.0(*0%.,$%$)(-5,--)'%0%.,$$,%2),**,/'+&,:%
E,%2),**,/'+&,%)JKK@%5*)$)11,%)%?03%70+;)60%6'&0%7'$51)'(0%@OKF%077)%+,22+070(*,('%5(,%
.0$$0%)&2$0&0(*,1)'()%2)[%)&2'+*,(*)%0%2'2'$,+)%.)%@OK%0%6'7*)*5)76'('%5(,%*06('$'-),%690%
25R % 0770+0 % )&2$0&0(*,*, % 75 % G5,$7),7) % 2),**,/'+&, % 5*)$)11,(.' % G5,$7),7) % $)(-5,--)' % .)%
2+'-+,&&,1)'(0:%`0+%$'%76,&3)'%.0)%70+;)1)%;)0(0%5*)$)11,*'%)$%$)(-5,--)'%iNE8%690%4%$,%
69),;0%.0$$,%*06('$'-),%?03%@0+;)608%0.%4%5(%/'+&,*'%7*,(.,+.%.0)%&077,--)%76,&3),*)%*+,%)%
70+;)1): % !$ % /+,&0A'+B % 57,*' % 20+ % )&2,6690**,+0 % 0 % *+,7&0**0+0 % &077,--) % iNE % 4 % @OK`%
C@)&2$0%O3j06*%K66077%`+'*'6'$D:%E=5*)$)11'%.)%G507*,%*06('$'-),%9,%+07'%$0%/5(1)'(,$)*H%
.0$$=,+69)*0**5+,%+,--)5(-)3)$)8%,66077)3)$)%0%$_%.';0%2'77)3)$08%6'(*+'$$,3)$)%*+,&)*0%)$%?'+$.%
?).0%?03:%
1.2.5 Base di dati di iCAAS: il modello E-R
\)%70-5)*'%4%.0/)()*'%$'%7690&,%0(*)*HU+0$,1)'()%.0$$,%3,70%.)%.,*)%6'(%5(,%.076+)1)'(0%.0)%
6'(60**)%69),;0%690%6,+,**0+)11,('%$=0$,3'+,1)'(0:
H&/$J'7&"7*.$'&'6$7-.&'
EY,+69)*0**5+, % 25R8 % )( % -0(0+,$08 % )(*0+,-)+0 % 6'( % +0*) % .) % 70(7'+) % 0*0+'-0(008 % &, % 4 % 7*,*,%
&'.0$$,*, %20+%5(%2+0;,$0(*0 %57'%.)%+0*) %.)%70(7'+)%A)+0$077F%'-()%+0*0%.)%G507*'%*)2' % 4%
6'&2'7*,%.,%2)[%('.)%70(7'+)%0%.,%5(%('.'%7)(B%.';0%20+;0(-'('%)%.,*)%6,&2)'(,*)%C6'&0%
72)0-,*'%(0$%2,+,-+,/'%]:]:cD:
O-()%70(7'+0%25R%)&2$0&0(*,+0%2)[%2+'2+)0*H%,%706'(.,%.0$$0%750%6,+,**0+)7*)690%6)+65)*,$)%
0.%4%)(.);).5,*'%.,%5(%).U&'*0%690%$'%.)7*)(-50%)(%&,()0+,%5();'6,%.,-$)%,$*+)%70(7'+)%
,$$Y)(*0+(' % .0$$, % 7*077, % +0*0F % '-() % 70(7'+0 % 0//0**5, % .0$$0 % &)75+0 % 20+ % '-() % 2+'2+)0*H % 690%
)&2$0&0(*,8 % 0. % )(;), % *,$) % )(/'+&,1)'() % ,$ % ('.'% 7)(B: % !$% 7)(B % +,66'-$)0 % $0 % )(/'+&,1)'()%
2+';0()0(*)%.,)%('.)%70(7'+08%)(/'+&,1)'()%690%7,+,(('%G5)(.)%6,+,**0+)11,*0%.,%5(%).U&'*08%
.,$$,%-+,(.011,%690%4%7*,*,%&)75+,*,8%.,$%;,$'+0%6,&2)'(,*'%0%.,$$Y)7*,(*0%.)%*0&2'%)(%65)%4%
7*,*'%/,**'%)$%6,&2)'(,&0(*':
cd
K)$'-/&"/$
`'77'('%,660.0+0%,$$Y,+69)*0**5+,%*+0%*)2)%.)%5*0(*)8%';;0+'%$Y,&&)()7*+,*'+08%-$)%0(*)%C5*0(*)%
2+);)$0-),*)D%0.%)$%20+7'(,$0%.0-$)%0(*)%7*077)%C5*0(*)%('(%2+);)$0-),*)D:%@'('%7*077'%-$)%0(*)%,%
.0*0+&)(,+0%6'(%$,%.)7*+)351)'(0%.0)%*0+&)(,$)%0%.0$$0%,22$)6,1)'()%20+%)$%&'()*'+,--)'8%
G5,$) % .)+)**) % 9,((' % ) % 2+'2+) % ,..0**) % ,) % $,;'+): % `0+ % $Y,+69)*0**5+, % 07)7*0 % G5)(.) % 5(%
,&&)()7*+,*'+0%690%0//0**5,%'20+,1)'()%.)%)(7*,$$,1)'(08%0%-$)%0(*)%690%0//0**5,('%'20+,1)'()%
.)%6'(/)-5+,1)'(0%0%.)%&'()*'+,--)':%EY,5*0(*)6,1)'(0%,;;)0(0%*+,&)*0%5('%570+(,&0%0.%
5(,%2,77A'+.:
!'6&/2#2/$'&',)$'$"/&.&77$'
f$) % 0(*) % 0 % $Y,&&)()7*+,*'+0 % 2'77'(' % 6'(/)-5+,+0 % .0) % &0*,.,*) % Q( % &0*,.,*' % 25R % 0770+0%
.0/)()*'%'%75%5(%70(7'+0%)(%-0(0+,$0%'%75%2+'2+)0*H:%EY,&&)()7*+,*'+0%2+';;0.0%,%.0/)()+0%
5(%0$0(6'%.)%&0*,.,*)%690%-$)%5*0(*)%2'77'('%20+7'(,$)11,+0X%$,%20+7'(,$)11,1)'(0%.)%5(%
&0*,.,*'8 % ';;0+' % $Y)(.)6,1)'(0 % .) % G5,$0 % 70(7'+0 % ' % 2+'2+)0*H % 6'(6+0*, % /, % +)/0+)&0(*' % 0%
$Y)(70+)&0(*'%.0$%;,$'+0%.)%&0*,.,*'8%.0*0+&)(,%5(%2,+*)6'$,+0%)(*0+0770%.,%2,+*0%.)%5(%
5*0(*0:%O-()%)(*0+0770%)(/$5)760%)(%&,()0+,%.0*0+&)(,(*0%75$$Y0;'$;0+7)%.0$$Y0$,3'+,1)'(0:%
K.-33$'&'.&L-$7$/$
EY,&&)()7*+,*'+0 % .0/)()760 % ) % -+522) % .) % 70(7'+) % 690 % 6,+,**0+)11,(' % $Y0$,3'+,1)'(0F % '-()%
-+522'%9,%5(%('&0%0.%5(%).0(*)/)6,*);'%0.%4%.0/)()*'%.,%5(%)(7)0&0%.)%+0G5)7)*):%O-()%
+0G5)7)*'%.0;0%0770+0%072+077'%.,%5(,%6'(.)1)'(0%.,%;0+)/)6,+0%75%5(%70(7'+0%'%75%5(,%
2+'2+)0*H%0%.,%5(%0;0(*5,$0%;,$'+0%.)%+)76'(*+'%20+%$,%6'(.)1)'(0%.,%;0+)/)6,+0:%
!$%&'.0$$'%0(*)*HU+0$,1)'()%.0$$=,+69)*0**5+,%4%G5)(.)X%
c"
?$,-.2'4@M'D'9*#&))*'(AH'#$'$155B
\)%70-5)*'%7)%+)2'+*,%)(%&,()0+,%.0**,-$),*,%$,%.076+)1)'(0%.0$$,%/)-5+,%]:"X%
'
F&/'
K7*+,0 % )$ % 6'(60**' % .) % +0*0 % .) % 70(7'+)F % $=,**+)35*' % 69),;0 % ).(0* % 20+&0**0 % .) % ).0(*)/)6,+0%
5();'6,&0(*0%5(,%+0*08%&0(*+0%$,30$%4%5(=0*)690**,%*07*5,$0%6'(*0(0(*0%)$%('&0%.0$$,%+0*0:%
'
B&"7*.%
K7*+,0%)$%6'(60**'%.)%('.'%70(7'+0F%,(690%G5)%7)%*+';,%5(%).70(7'+%6'&0%69),;0%2+)&,+),%0%
c#
$=).&'*0%.076+)**'%2+060.0(*0&0(*0:%M=%7*,*,%2+0;)7*,%5(,%$,30$%690%6'(*)0(0%)$%('&0%.0$%
70(7'+0:%
'
N.*3&./>%
K7*+,0%)$%6'(60**'%.)%2+'2+)0*H%690%5(%70(7'+0%25R%)&2$0&0(*,+0F%('(%.0/)()760%G5)(.)%5(,%
2,+*)6'$,+0%)7*,(1,%.)%5(=)&2$0&0(*,1)'(0 %.)%5(,%6,+,**0+)7*)6, %.)%5(%70(7'+0:%K(690%)(%
G507*'%6,7'%7)%*+';,%5(%).2+'20+*e%6'&0%69),;0%2+)&,+),%0.%5(%('&0%6'&0%0*)690**,%C,.%07:%
S<0&20+,*5+,TDF%
'
9&/2#2/2'
K7*+,0 % )$ % 6'(60**' % .) % &0*,.,*'8 % 6'( % $' % 7*077' % 7)-()/)6,*' % .0$$0 % 2+'2+)0*H8 % ';;0+' % ('(%
+,22+070(*,%5(,%2,+*)6'$,+0%)7*,(1,%.)%5(%&0*,.,*'%.0/)()*'%.,%5(%5*0(*0%&,%.076+);0%5(%
&0*,.,*'%20+%$0%750%6,+,**0+)7*)690:%@)%*+';,%5(%).&0*,.,*,%690%20+&0**0%.)%).0(*)/)6,+0%
5();'6,&0(*0%5(%&0*,.,*'%0.%5(,%$,30$%690%+,22+070(*,%)$%('&0%.0$%&0*,.,*':%
'
O7&.'
K7*+,0%)$%6'(60**'%.)%5*0(*0F%'$*+0%,$$,%69),;0%2+)&,+),%).570+%690%20+&0**0%.)%).0(*)/)6,+0%
5();'6,&0(*0%5(%5*0(*08%7)%*+';,%$,%2,77A'+.%0%$'%570+(,&0%.076+)**)%2+060.0(*0&0(*0:%E,%
-0(0+,$)11,1)'(0%)(.)6,%)%*)2)%.)%5*0(*)%C,&&)()7*+,*'+0%'%'+-,()11,1)'(0D:%
'
K.*-3%
K7*+,0%)$%6'(60**'%.)%-+522'F%).-+'52%4%$,%69),;0%2+)&,+),%0%$,%$,30$%20+&0**0%.)%.,+0%5(%
('&0%,$%-+522':%
'
H&L-$.&6&"/'
K7*+,0%)$%6'(60**'%.)%+0G5)7)*'F%7)%('*,%5(,%6'22),%.)%,**+)35*)%&0*9'.%0%,+-5&0(*78%690%
+,22+070(*,%$,%69),;0%2+)&,+),%0%690%20+&0**0%.)%.)7*)(-50+0%5();'6,&0(*0%5(%+0G5)7)*'%.,%
5(%,$*+'X%&0*9'.%+,22+070(*,%$,%6'(.)1)'(08%&0(*+0%,+-5&0(*7%+,22+070(*,%)$%;,$'+0%.0$$,%
6'(.)1)'(0%C,.%070&2)'%2'*+0330%0770+6)%5(%+0G5)7)*'%$,%65)%6'(.)1)'(0%4%S,22,+*)0(0%,$$,%
cP
+0*0T%0%)$%65)%,+-'&0(*'%4%S+0*0%#TD:%
&
1*63*7$/$*"'P/.2'B&"7*.'&'F&/Q'
!(.)6, % , % G5,$0 % +0*0 % ,22,+*)0(0 % 5( % 70(7'+0F % 7) % 25R % '770+;,+0 % 690 % 5( % 70(7'+0 % .0;0%
,22,+*0(0+0%(06077,+),&0(*0%,.%5(,%0.%5(,%7'$,%+0*0%C6,+.)(,$)*H%&)()&,%0%&,77)&,%5-5,$0%
,.%5('%20+%)$%$,*'%@0(7'+D8%&0(*+0%)(%5(,%+0*0%2'77),&'%*+';,+0%.,%^%,%(%70(7'+):%
&
!63)&6&"/2/$*"%
K77'6),%,.%5(%70(7'+0%5(,%-0(0+)6,%2+'2+)0*H%)(.)6,(.'%,225(*'%G5,$)%7'('%$0%2+'2+)0*H%
690 % )$ % 70(7'+0 % )&2$0&0(*, % C,. % 07:X % S)$ % 70(7'+0 % " % k % l075;)' % ('+.T % )&2$0&0(*, % $,%
S<0&20+,*5+,TD:%
&
;2/2'
L,22+070(*,%$0%+)$0;,1)'()%0//0**5,*0%.,)%70(7'+)8%G5)(.)%)%.,*)%690%G507*)%+)$0;,(':%I5)(.)%
20+%'-()%2+'2+)0*H%)&2$0&0(*,*,%.,%5(%70(7'+0%7)%2'77'('%,;0+0%.,%^%,%>%+)$0;,1)'()8%690%
7'('%6,+,**0+)11,*0%.,%5(%;,$'+08%,**+)35*'%;,$508%0%.,%5(%)7*,(*0%.)%*0&2'8%,**+)35*'%*)&0:%
&
;&+$"$/$*"'P/.2'9&/2#2#2'&'N.*3&./>Q%
K77'6),%5(%&0*,.,*'%,.%5(,%2+'2+)0*H%)(.)6,(.'%,225(*'%,%G5,$0%2+'2+)0*H%)$%&0*,.,*'%7)%
+)/0+)760F%70%$=,77'6),1)'(0%&,(6,%7)-()/)6,%690%)$%&0*,.,*'%)(%G507*)'(0%4%.0/)()*'%75%5(%
70(7'+0:%
&
!"/&.&7/'
!(.)6,%5(%)(*0+0770%.)%5(%5*0(*08%';;0+'%+,22+070(*,%$=)7*,(1,%.)%5(,%20+7'(,$)11,1)'(0%.)%
5(%&0*,.,*'%.,%2,+*0%.)%5(%5*0(*0:%E=,**+)35*'%,+-5&0(*7%)(/,**)%)(.)6,%G5,$%4%)$%;,$'+0%690%
$=5*0(*0%9,%.0/)()*'%20+%)$%2,+*)6'$,+0%&0*,.,*'F%$,%+0$,1)'(0%,77'6),%,(690%5(%70(7'+0%)(%
G5,(*'%$=5*0(*0%(0$%&'&0(*'%)(%65)%.0/)()760%5(%)(*0+0770%.0;0%(06077,+),&0(*0%)(.)6,+0%75%
G5,$0%70(7'+0%.0/)()760%)$%&0*,.,*':%
cV
&
;&+$"$/$*"'P/.2'H&L-$.&6&"/'&'9&/2#2/2Q'
K77'6),%5(%+0G5)7)*'%,.%5(,%2+'2+)0*H%)(.)6,(.'%,225(*'%,%G5,$0%2+'2+)0*H%)$%+0G5)7)*'%7)%
+)/0+)760F%70%$=,77'6),1)'(0%&,(6,%7)-()/)6,%690%)$%+0G5)7)*'%)(%G507*)'(0%4%.0/)()*'%75%5(%
70(7'+0:%
&
1*63*7$/$*"'P/.2'K.*-3'&'H&L-$.&6&"/Q'
!(.)6,%,%G5,$0%-+522'%/,%+)/0+)&0(*'%5(%+0G5)7)*'F%7)%'770+;)%690%(0$%&'&0(*'%)(%65)%7)%
.0/)()760 % 5( % +0G5)7)*' % .0;0 % 0770+0 % (06077,+),&0(*0 % 7206)/)6,*' % )$ % -+522' % , % 65) % /,%
+)/0+)&0(*'%C6,+.)(,$)*H%&)()&,%5-5,$0%,.%]%.,$%$,*'%L0G5)+0&0(*D:%
J'&0%4%/,6)$&0(*0%)(.);).5,3)$0%.,$$'%7690&,%.0$%&'.0$$'%MUL8%,$65(0%.0$$0%0(*)*H%0%.0$$0%
+0$,1)'()%7'2+,0$0(6,*0%70+;'('%,%*0(0+0%*+,66),%.0)%.,*)%2+';0()0(*)%.,)%70(7'+)8%.0)%.,*)%
+0$,*);)%,-$)%5*0(*)%690%,660.'('%,$$,%2),**,/'+&,8%6'(%)%2+'2+)%)(*0+077)%0%)&2'7*,1)'()%.0$$0%
7'-$)0 % .) % ,$$,+&08 % &0(*+0 % ,$*+0 % 9,((' % /5(1)'(0 % .) % 6'(/)-5+,1)'(08 % 70+;'(' % 6)'4 % ,.%
S)7*+5)+0T%)$%7)7*0&,%+)720**'%,$$,%6'&2'7)1)'(0%.0$$0%+0*)8%20+&0**0(.'-$)%.)%*0(0+0%*+,66),%
.0)%70(7'+)%,22,+*0(0(*) %,$$,%+0*0%0%.0$$0%2+'2+)0*H%690%)&2$0&0(*,(': %M.%4%2+'2+)'% 75%
G507*,%2,+*0%.0$$,%7*+5**5+,%.)%)JKK@%690%;,%,.%)(*0+;0()+0%$'%7*+5&0(*'%.)%6'(/)-5+,1)'(0%
.0$$0%+0*)%.)%70(7'+)%70(1,%/)$'%'--0**'%.0$$,%*07):
cW
123$/*)*'C
Progettazione strumento di configurazione remota dei sensori
senza filo
E'%7*+5&0(*'%.)%6'(/)-5+,1)'(0%20+%$0%+0*)%.)%70(7'+)%70(1,%/)$'8%.)%70-5)*'%)(.)6,*'%6'(%
$=,6+'()&' % ?@>J< % C?)+0$077 % @0(7'+ % >0*A'+B7 % J'(/)-5+,*)'( % <''$D8 % (,760 % 6'&0%
,22$)6,1)'(0%20+%$=%S)(7*,$$,1)'(0%$'-)6,T%.)%+0*)%.)%70(7'+)%(0$$,%2),**,/'+&,%)JKK@:
J'&2$0*,*0 % $0 % /,7) % .) % )(7*,$$,1)'(0 % /)7)6, % .0$$, % +0*0 % .) % 70(7'+) % C,$$'6,1)'(0 % /)7)6, % .0)%
.)72'7)*);)%(0)%25(*)%.07).0+,*)D8%.)%70*52%.0$$=,22$)6,1)'(0%20+%+)72'(.0+0%,$$0%07)-0(10%.0$%
2+'3$0&,%)(%G507*)'(08%0%.)%&077,%,%25(*'%.0$%&)..$0A,+0%7206)/)6'%75)%('.)%70(7'+)%0%75$%
('.'%7)(B8%$,%+0*0%4%*0'+)6,&0(*0%2+'(*,%20+%6,&2)'(,+0%)%.,*)%0%7566077);,&0(*0%)(;),+$)%
,$$=,+69)*0**5+,%)JKK@:%!$%7)7*0&,8%20+%2'*0+%6,2)+0%69)%7*,%)(;),(.'%.,*)%0%7'2+,**5**'%6'7,%
7*, % )(;),(.'8 % 9, % 3)7'-(' % .) % 0770+0 % 6'(/)-5+,*' % *+,&)*0 % $=)(70+)&0(*' % (0$ % .,*,3,708%
,**+,;0+7'%)$%$);0$$'%\,*,%K660778%.0$$0%7*+5**5+0%690%,7*+,--'('%)%6'(60**)%69),;0%.)%+0*08%
70(7'+)%0%6,+,**0+)7*)690:%K**5,$&0(*0%$=)(7*,$$,1)'(0%$'-)6,%.0$$0%+0*)%.)%70(7'+)%)(%)JKK@%
,;;)0(0%*+,&)*0%5(%2+'6077'%&,(5,$0%.)%)(70+)&0(*'%75$%.,*,3,70:
E' % 7*+5&0(*' % 7) % 2'(0 % 6'&0 % '3)0**);' % )$ % &)-$)'+,&0(*' % .) % G507*' % 2+'6077'8 % /'+(0(.'%
5(=)(*0+/,66), % A03 % 690 % .), % $, % 2'77)3)$)*H % ,$$='20+,*'+0 % .) % )(7*,$$,+0 % 5(, % +0*0 % .) % 70(7'+)%
&0.),(*0 % 7*+5&0(*) % )(*5)*);) % S25(*, % 0 % 6$)66,T: % @,+H % 2') % )$ % 7)7*0&, % ,5*'&,*)6' % ,.%
)(*0+/,66),+7)%6'(%)$%$);0$$'%\,*,%K66077%.)%)JKK@%0%6'(/)-5+,+0%G507*=5$*)&':%!$%7)7*0&,%
2+0;0.0+H8 % )('$*+08 % ,(690 % 5(, % /5(1)'(,$)*H % .) % )&2'+*,1)'(0 % .0$$0 % 6'(/)-5+,1)'() % 2+0U
07)7*0(*)8%690%20+&0**0+,(('%,$$=)(*0+/,66),%A03%.)%?@>J<%.)%&'7*+,+0%*5**0%$0%+0*)%-)H%
)(7*,$$,*0:
>0$%70-50(*0%6,2)*'$'%7)%.076+);0%$,%/,70%.)%2+'-0**,1)'(0%.0$%7)7*0&,%?@>J<%C?)+0$077%
@0(7'+%%>0*A'+B7%J'(/)-5+,*)'(%<''$D:%!$%2+)&'%2,+,-+,/'%2+070(*,%$=,(,$)7)%.0)%+0G5)7)*)8%
(0)%2,+,-+,/)%7566077);)%7)%,(,$)11,('%$0%760$*0%,+69)*0**5+,$)%,.'**,*0%(0$$,%/,70%2+'-0**5,$0%
.0$%7)7*0&,%0%;)0(0%2+070(*,*'8%)(%5$*)&,%,(,$)7)8%)$%2+'-0**'%.)%.0**,-$)':
cZ
2.1 Analisi dei requisiti
!%+0G5)7)*)%7'('%$,%.076+)1)'(0%.0)%70+;)1)%/'+()*)%.,$%7)7*0&,%0%.0)%75')%;)(6'$)%'20+,*);):%
@6'2'% .0$$=,(,$)7)%.0)%+0G5)7)*)%4%$Y)(.);).5,1)'(0%.) %%*72 ')$%7)7*0&,%.033, %+0,$)11,+0%)(%
3,70 % ,$$0 % 7206)/)690 % .) % 2+'-0**'8 % 70(1, % 3,.,+0 % , %%*6& ')$ % 7)(-'$' % +0G5)7)*' % ;0++H%
0//0**);,&0(*0%+0,$)11,*':%>0)%7566077);)%7'**'2,+,-+,/)%;0++,(('%,(,$)11,*)%)%+0G5)7)*)8%7),%
/5(1)'(,$)%690%('(%/5(1)'(,$):
2.1.1 Requisiti funzionali
!%+0G5)7)*)%/5(1)'(,$)%.076+);'('%6'7,%/,%)$%7)7*0&,%0%G5,$)%70+;)1)%/'+()760:
1*"+$,-.20$*"&'.&/&
!$%7)7*0&,%.0;0%/'+()+0%/5(1)'(,$)*H%20+%$,%6'(/)-5+,1)'(0%.)%5(,%+0*0:%!(%2,+*)6'$,+08%.0;0%
0770+0%2'77)3)$0X
$
,--)5(-0+0%5(,%'%2)[%+0*)F
$
+)&5';0+0%5(,%'%2)[%+0*)F
$
&'.)/)6,+0%5(,%'%2)[%+0*)F
!$%.),-+,&&,%.0)%6,7)%.=57'%20+%$,%6'(/)-5+,1)'(0%.)%5(,%+0*0%4%)$$57*+,*'%)(%/)-5+,%c:]
?$,-.2'C@4'D'';$2,.2662'#&$'%27$'#R-7*'3&.')2'%*"+$,-.20$*"&'#$'-"2'.&/&
d^
1*"+$,-.20$*"&'7&"7*.&
!$%7)7*0&,%.0;0%/'+()+0%/5(1)'(,$)*H%20+%$,%6'(/)-5+,1)'(0%.)%5(%70(7'+0:%!(%2,+*)6'$,+08%
.0;0%0770+0%2'77)3)$0X
$
,--)5(-0+0%5(%70(7'+0F
$
+)&5';0+0%5(%70(7'+0F
$
6'$$0-,+0%5(%70(7'+0%,.%5(,%+0*0F
$
+)&5';0+0%5(%6'$$0-,&0(*'%*+,%70(7'+0%0%+0*0F
!$%.),-+,&&,%.0)%6,7)%.=57'%20+%$,%6'(/)-5+,1)'(0%.)%5(%70(7'+0%4%)$$57*+,*'%)(%/)-5+,%c:c
?$,-.2'C@C'D';$2,.2662'#&$'%27$'#R-7*'3&.')2'%*"+$,-.20$*"&'#$'-"'7&"7*.&
1*"+$,-.20$*"&'62332
!$%7)7*0&,%.0;0%/'+()+0%/5(1)'(,$)*H%20+%$,%6'(/)-5+,1)'(0%.)%5(,%&,22,:%!(%2,+*)6'$,+08%
.0;0%0770+0%2'77)3)$0X
$
,--)5(-0+0%5(,%&,22,F
$
+)&5';0+0%5(,%&,22,F
$
,77'6),+0%5(,%&,22,%,.%5(,%+0*0F
$
;)75,$)11,+0%5(,%&,22,F
d]
$
2'7)1)'(,+0%5(%70(7'+0%75%5(,%&,22,F
!$%.),-+,&&,%.0)%6,7)%.=57'%20+%$,%6'(/)-5+,1)'(0%.)%5(,%&,22,%4%)$$57*+,*'%)(%/)-5+,%c:d
?$,-.2'C@G'D';$2,.2662'#&$'%27$'#R-7*'3&.')2'%*"+$,-.20$*"&'#$'-"2'62332
1*"+$,-.20$*"&'3.*3.$&/S
!$%7)7*0&,%.0;0%/'+()+0%/5(1)'(,$)*H%20+%$,%6'(/)-5+,1)'(0%.)%5(,%&,22,:%!(%2,+*)6'$,+08%
.0;0%0770+0%2'77)3)$0X
$
,--)5(-0+0%5(,%2+'2+)0*HF
$
&'.)/)6,+0%5(,%2+'2+)0*HF
$
0$)&)(,+0%5(,%2+'2+)0*HF
$
,77'6),+0%5(,%2+'2+)0*H%,.%5(%70(7'+0F
$
+)&5';0+0%$=,77'6),1)'(0%*+,%5(,%2+'2+)0*H%0%5(%70(7'+0F
!$%.),-+,&&,%.0)%6,7)%.=57'%20+%$,%6'(/)-5+,1)'(0%.)%5(,%2+'2+)0*H%4%)$$57*+,*'%)(%/)-5+,%c:"
dc
?$,-.2'C@M'D';$2,.2662'#&$'%27$'#R-7*'3&.')2'%*"+$,-.20$*"&'#$'-"2'3.*3.$&/S
!63*./20$*"&'&'T$7-2)$0020$*"&'#$'%*"+$,-.20$*"$',$S'&7$7/&"/$'$"'$155B
!$%7)7*0&,%.0;0%/'+()+0%/5(1)'(,$)*H%20+%$=)&2'+*,1)'(0%.0$$0%6'(/)-5+,1)'()%-)H%2+070(*)%)(%
)JKK@:%!(%2,+*)6'$,+08%.0;0%0770+0%2'77)3)$0X
$
6,+)6,+0%0%;)75,$)11,+0%*5**0%$0%+0*)%2+0U07)7*0(*)%75$%7)7*0&,F
$
6,+)6,+0%0%;)75,$)11,+0%*5**)%)%70(7'+)%2+0U07)7*0(*)%75$%7)7*0&,F
$
6,+)6,+0%0%;)75,$)11,+0%*5**0%$0%2+'2+)0*H%2+0U07)7*0(*)%75$%7)7*0&,F
$
6,+)6,+0 % 0 % ;)75,$)11,+0 % *5**0 % $0 % ,77'6),1)'() % 2+'2+)0*HU70(7'+0 % 2+0U07)7*0(*) % 75$%
7)7*0&,F
$
6,+)6,+0%0%;)75,$)11,+0%*5**0%$0%&,220%2+0U07)7*0(*)%75$%7)7*0&,F
$
6,+)6,+0%0%;)75,$)11,+0%5(,%+0*0%2+0U07)7*0(*08%6'&2$0*,%.)%&,22,%0%70(7'+)%,77'6),*)%
6'(%$0%+0$,*);0%2+'2+)0*HF
2.1.2 Requisiti non funzionali
!%+0G5)7)*) %('(%/5(1)'(,$)%)(.);).5,('%.0$$0%2+'2+)0*H %690%$=)(*0+'%7)7*0&, %.0;0%,;0+0%0%
.0/)()76'('%.0)%;)(6'$)%)&2'7*)%20+%$,%+0,$)11,1)'(0%.0$%7)7*0&,:
dd
N&.7$7/&"02'#&$'#2/$'&'$"/&.20$*"&'%*"'$155B
!$ % 7)7*0&, % .0;0 % 0770+0 % )( % -+,.' % .) % 6'(70+;,+0 % *5**0 % $0 % 6'(/)-5+,1)'(): %!$ % 7)7*0&, % .0;0%
)(*+-+,+7) %6'(%)JKK@8%7/+5**,(.'(0 %08%(0$$' %7206)/)6'8 %07*0(.0(.'(0 %$0 %/5(1)'(,$)*H: % !(%
2,+*)6'$,+08%*+,&)*0%)$%$);0$$'%\,*,%K66078%.0;0%5*)$)11,+(0%)$%.,*,3,70:
5%%&77$8$)$/S'#2'.&6*/*
!$%7)7*0&,%.0;0%-,+,(*)+0%5(%,66077'%,$$,%2),**,/'+&,%$)30+'%.,%6'(.)1)'(,&0(*)%)(%&0+)*'%,%
25(*)%.)%,66077':%E,%6'(/)-5+,1)'(0%.0$$0%+0*)%.,*)%.0;0%0770+0%,66077)3)$0%,.%'-()%*)2'%.)%
.)72'7)*);'8%7),%077'%5(%2'+*,*)$08%5(%2,$&,+0%'%5('%7&,+*29'(0:
EY,66077'%,$$,%2),**,/'+&,%.0;0%.5(G50%0770+0%2'77)3)$0%.,%*0+&)(,$)%0*0+'-0(0)8%70(1,%690%
7)%2+070(*)%$,%(06077)*H%20+%$=5*0(*0%.)%0//0**5,+0%2,+*)6'$,+)%)(7*,$$,1)'()%'%6'(/)-5+,1)'():
N.&7/20$*"$
!$%7)7*0&,%.0;0%+).5++0%,$%&)()&'%$0%)(*0+,1)'()%6'(%)$%.,*,3,70%.)%)JKK@:%\0;0%0770+0%
2'77)3)$0 % G5)(.)8 % 0//0**5,+0 % *5**0 % $0 % 6'(/)-5+,1)'() % )( % $'6,$0 % 0 % 5(, % ;'$*, % 6'&2$0*,*' % )$%
2+'6077'%2+'2,-,+$0%;0+7'%.)%)JKK@8%690%2+';;0.0+H%,$$,%20+7)7*0(1,%.0)%.,*):
2.2 Progettazione architetturale
E,%760$*,%.0$$=,+69)*0**5+,%.,%)&2)0-,+0%20+%)$%7)7*0&,%4%7*,*,%)(/$50(1,*,%0770(1),$&0(*0%.,%
*+0%25(*)%/'(.,&0(*,$)%0&0+7)%(0$$=,(,$)7)%.0)%+0G5)7)*)X
'
,66077)3)$)*H%.,%+0&'*'F
'
)(*0+,1)'(0%6'(%)JKK@F
'
2+07*,1)'():
\'2' % 5(, % /,70 % .) % ,(,$)7) % .0$$0 % ,$*0+(,*);0 % 2'77)3)$)8 % $, % 760$*, % 7) % 4 % '+)0(*,*, % ;0+7'%
5(Y,+69)*0**5+,%3,7,*,%75%5(%2,+,.)-&,%J$)0(*U@0+;0+:%<,$0%760$*,%9,%20+&077'%.)%+)720**,+0%
d"
2)0(,&0(*0%)%;)(6'$)%)&2'7*)%.,)%+0G5)7)*)%('(%/5(1)'(,$)8%G5,$)%$Y,66077)3)$)*H%.,%+0&'*'%
.0$$,%2),**,/'+&,8%,**+,;0+7'%)$%A03%0.%)$%2+'*'6'$$'%h<<`8%$Y)(*0+,1)'(0%6'(%)JKK@8%)(%
G5,(*'%)$%.,*,3,70%)JKK@%0%)$%$);0$$'%.,*,%,66077%2'77'('%0770+0%7690&,*)11,*)%6'&0%5(,%
7*+5**5+,%70+;0(*08%0%$0%2+'3$0&,*)690%2+07*,1)'(,$)8%5*)$)11,(.'%$,%2'77)3)$)*H%.)%5*)$)11,+0%)$%
A03%6,69)(-%6'&0%7*+5&0(*'%.)%&0&'+)11,1)'(0%*0&2'+,(0,%.0$$0%6'(/)-5+,1)'()8%2+)&,%
.0$$=)('$*+'%.0/)()*);':%
>0)%2,+,-+,/)%7566077);)8%.'2'%5(Y)(*+'.51)'(0%.0$%2,+,.)-&,%J$)0(*U@0+;0+8%7)%.0$)(0,('%)%
6'(('*,*)%7,$)0(*)%.0$$Y,+69)*0**5+,%-0(0+,$0%.0$%7)7*0&,%2+)&,%.)%.0.)6,+7)%,$$Y,(,$)7)%.0$$0%
7)(-'$0%2,+*)%(06077,+)0%20+%.,+%70-5)*'%,)%+0G5)7)*)%/5(1)'(,$)%)(.);).5,*):
9*#&))*'%)$&"/A7&.T&.
!$%&'.0$$'%,+69)*0**5+,$0%6$)0(*U70+;0+%7)%3,7,%75%5(%)(7)0&0%.)%70+;0+8%%690%'//+0%.0)%70+;)1)%
,%5(%)(7)0&0%.)%6$)0(*8%690%(0%575/+5)760:%h,%*+0%6'&2'(0(*)8%'-(5('%6'(%5(%6'&2)*'%
7206)/)6':
]: Q(%)(7)0&0%.)%70+;0+%690%'//+0%70+;)1)%,.%,$*+)%7'**'7)7*0&):
c: Q( % )(7)0&0 % .) % 6$)0(* % 690 % +)69)0.0 % ) % 70+;)1) % '//0+*) % .,) % 70+;0+8 % 7'$)*,&0(*0 % .0)%
7'**'7)7*0&)%,5*'('&)F%2'77'('%0770+6)%.);0+70%)7*,(10%.)%2+'-+,&&)%6$)0(*%070-5)*0%
6'(*0&2'+,(0,&0(*0:%
d: Q(, % +0*0 % 690 % 20+&0**0 % ,) % 6$)0(* % .) % ,660.0+0 % , % G507*) % 70+;)1): % `5+ % ('( % 0770(.'%
7*+0**,&0(*0%(06077,+),%20+69a%7),%)%6$)0(*%690%)%70+;0+%2'77'('%0770+0%070-5)*)%75$$,%
7*077, % &,669)(,8 % )( % 2+,*)6, % 20+R % $, % &,--)'+ % 2,+*0 % .0) % 7)7*0&) % 6$)0(*U70+;0+ % 4%
)&2$0&0(*,*,%6'&0%7)7*0&,%.)7*+)35)*':
!%6$)0(*%.';+0330+'%6'('760+0%)$%('&0%.0)%70+;0+%.)72'()3)$)%0%)%70+;)1)%690%2'77'('%/'+()+08%
&0(*+0%)%70+;0+%('(%9,(('%3)7'-('%.)%6'('760+0%$=).0(*)*H%.0)%6$)0(*%'%G5,(*)%6$)0(*%7'('%
2+070(*):%!%6$)0(*%,660.'('%,)%70+;)1)%'//0+*)%.,%5(%70+;0+%,**+,;0+7'%69),&,*0%.)%2+'60.5+,%
+0&'*, % C+0&'*0 % 2+'60.5+0 % 6,$$7D % 57,(.' % 5( % 2+'*'6'$$' % .) % +)69)07*,U+)72'7*, % 6'&0 % ,.%
070&2)'%h<<`8%57,*'%20+%)$%?03:%!(%7'7*,(1,8%5(%6$)0(*%0//0**5,%5(,%+)69)07*,%,.%5(%70+;0+%
d#
0%,**0(.0%/)(69a%('(%+)60;0%5(,%+)72'7*,:%<)2)6,&0(*0%4%)$%6$)0(*%,.%0770+0%+072'(7,3)$0%.0$%
6'(*+'$$'%.0$$=)(/'+&,1)'(0%;)75,$)11,*,%75$$'%7690+&'%.0$$=5*0(*0%0%.0$$,%-07*)'(0%.0-$)%
0;0(*)%2+'.'**)%.,$$=5*0(*0: %!$%70+;0+8%)(;0608%4%5(%2+'6077'%690%'20+,%75%5(%G5,$5(G50%
0$,3'+,*'+0%-07*0(.'8%-0(0+,$&0(*0%6'(%5(%.,*,3,708%.,*)%690%2'*+0330+'%0770+0%+)69)07*)%
.,$%2+'6077'%6$)0(*:
<+,%)%;,(*,--)%.0$%&'.0$$'%6$)0(*%70+;0+%7)%,((';0+,('%$0%70-50(*)%6,+,**0+)7*)690X
&
L0(.0%70&2$)60%$,%.)7*+)351)'(0%.0)%.,*)F
&
@/+5**,%0//)6,60&0(*0%7)7*0&)%6'$$0-,*)%)(%+0*08%6'(%6'7*)%9,+.A,+0%6'(*0(5*):
&
%b,6)$0%,--)5(-0+0%(5';)%70+;0+%'%,--)'+(,+0%)%70+;0+%07)7*0(*):
&
O-()%70+;0+%25R%-07*)+0%)%2+'2+)%.,*)%6'(%&'.,$)*H%2+'2+)0
<+,%-$)%7;,(*,--)8%)(;0608%7)%70-(,$,('X
(
>'(%0770(.'6)%&'.0$$)%.)%.,*)%6'(.);)7)8%$'%76,&3)'%.0)%.,*)%25R%0770+0%)(0//)6)0(*0F
(
E0%-07*)'()%.0)%.,*)%2'77'('%0770+0%+).'(.,(*)F
(
N,(6,(1,%.)%+0-)7*+)%60(*+,$)%.)%('&)%0%70+;)1)%k%25R%0770+0%.)//)6)$0%7,20+0%G5,$)%
70+;0+%0%70+;)1)%7'('%.)72'()3)$):
?$,-.2'C@U'D'533)$%20$*"&'2'7/.2/$
dP
E, % 2+'-0**,1)'(0 % .0) % 7)7*0&) % 6$)0(*U70+;0+ % .';+0330 % +)/$0**0+0 % $, % 7*+5**5+, % $'-)6,%
.0$$=,22$)6,1)'(0%690%7)%7*,%7;)$522,(.':%Q(%&'.'%.)%;0.0+0%5(=,22$)6,1)'(0%4%)$$57*+,*'%
(0$$, % /)-5+, % c:#8 % 690 % &'7*+, % 5(=,22$)6,1)'(0 % 7*+5**5+,*, % )( % *+0 % 7*+,*)X % $' % 7*+,*' % .)%
2+070(*,1)'(0%2+';;0.0%,$$,%+,22+070(*,1)'(0%.0)%.,*)%0%,%*5**0%$0%)(*0+,1)'()%6'(%$=5*0(*0F%
$'%7*+,*'%.)%0$,3'+,1)'(0%,22$)6,*);,%)&2$0&0(*,%$,%$'-)6,%.0$$=,22$)6,1)'(0F%)(/)(0%$'%7*+,*'%
.)%-07*)'(0%.0)%.,*)%070-50%*5**0%$0%'20+,1)'()%75$%.,*,3,70:
>0) % 7)7*0&) % 60(*+,$)11,*) % ('( % 4 % (06077,+)' % 690 % G507*) % 7),(' % 69),+,&0(*0 % 702,+,*)8 % &,%
G5,(.'%7)%2+'-0**,%5(%7)7*0&,%.)7*+)35)*'%7)%.0;0%6+0,+0%5(,%.)7*)(1)'(0%(0**,8%)(%&'.'%.,%
2'*0+%.)7*+)35)+0%'-()%7*+,*'%,.%5(%6'&25*0+%.);0+7':
E=,+69)*0**5+,%6$)0(*U70+;0+%2)[%70&2$)60%4%69),&,*,%,+69)*0**5+,%6$)0(*U70+;0+%,%.50%$);0$$)%
C*A'U*)0+D8%)(%65)%5(=,22$)6,1)'(0%4%'+-,()11,*,%6'&0%5(%70+;0+%C'%.);0+7)%70+;0+%).0(*)6)D%0%
5(%)(7)0&0%.)%6$)0(*:
?$,-.2'C@V'D'9*#&))*'/:$"'&'+2/'%)$&"/
E,%/)-5+,%c:P%0;).0(1,%690%$0%,+69)*0**5+0%6$)0(*U70+;0+%,%.'22)'%$0-,&0%2'77'('%0770+0%.)%
.50%*)2):
]:
N'.0$$' % *9)(U6$)0(* % C6$)0(* % $0--0+'D8 % .';0 % *5**0 % $0 % 0$,3'+,1)'() % ,22$)6,*);0 % 0 % $,%
-07*)'(0%.0)%.,*)%7'('%-07*)*0%.,$%70+;0+8%&0(*+0%)$%6$)0(*%7)%'6652,%7'$*,(*'%.)%070-5)+0%)$%
7'/*A,+0%.)%2+070(*,1)'(0:
c:
N'.$0$'%/,*U6$)0(*%C6$)0(*%207,(*0D8%)(%65)%)$%70+;0+%7)%'6652,%7'$'%.0$$,%-07*)'(0%.0)%
.,*)8 %&0(*+0%)$%7'/*A,+0%75$%6$)0(* %)&2$0&0(*,%$,%$'-)6,%,22$)6,*);,%0%$=)(*0+,1)'(0%6'(%
dV
$=5*0(*0%.0$%7)7*0&,:
!$%&'.0$$'%*9)(U6$)0(*%4%$=,22+'66)'%2)[%70&2$)60%.,%57,+0%G5,(.'%7)%7;)$522,%5(%7)7*0&,%
60(*+,$)11,*'%0+0.)*,*'%20+%5(=,+69)*0**5+,%6$)0(*%70+;0+X%25R%0770+0%5*$)11,*'%G5,(.'%)%6$)0(*%
7'('%70&2$)6)%.)72'7)*);)%.)%+0*0%0%('(%.0)%26%'%7*,1)'()%.)%$,;'+':%M77'%2'(0%20+R%5(%
207,(*0%6,+)6'%.)%0$,3'+,1)'(0%75$%70+;0+%0%75$$,%+0*0X%)$%70+;0+%4%+072'(7,3)$0%.)%*5**)%)%
6,$6'$)8%0%G507*'%25R%-0(0+,+0%5(%7)-()/)6,*);'%*+,//)6'%.)%+0*0%*+,%)$%6$)0(*%0%)$%70+;0+F%)('$*+0%
6'( % $0 % 70&2+0 %&,--)'+) %.)72'()3)$)*H %.) % 2'*0(1, % 0$,3'+,*);, % .0) %.)72'7)*);) %)(/'+&,*)6)%
&'.0+()8%.);0(*,%70&2+0%&0('%6'(;0()0(*0%72'7*,+0%*5**'%)$%6,+)6'%0$,3'+,*);'%75$%70+;0+:%
!$% &'.0$$' %/,*U6$)0(* % /,% 57'% ,(690 %.0$$, % 2'*0(1, %.0$ %6$)0(* %0 %.)7*+)35)760 % ,$% 6$)0(*0 % 7),%
$=0$,3'+,1)'(0 % $'-)6,8 % 7), % $, % 2+070(*,1)'(0F % )$ % 70+;0+ % 4 % 0770(1),$&0(*0 % 5( % 70+;0+ % .)%
*+,(7,1)'(0%690%-07*)760%*5**0%$0%*+,(7,1)'()%.0$%.,*,3,70:
`0+%G5,(*'%)$%&'.0$$'%/,*U6$)0(*%.)7*+)35)76,%$=0$,3'+,1)'(0%)(%&'.'%2)[%0//)6,60%.0$%*9)(U
6$)0(*8%$,%-07*)'(0%.0$%7)7*0&,%+)75$*,%2)[%6'&2$077,X%$0%/5(1)'(,$)*H%.0$$=,22$)6,1)'(0%7'('%
.);)70%75%.);0+7)%6'&25*0+%0%G5,(.'%)$%7'/*A,+0%.0;0%0770+0%&'.)/)6,*'%4%(06077,+),%$0%+0U
)(7*,$$,1)'(0%75%'-()%6'&25*0+%6$)0(*8%0%6)R%25R%+,22+070(*,+0%5(%6'7*'%('*0;'$0%70%6)%7'('%
60(*)(,),%.)%6$)0(*%(0$%7)7*0&,:
E=,;;0(*' % .0$ % 6'.)60 % &'3)$08 % 690 % 25R % 0770+0 % 76,+)6,*' % ., % 5( % 70+;0+ % , % 5( % 6$)0(*8 % 9,%
20+&077'%$'%7;)$522'%.)%7)7*0&)%6$)0(*U70+;0+%690%7)%*+';,('%,%&0*H%7*+,.,%*+,%)%&'.0$$)%*9)(%
0%/,*%6$)0(*X%2,+*0%.0$%7'/*A,+0%.)%0$,3'+,1)'(0%,22$)6,*);,%25R%0770+0%76,+)6,*'%75$%6$)0(*%
6'&0 %6'.)60 %&'3)$08 %,$$0--0+0(.' %)$%6,+)6'%75$%70+;0+8%$=)(*0+/,66), %5*0(*0 %;)0(0%6+0,*,%
57,(.'%5(%3+'A70+%A03%690%)(6$5.0%$0%/5(1)'(,$)*H%.)%070651)'(0%.0$%6'.)60%76,+)6,*':
!$ % 2+'3$0&, % .) % 5( % ,22+'66)' % 6$)0(*U70+;0+ % , % .50 % $);0$$) % 4 % 690 % ) % *+0 % 7*+,*) % $'-)6)%
C2+070(*,1)'(08%0$,3'+,1)'(0%,22$)6,*);,%0%-07*)'(0%.0)%.,*)D%.0;'('%0770+0%&,22,*)%75%.50%
7)7*0&) % )(/'+&,*)6)X % )$ % 6$)0(* % 0 % )$ % 70+;0+:% !('$*+08 % 70&2+0 % 2)[ % 72077' % 7) % ,77)7*0 % ,. % 5(,%
)(*0-+,1)'(0%.)%70+;)1)%.)%.,*,3,70%6'(%70+;)1)%.)%A038%)(%65)%$0%2,-)(0%;0(-'('%6'7*+5)*0%
.)(,&)6,&0(*0%75$$,%3,70%.0)%.,*)%6'(*0(5*)%(0$%.,*,3,70:%!(%*5**)%G507*)%6,7)%)$%2+'3$0&,%
/'(.,&0(*,$0%.)%5(,%,+69)*0**5+,%6$)0(*U70+;0+%,%.50%$);0$$)%4%690%$,%+)69)07*,%.)%5(%70+;)1)'%
.,%2,+*0%.)%5(%-+,(%(5&0+'%.)%6$)0(*%7)%76'(*+,%6'(%)$%6'$$'%.)%3'**)-$),%.0$$=,66077'%.)+0**'%
dW
,.%5(%5()6'%70+;0+8%6'(%-+,;)%2+'3$0&)%.)%76,$,3)$)*H:
`0+ % +)72'(.0+0 % , % G507*0 % 07)-0(10 % .) % 76,$,3)$)*H % 7) % 2'*+0330 % .)7*+)35)+0 % )$ % 6,+)6' % .0$$0%
+)69)07*0%75%2)[%70+;0+%).0(*)6)8%&,(*0(0(.'%G5)(.)%7'7*,(1),$&0(*0%)(,$*0+,*,%$=,+69)*0**5+,%
6$)0(*U70+;0+( '+)-)(,$0: % >0$ % /,+ % G507*' % 6) % 7) % 76'(*+, % 20+R % 6'( % -+,;) % 2+'3$0&) % .)%
&,(5*0()3)$)*H%.0)%70+;)1)8%)(%2,+*)6'$,+0%20+%G5,(*'%+)-5,+.,%$,%7)(6+'()11,1)'(0%.0)%.,*)8%0%
.)%)(0//)6)0(1,%.0$$=57'%.0$$0%+)7'+70:%!$%2+'3$0&,%4%2,+*)6'$,+&0(*0%-+,;0%,.%070&2)'%20+%)%
.,*,3,70%690%('(%2'77'('%0770+0%+02$)6,*)%0%7)(6+'()11,*)%/,6)$&0(*08%0%690%7'('%&'$*'%
'(0+'7)8%$,%$'+'%+02$)6,1)'(0%4%6'7*'7,%0%6'&2$077,:
E,%G507*)'(0%25R%0770+0%+)7'$*,%5*)$)11,(.'%5(%,22+'66)'%,$*0+(,*);'X%2.%:$/&//-.2'%)$&"/A
7&.T&. ' 2 ' /.& ' )$T&))$% C*9+00 % *)0+D8 % 7690&,*)11,*, % )( % /)-5+, % c:V8 % )( % 65) % $, % 2+070(*,1)'(08%
$=0$,3'+,1)'(0%,22$)6,*);,%0%$,%-07*)'(0%.0)%.,*)%7'('%2+'6077)%$'-)6,&0(*0%702,+,*):
?$,-.2'C@W'D'5.%:$/&//-.2'%)$&"/A7&.T&.'/:.&&'/$&.
!$%2+)&'%$);0$$'8%G50$$'%.0)%6$)0(*%690%070-5'('%$0%+)69)07*0%0%-07*)76'('%$,%2+070(*,1)'(0%
,$$=5*0(*08 %+07*,%7'7*,(1),$&0(*0 %$'%7*077'%.0$%&'.0$$' %6$)0(*U70+;0+8%&, %$,%2,+*0 %70+;0+%
;)0(0%75..);)7,%)(%.50%$);0$$)8%)(*+'.560(.'%5(%&)..$0U*)0+8%75%65)%.0;0%,22'--),+7)%*5**,%$,%
$'-)6, %.)%,(,$)7)%.0$$0 %+)69)07*0 %.0)%6$)0(* %0%.)%0$,3'+,1)'(0 %,22$)6,*);, %20+%'**)&)11,+0%
$=,66077'%,$%*0+1'%$);0$$'8%690%4%G50$$'%690%7)%$)&)*,%-07*)+0%0%,%/'+()+0%)%.,*)%.)(,&)6)%690%
;0++,((' % 57,*) % .,$$, % $'-)6, % )&2$0&0(*,*, % (0$ %&)..$0U*)0+ %20+ % 070-5)+0 % $0 % '20+,1)'()%
+)69)07*0%.,)%6$)0(*:
!(%G507*'%&'.'%7)%25R%.)7,66'22),+0%$,%$'-)6,%0%$=0$,3'+,1)'(0%,22$)6,*);,%.,)%.,*)F%6'(%
G507*'%,22+'66)'%.);0(*,%2)[%/,6)$&0(*0%2'77)3)$0%+02$)6,+0%$=0$,3'+,1)'(0%,22$)6,*);,8%690%
4 % &'$*' % &0(' % 7'--0**, % , % 6,&3),&0(*) % 0. % 0;'$51)'(08 % 0 % ('( % 7'//+0 % .) % 2+'3$0&) % .)%
7)(6+'()11,1)'(08 % 60(*+,$)11,(.' % '22'+*5(,&0(*0 % $, % -07*)'(0 % .0) % .,*): % J'( % G507*,%
dZ
'**)&)11,1)'(08%7)%.)7*+)35)760%)(%&'.'%2)[%'**)&)11,*'%)$%6,+)6'8%+0(.0(.'%$=,66077'%,)%.,*)%
&'$*'%2)[%0//)6)0(*0:%
! % ;,(*,--) % ,220(, % .)76577) % 9,((' % 6'(.'**' % $, % 760$*, % 2+'-0**5,$0 % ;0+7' % 5(=,+69)*0**5+,%
6$)0(*U70+;0+%3,7,*,%75%,22+'66)'%*9+00U*)0+:%@)%2+0.)$)-0%$=5*)$)11'%.0$%&'.0$$'%/,*U6$)0(*%20+%
7'..)7/,+0 % )$ % +0G5)7)*' % +0$,*);' % ,$$0 % 2+07*,1)'()8 % /,60(.' % )( % &'.' % 690 % )$ % 6$)0(* % 7,$;)%
$'6,$&0(*0%$0%6'(/)-5+,1)'()%0%$0%)('$*+)%,$%70+;0+%7'$'%G5,(.'%$=5*0(*0%6$)66,%75$%25$7,(*0%.)%
7,$;,*,--)'%.0$$,%6'(/)-5+,1)'(0:
E=,+69)*0**5+,%.)%?@>J<%4%)$$57*+,*,%(0$$,%/)-5+,%c:WX
?$,-.2'C@X'D'5.%:$/&//-.2'#$'EBF1Y
2.3 Progettazione di basso livello
>0$%70-5)*'%7)%.076+);'('%)%&066,()7&)%,$$,%3,70%.0$$'%7*+5&0(*'%.)%6'(/)-5+,1)'(08%6'(%
072$)6)*'%+)/0+)&0(*'%,$$0%&'.,$)*H%.)%5*)$)11'%.)%*,$)%&066,()7&)%2+0;)7*0%.,$$'%7*+5&0(*':%
!(%2,+*)6'$,+08%(0$$,%2+)&,%2,+*0%7)%*+,**0+,(('%)%&066,()7&)%.)%6'&5()6,1)'(0%*+,%6$)0(*%0%
70+;0+8%;0++,(('%)(.)6,*0%$0%&'.,$)*H%.)%)(*0+,1)'(0%2+0;)7*0%.,$%7)7*0&,%0%$0%.)20(.0(10%
*0&2'+,$) % 690 % )(*0+6'++'(' % *+, % $0 % .);0+70 % /,7)F % (0$$, % 706'(., % 2,+*0 % 7) % )(*+'.5++,((' % )%
&066,()7&) % .) % 76,&3)' % .,*) % *+, % 6$)0(* % 0 % 70+;0+8 % 6'( % +)/0+)&0(*' % 0770(1),$0 % ,$$,%
70+),$)11,1)'(08 % ,(,$)11,(.' % $0 % 6$,77) % .0$ % 7)7*0&, % 690 % 7) % '66520+,((' % .) % G507*'%
&066,()7&'F%(0$$,%*0+1,%0.%5$*)&,%2,+*0%;0++,(('%.076+)**)%)%&066,()7&)%.)%20+7)7*0(1,%.0)%
.,*)%&077)%,%.)72'7)1)'(0%.,%)JKK@:%
"^
2.3.1 Meccanismi di comunicazione tra client e server
K$%/)(0%.)%7'..)7/,+0%)%+0G5)7)*)%/5(1)'(,$)%0%)$%+0G5)7*'%('(%/5(1)'(,$0%.)%,66077)3)$)*H8%)$%
&066,()7&'%.)%6'&5()6,1)'(0%*+,%6$)0(*%0%70+;0+%690%7)%)(*0(.0%5*)$)11,+0%4%5(%&066,()7&'%
LOK:%@)%;'-$)'('8%6)'48%072'+*,+0%$0%/5(1)'(,$)*H%.0$$'%7*+5&0(*'%6'&0%+)7'+708%';;0+'%
072+)&0+$0%6'&0%+)7'+70%,66077)3)$)%*+,&)*0%)$%?03:%!$%?03%7)%3,7,%75%h<<`8%5(%2+'*'6'$$'%
690%'//+0%.0)%&0*'.)%.)%3,70%690%20+&0**'('%.)%$,;'+,+0%75$$0%+)7'+70:
Q7,+0%)$%&'.0$$'%LOK%7)-()/)6,%5*)$)11,+0%)$%2+'*'6'$$'%h<<`%%6'&0%&011'%20+%,660.0+0%
,$$0%+)7'+708%G5)(.)%6'&0%&011'%20+%,660.0+0%,)%.,*)%.0$$=,+69)*0**5+,:%E=,66077'%,.%5(,%
+)7'+7,%,;;)0(0%*+,&)*0%5(%+)/0+)&0(*'%.0**'%QL!%CQ()/'+&%L07'5+60%!.0(*)/)0+D:
\)%70-5)*'%5(,%3+0;0%)(*+'.51)'(0%.0$%2+'*'6'$$'%h<<`%0%.0)%75')%&0*'.)%20+%0//0**5,+0%$,%
+)69)07*,%.)%+)7'+70:
ZYYN
h<<`%4%5(%2+'*'6'$$'%3,7,*'%75)%.'65&0(*)8%20+%&011'%.0$%G5,$0%5( %!'$-1% ()(70+)760%5(%
.'65&0(*'%)(%5(,%357*,%0%$'%&,(.,%,.%5( %/-4@-4A% )$%70+;0+%)(70+)760%5( %.'65&0(*'%.)%
+)72'7*,%)(%5(,%357*,%0%$'%&,(.,%,$%6$)0(*:%M7)7*'('%7*,(.,+.%2+06)7)%.,%70-5)+0%20+%6'&0%
.0;0%0770+0%!&9#$'"%"($,%357*,8%&0(*+0%('(%4%)&2'+*,(*0%6'7,%;)%7),%,$$Y)(*0+('%.0$$,%357*,:
!2'*)11,(.'%.)%;'$0+%'**0(0+0%.,$%7)*'%8%%#BCC/$%-D-E%(CG5)(.)%5(%70+;0+D%5(%.'65&0(*'%690%7)%
*+';,%,$$Y)(.)+)11' %8%%#BCC/$%-D-E%C.&!/C$1.-ED8%9 ($,%+)69)07*,%.,$ %3+'A70+%C)$%6$)0(*%h<<`D%
;0+7'%)$%3+'A70+%7,+H%G5,$6'7,%.)%7)&)$0%,%G5,(*'%7)%$0--0%)(%J'.)60%c:]X
GET /docs/index.htm HTTP/1.1
Host: site.ext
User-Agent: Mozilla/5.0 [...]
Accept: text/xml,application/xml,text/html,[...]
Accept-Language: it,us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7
1*#$%&'C@4'D'(7&63$*'#$'-"2'.$%:$&7/2'ZYYN
"]
!(%'-()%+)69)07*,%h<<`%4%2'77)3)$0%)7'$,+0%G5,**+'%&,6+'701)'()X
ZYYN'6&/:*#['F'(G-%&.&(HIIJ
>0$$,%+)69)07*,%.)%J'.)60%c:]%)$%&0*'.'%+)69)07*'%k%72077'%)(.)6,*'%,(690%6'&0%S,1)'(0%
h<<`T%'%S;0+3'%h<<`T%k%4%fM<:%J'&0%20+%)%&0*'.)%)(%2+'-+,&&,1)'(08%6'7_%)%&0*'.)%
h<<`%7'('%5(Y)(.)6,1)'(0%.,*,%.,$%6$)0(*%,$% 70+;0+%)(%&0+)*'%,%6'&0%7)%,720**,%;0(-,%
*+,**,*,%$,%357*,%h<<`:%>0$%6,7'%)(%07,&0%)$%6$)0(*%7)%,720**,%690%)$%70+;0+%2+0(.,%CfM<D%)$%
.'65&0(*' % +)69)07*' % 0 % -$)0$' % 720.)76, % k % 70(1, % 0//0**5,+0 % &'.)/)6, % ,$65(,: % ! % &0*'.)%
7*,(.,+.%2)[%57,*)%7'('%fM<8%`Q<8%`O@<%0%\MEM<M:%K.%06601)'(0%.0$%&0*'.'%fM<%C0%
.0$%&0('%('*'%hMK\D8%*5**)%-$)%,$*+)%&0*'.)%0//0**5,('%&'.)/)690%75$%.'65&0(*'%+)69)07*':
N2/:['$'(J-4!&4/&
!$ % 20+6'+7' % 4 % )(.)6,*' % (0$$, % +)69)07*, % h<<` % 753)*' % .'2' % )$ % &0*'.' % 0 % 6'++)72'(.0 % ,$$,%
2'+1)'(0 % .) % QL!d % 690 % 70-50 % $Y9'7*(,&0 % .0$ % 70+;0+: % >0$ % J'.)60 % c:] % $YQL! % +)69)07*' % 4%
8%%#BCC/$%-D-E%C.&!/C$1.-ED8%9(&0(*+0%)$%20+6'+7'%4%70&2$)60&0(*0%m.'67m)(.0n:9*&8%0770(.'%
8%%#BCC/$%-D-E%($Y9'7*(,&0%.0$%70+;0+%,$%G5,$0%7)%7*,%0//0**5,(.'%$,%+)69)07*,:
H&L-&7/'Z&2#&.7[''-(F1%-/%"0$&1$(.$(2$!8$-/%"
>0$%J'.)60%c:]%7'('%*5**0%$0%+)-90%690%70-5'('%$,%2+)&,:%J'7*)*5)76'('%0770(1),$&0(*0%
&0*,.,*)%(0$%/'+&,*'%69),;0U;,$'+0%690%)$%6$)0(*%25R%6'&5()6,+0%,$%70+;0+%20+%(5&0+'7)%
76'2):%M7)7*'(' %$1%-/%"0$&1$(/%"1."4. (30(%.0/)()*0%&,%4%70&2+0%2'77)3)$0%,--)5(-0+(0%.)%
20+7'(,$)11,*08%70%/'770%(06077,+)':
("/$/>A\*#>['$'(K&!39-1%&(L&(6&4#&(.-''MN1%$%OP
MY%)$%.'65&0(*'%,$$Y)(*0+('%.0$$,%+)69)07*,%C357*,D:%J'&0%*)2)6'%.0$$0%+)69)07*0%fM<%(0$%
J'.)60%c:]%('(%4%2+070(*0%,$65(%.'65&0(*'8%)(%G5,(*'%*5**'%6)R%690%70+;0%7,20+0%,$%70+;0+%
4 %.&@- (+06520+,+0 % )$ % .'65&0(*' % k % 0 % G507*' % $' % .)60 % )$ % 20+6'+7' % k % 0 %!&9- (k % 0 % G507*'%
7'$)*,&0(*0 % $'% .)6'('% $0% )(*07*,1)'()8 %)(.)6,(.' %,.% 070&2)' %$, %2+0/0+0(1, %,.% ,;0+0 % 5(%
"c
.'65&0(*'%6'&2+077':
Q(, % ;'$*, %+)60;5*, % $, %+)69)07*, % )$ %70+;0+ %2+';;0.0+H %, %4-#-4$4- ()$ %.'65&0(*' %+)69)07*'8%
$973/%"4'&()(%5(,%+)72'7*,%h<<`%0%&,(.,+$'%,$%6$)0(*:
HTTP 200 OK
Date: Fri, 31 Jul 2009 16:23:42 GMT
Server: Apache
Last-Modified: Fri, 31 Jul 2009 15:08:04 GMT
Accept-Ranges: bytes
Content-Lenght: 10815
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
...
<title>site.ext - Documents</title>
1*#$%&'C@C'D'(7&63$*'#$'-"2'.$73*7/2'ZYYN
>0$ % J'.)60 % c:c % 4 % &'7*+,*, % $, % +)72'7*, % h<<`8 % 690 % 6'&0 % 4 % 2'77)3)$0 % '770+;,+0 % +)75$*,%
7*+5**5+,$&0(*0%7)&)$0%,$$,%+)69)07*,%0//0**5,*,X
H&73*"7&'1*#&['$'(6&.$!-(.$(2$/#&/%"(HIIJ
E,%2+)&,%+)-,%.0$$,%+)72'7*,%4%5(%6'.)60%.)%*+0%6)/+0%690%70-50%$,%;0+7)'(0%.0$%2+'*'6'$$'%0%
2+060.0 % 5( % 0;0(*5,$0 % 7*+)(-, % 072$)6,*);, % .0$$' % 7*,*' % .0$$, % +)72'7*,: % <,$0 % 6'.)60 % 4%
7*,(.,+.)11,*'%.,%5(,%2+06)7,%*,30$$,%690%,77'6),%'-()%6'.)60%,.%5('%7*,*'%.0$$,%+)72'7*,8%
(0$$Y070&2)'%*+,**,*'%*5**'%4%,(.,*'%,%35'(%/)(0%0%$,%+)72'7*,%4%7*,*,%2+'6077,*,%6'(%7566077'%
.,$%70+;0+:
H&73*"7&'Z&2#&.7[''-(F1%-/%"0$&1$(.-''"(2$/#&/%"
K(690%20+%$,%+)72'7*,%;0(-'('%7206)/)6,*0%6'22)0%69),;0U;,$'+0%6'(%)(/'+&,1)'()%+0$,*);0%
,$%.'65&0(*'%)(;),*'8%,$%70+;0+%0%7'2+,**5**'%,%.,*0%.)%6+0,1)'(0%0%&'.)/)6,%.0$%/)$0%20+%
"d
/,;'+)+(0%)$%6,69)(-%(0$%3+'A70+:
("/$/>A\*#>['$'(K&!39-1%&(L&(6&4#&(.-''MN1%$%OP
>0$%6,7'%.0$$,%+)72'7*,%h<<`%6'&0%7)%25R%('*,+0%.,$%J'.)60%c:c%G507*,%;'$*,%$,%701)'(0%.0$%
.'65&0(*'%4%2'2'$,*,%6'$%6'(*0(5*'%,$%G5,$0%0+,;,&'%)(*0+077,*):%!$%.'65&0(*'%25R%0770+0%
.0$ % *07*' % 70&2$)608 % .0$ % *07*' % h<NE % C6'&0 % (0$ % ('7*+' % 6,7'D8 % 5( % $)7*,*' % iNE % ' % .0$%
6'(*0(5*'%3)(,+)'%6'&0%5(Y)&&,-)(0%'%5(%;).0':
HI5
LOK%C%L07'5+60%O+)0(*0.%K+69)*06*5+0%D%4%5(%)(7)0&0%.)%7206)/)690%20+%$=)&2$0&0(*,1)'(0%
.0$$=,+69)*0**5+,%LM@<%CLM2+070(*,*)'(,$%@*,*0%<+,(7/0+D:
LM@<%4%5(%*)2'%.)%,+69)*0**5+,%7'/*A,+0%20+%)%7)7*0&)%.)%)20+*07*'%.)7*+)35)*)%6'&0%)$%?'+$.%
?).0%?03%0%7)%+)/0+)760%,.%5(%)(7)0&0%.)%2+)(6)2)%.)%,+69)*0**5+0%.)%+0*08%)%G5,$)%.0$)(0,('%
6'&0%$0%+)7'+70%7'('%.0/)()*0%0%)(.)+)11,*0:%!$%*0+&)(0%4%72077'%57,*'%(0$%70(7'%.)%.076+);0+0%
'-()%70&2$)60%)(*0+/,66),%690%*+,7&0**0%.,*)%75%h<<`%70(1,%5(%$);0$$'%'21)'(,$0%6'&0%
@OK`%'%$,%-07*)'(0%.0$$,%7077)'(0%*+,&)*0%)%6''B)07:%I507*)%.50%6'(60**)%2'77'('%,(.,+0%)(%
6'(/$)**' % 6'7_ % 6'&0 % )( % 7';+,22'7)1)'(0: % o % 2'77)3)$0 % 2+'-0**,+0 % '-() % 7)7*0&, % 7'/*A,+0%
6'&2$077'%)(%,66'+.'%6'(%$=,+69)*0**5+,%LM@<%70(1,%57,+0%h<<`%0%70(1,%)(*0+,-)+0%6'(%)$%
?'+$.%?).0%?03:%o%,(690%2'77)3)$0%2+'-0**,+0%5(,%70&2$)60%)(*0+/,66),%iNEph<<`%690%
('(%7),%6'(/'+&0%,)%2+)(6)2)%LM@<8%0%)(;060%70-5,%5(%&'.0$$'%L`J%CL0&'*0%`+'60.5+0%
J,$DF%)%7)7*0&)%690%70-5'('%)%2+)(6)2)%LM@<%7'('%72077'%.0/)()*)%qLM@</5$q:
LM@< % 2+0;0.0 % 690 % $, % 76,$,3)$)*H % .0$ % ?03 % 0 % $, % 6+076)*, % 7),(' % .)+0**) % +)75$*,*) % .) % 2'69)%
2+)(6)2)%69),;0%.)%2+'-0**,1)'(0X
!
$'%7*,*'%.0$$=,22$)6,1)'(0%0%$0%/5(1)'(,$)*H%7'('%.);)7)%)(%L)7'+70%?03F
!
'-() % +)7'+7, % 4 % 5()6, % 0 % )(.)+)11,3)$0 % 57,(.' % 7)(*,77) % 5();0+7,$0 % 20+ % 57' % (0) % $)(B%
)20+*07*5,$)F
!
*5**0%$0%+)7'+70%7'('%6'(.);)70%6'&0%)(*0+/,66),%5()/'+&0%20+%)$%*+,7/0+)&0(*' %.)%
7*,*'%*+,%6$)0(*%0%+)7'+708%G507*'%6'(7)7*0%)(X%]D%5(%)(7)0&0%;)(6'$,*'%.)%'20+,1)'()%
""
30(%.0/)()*0F%cD%5(%)(7)0&0 %;)(6'$,*'%.)%6'(*0(5*)8 %'21)'(,$&0(*0%7522'+*,*' %.,%
6'.)60%'(%.0&,(.
!
5(%2+'*'6'$$'%690%4X%]D%6$)0(*U70+;0+F%%cD%7*,*0$077F%dD%6,69,3$0F%"D%,%$);0$$)
Q(%2+)(6)2)'%/'(.,&0(*,$0%)(%LM@<%4%$=07)7*0(1,%.0$$0%.$7*.7&:
Q1"(4$/&4/"(R(31"(S3"'/$"/$(-1%$%O(.&%"%"(.$(31($1/$-9-(.$(&#-4"0$&1$(.-:$1$%-(#-4(#&%-4(
$1%-4"<$4- ( !&1 ( -//" ( - ( /3::$!$-1%-9-1%- ( $9#&4%"1%- ( ." ( #&%-4 ( -//-4- ( 4$1%4"!!$"%"(
31$@&!"9-1%-("''M$1%-41&(.$(31(/$/%-9"D
Q(%070&2)'%.)%+)7'+7,%25R%0770+0%5(%.'65&0(*'8%5(%+06'+.%)(%5(%.,*,3,70%'%5(%+)75$*,*'%.)%
5(Y'20+,1)'(0%,$%G5,$0%4%7*,*'%/'+()*'%5(%QL!%20+%2'*0+%0770+0%4-#-4$%&:%O-()%+)7'+7,%.0;0%
,;0+0%"'9-1&(5(%QL!%690%$,%).0(*)/)69)%&0(*+0%.50%+)7'+70%.);0+70%('(%2'77'('%,;0+0%5(%
5()6'%QL!%690%).0(*)/)69)%0(*+,&30:%
E'%7*,*'%.0$$0%+)7'+70%;)0(0%6'(70+;,*'%75$%70+;0+%0%&'7*+,*'%,$%6$)0(*%,**+,;0+7'%$0%750%
+,22+070(*,1)'():%E'%7*,*'%.0$$0%,22$)6,1)'()%+)7)0.0%(0$%6$)0(*%,$%/)(0%.)%0770+0%57,*'%20+%
6+0,+0%&'.)/)6,+0%'%6,(60$$,+0%5(,%+)7'+7,:%K%G50$%25(*'%$'%7*,*'%;)0(0%&,(.,*'%,$%70+;0+%
6'&0%2,+*0%.)%5(,%+)69)07*,%0%.);0(*,%5('%7*,*'%.0$$,%+)7'+7,:
!$%6$)0(*%&,()2'$,%$'%7*,*'%.0$$,%+)7'+7,%&,(.,(.'(0%5(,%+,22+070(*,1)'(0%)(%5(,%+)69)07*,%
.)%*)2'%`Q<%'%`O@<:%!$%70+;0+%&,()2'$,%$'%7*,*'%.0$%6$)0(*%&,(.,(.' %+,22+070(*,1)'()%
(0$$0%+)72'7*0%,$$0%+)69)07*0%fM<%.0$%6$)0(*:
<5**0%$0%)(*0+,1)'()%*+,%6$)0(*%0%70+;0+%7'('%&0.),*0%.,%2'69)%&0*'.)%3,7)$,+)%h<<`:%O-()%
+)7'+7,%25R%072'++0%*5**)%'%,$65()%.)%G507*)%&0*'.)%0.%'-()%&0*'.'%/,%$,%7*077,%6'7,%20+%*5**0%
$0%+)7'+70%690%$'%7522'+*,(':
Q(, % +)69)07*, % fM< % 4 % 5(, % +)69)07*, % 20+ % $Y)(/'+&,1)'(0 % +)-5,+.' % ,$$, % +)7'+7,: % !$ % 6$)0(*%
+)69)0.0%$,%+,22+070(*,1)'(0%,**+,;0+7'%5(%QL!%0.%5(,%70+)0%.)%90,.0+:%!$%70+;0+%+07*)*5)760%
$,%+,22+070(*,1)'(0%0.%5(,%70+)0%.)%90,.0+%.)%+)72'7*,:
Q(,%+)69)07*,%`Q<%4%5(Y,//0+&,1)'(0%+)-5,+.'%,$$'%7*,*'%.)%5(,%+)7'+7,:%!$%6$)0(*%&,(.,%5(,%
+,22+070(*,1)'(0 % .0$$, % +)7'+7, % 0. % )$ % 70+;0+ % 6+0, % ' % &'.)/)6, % $, % +)7'+7, % )( % &'.' % 690%
6'++)72'(.,%,$$,%+,22+070(*,1)'(0%.,*,:
Q(,%+)69)07*,%\MEM<M%+)69)0.0%$,%6,(60$$,1)'(0%.0$$,%+)7'+7,:
Q(,%+)69)07*,%`O@<%2+';,%,%6+0,+0%5(,%(5';,%+)7'+7,%.,%5(,%07)7*0(*08%.0$$,%G5,$0%+)75$*0+H%
"#
:$<'$&:%E,%+,22+070(*,1)'(0%)(;),*,%(0$$,%+)69)07*,%`O@<%)(.)6,%$'%7*,*'%)()1),$0%.0$$,%+)7'+7,%
690%.0;0%0770+0%6+0,*,:
H$#-0$*"&'%*6-"$%20$*"$'%)$&"/A7&.T&.
!$%+0G5)7)*'%('(%/5(1)'(,$0%+0$,*);'%,$$0%3.&7/20$*"$'+)69)0.0%690%)$%7)7*0&,%('(%,--)5(-,%
066077);' %6,+)6' %'20+,1)'(,$0 %,$ %70+;0+: %J)R%)&2$)6, %690%*,$0 %7)7*0&, %7), %2+'-0**,*' % )(%
&'., % *,$0 % ., % 20+&0**0+0 % ,$$=5*0(*0 % .) % 0//0**5,+0 % *5**0 % $0 % 6'(/)-5+,1)'() % )( % $'6,$0 % 0 % .)%
2+'2,-,+$0%,$%70+;0+%7'$'%,$$,%/)(0%.0$$,%6'(/)-5+,1)'(08%6'(70(*0(.'%.)%+).5++0%)$%6,+)6'%.)%
65)%7'2+,%0%$=)(6).0(1,%.0$$=';0+90,.%)(7)*'%(0)%2+'*'6'$$)%.)%6'&5()6,1)'(0:%
E,%6'&5()6,1)'(0%*+,%6$)0(*%0%70+;0+8%.5(G508%.0;0%,;;0()+0%7'$'%)(%/,70%.)%7,$;,*,--)'%
.0$$0%6'(/)-5+,1)'()%C.'2'%5(,%2+0;0(*);,%0%('(%,5*'+)*,*);,%;,$).,1)'(0%.0)%.,*)%0//0**5,*,%
2,77'U2,77'%.,$%6$)0(*D%%0%6,+)6,&0(*'%.0$$0%7*0770:
>0$%2,('+,&,%.0$$0%,22$)6,1)'()%690%6'(70(*'('%.)%0//0**5,+0%7)&)$)%'20+,1)'()8%(0%07)7*0%
5(,8%f''-$0%f0,+78%.)7*+)35)*,%6'&0%2+'-0**'%'20(%7'5+608%690%7)%)(*0-+,%/,6)$&0(*0%6'(%)%
3+'A70+ % 2)[ % .)//57) % 0 % 690 %T4-1.- ( #&//$7$'$ ( "##'$!"0$&1$ ( U-7 ( #$V ( #&%-1%$ ( "<<$31<-1.&(
13&@-((:310$&1"'$%O("'(74&U/-4(.-''=3%-1%-WD
!%2+)(6)2,$)%6'&2'(0(*)%.)%f0,+7%7'('X
]: 5(%&'.5$'%\,*,3,70%C3,7,*'%75%@IE)*0D%690%6'(70(*0%.)%6'(70+;,+0%.,*)%)(%$'6,$0F
c: 5(%&'.5$'%?'+B0+`''$%690%,3)$)*,%$=070651)'(0%2,+,$$0$,%.)%6'.)60%r,;,@6+)2*F
d: 5( % &'.5$' % @0+;0+ % $'6,$0 % 690 % 6+0, % 5(, % 6,690 % 0 % 2+';;0.0 % , % /'+()+0 % $0 % +)7'+70%
.0$$=,22$)6,1)'(0%Ch<NE8%r,;,@6+)2*8%)&&,-)()8%0*6DF
": 5(%&'.5$'%\07B*'28%690%6'(70(*0%,$$0%,22$)6,1)'()%.)%)(*0+,-)+0%2)[%(,*5+,$&0(*0%6'(%
)$%.07B*'2F
#: 5( % &'.5$' % f0'$'6,*)'(8 % 690 % 6'(70(*0 % ,$$0 % ,22$)6,1)'() % A03 % .) % $'6,$)11,+0%
-0'-+,/)6,&0(*0%)%2+'2+)%5*0(*):
@/+5**,(.'%f''-$0%f0,+78%5(=,22$)6,1)'(0 %A03%25R%20+)'.)6,&0(*0 %7)(6+'()11,+0 %)%.,*)%
(0$$,%6,690%$'6,$0%6'(%)$%70+;)1)'%'(U$)(0:%!('$*+08%70%('(%4%.)72'()3)$0%5(,%6'((077)'(0%)(%
"P
+0*08%$,%7)(6+'()11,1)'(0%7,+H%.)//0+)*,%/)('%,%G5,(.'%$,%6'((077)'(0%('(%;0++H%7*,3)$)*,%
(5';,&0(*0X % f''-$0 % f0,+78 % G5)(.)8 % 6'(70(*0 % ,$$0 % ,22$)6,1)'() % A03 % .) % $,;'+,+0 % ,(690%
G5,(.'%$=,66077'%,)%70+;)1)%.0$$,%+0*0%4%,770(*0:
f+,1)0%,%G507*,%,22$)6,1)'(08%.5(G508%$=5*0(*0%2'*+H%6'(/)-5+,+0%)$%7)7*0&,8%,--)5(-0(.'8%
&'.)/)6,(.'%'%+)&5';0(.'%+0*)8%70(7'+)%0%2+'2+)0*H8%0%7'$'%G5,(.'%,;+H%/)()*'%0%6$)6690+H%
75$%25$7,(*0%20+%7,$;,+0%$,%6'(/)-5+,1)'(08%)$%6$)0(*%6'&5()690+H%6'(%)$%70+;0+%20+%7,$;,+0%$,%
6'(/)-5+,1)'(0:
?$,-.2'C@]'D';$2,.2662'#$'7&L-&"02
!$%.),-+,&&,%.)%70G50(1,%)(%/)-5+,%c:Z%&'7*+,%$0%)(*0+,1)'()%*+,%5*0(*08%6$)0(*%0%70+;0+:%
<5**0 % $0 % '20+,1)'() % .) % 6'(/)-5+,1)'(0 % 0//0**5,*0 % .,$$=5*0(*08 % G5,$) % ,. % 07 % (0$ % .)70-('%
,--)5(*,%.)%5(,%+0*0%0%.)%5(%70(7'+08%;0(-'('%+0,$)11,*0%)(%$'6,$08%57,(.'%)$%.,*,3,70%.)%
f''-$0%f0,+7%20+%)$%7,$;,*,--)'%.0$$'%7*,*'%.0$$=,22$)6,1)'(0:%@'$'%(0$%&'&0(*'%)(%65)%
$=5*0(*0 % +)69),&, % $, % /5(1)'(0 % S7,$;, % 6'(/)-5+,1)'(0T % )$ % 6$)0(* % )('$*+, % $' % 7*,*'%
.0$$=,22$)6,1)'(0%,$%70+;0+8%690%2+';;0.0%,%6'&5()6,+0%6'(%)$%$);0$$'%.,*,%,66077%.)%)JKK@%
20+%)$%7,$;,*,--)'%.0)%.,*):
"V
2.3.2 Serializzazione dei dati per lo scambio tra client e server
!(%2+060.0(1,%7'('%7*,*)%.)76577)%)%&066,()7&)%.)%6'&5()6,1)'(0%*+,%6$)0(*%0%70+;0+8%6'(%$,%
760$*,%2+'-0**5,$0%.)%5*)$)11,+0%5(%2,+,.)-&,%LOK:%!$%2,+,.)-&,%LOK%2+0;0.0%690%$'%7*,*'%
.0$$=,22$)6,1)'(0%7),%&,(*0(5*'%.,$%6$)0(*8%&0(*+0%)(;060%$'%7*,*'%.0$$,%+)7'+7,%4%7,$;,*'%75$%
70+;0+:%!$%6$)0(*%)(;),%$'%7*,*'%.0$$=,22$)6,1)'(0%,$%70+;0+%6'&0%2,+*0%.)%5(,%+)69)07*,8%0%/,%7_%
.);0(*)%5('%7*,*'%.0$$,%+)7'+7,:%`0+%/,+%7_%690%6)R%,;;0(-,%4%(06077,+)'%690%$'%7*,*'%7),%
)(;),*'%6'++0**,&0(*0%.,$%6$)0(*%,$%70+;0+:%Q('%7*,(.,+.%.0%/,6*'%20+%$'%76,&3)'%.0)%.,*)%0%
.0$$'%7*,*'%.0$$=,22$)6,1)'(0%*+,%6$)0(*%0%70+;0+%4%)$%2+'6077'%.)%70+),$)11,1)'(0:
E'%76'2'%.0$$,%70+),$)11,1)'(0%4%.)%*+,7&0**0+0%$=)(*0+'%7*,*'%.0$$='--0**'%)(%&'.'%690%077'%
2'77,% 0770+0 % 7566077);,&0(*0 %+)6+0,*' % (0$$' % 7*077' %).0(*)6' % 7*,*' %.,$ %2+'6077'% )(;0+7'8%
69),&,*'.0U70+),$)11,1)'(0: % !$ % 2+'6077' % .) % 70+),$)11,1)'(0 % 6'(7)7*0 % (0$ % 6'(;0+*)+0 % 5(,%
7*+5**5+,%.,*)%'%5(%'--0**'%)(%5(,%70G50(1,%.)%3)*8%+0,$)11,*,%706'(.'%5(%/'+&,*'%2,+*)6'$,+0%
690%6'(70(*0%$,%.0U70+),$)11,1)'(0:
Q( % ,720**' % )&2'+*,(*0 % .0$ % 2+'6077' % .) % 70+),$)11,1)'(0 % 4 % 690 % G507*, % .0;0 % 0770+0%
)(.)20(.0(*0%.,$$=,+69)*0**5+,8%20+%2'*0+%&,(*0(0+0%$0%2+'2+)0*H%.0$$='--0**'%,(690%.'2'%)$%
2+'6077'%.)%70+),$)11,1)'(0:%I507*'%7)-()/)6,%690%.0;0%0770+0%2'77)3)$0%+)6'7*+5)+0%$='--0**'%
,%2,+*)+0%.,%5(%/$577'%.,*)%70+),$)11,*'%)(%7)7*0&)%,;0(*)%.)//0+0(*)%,+69)*0**5+0%9,+.A,+0:%!$%
2+'6077'%.)%70+),$)11,1)'(08%G5)(.)8%.0;0%-0(0+,+0%5(%6'.)60%690%('(%,33),%2+'3$0&)%.)%
+0$,*);)%,)%.)//0+0(*)%&'.)%.)%+,22+070(*,+0%$0%7*+5**5+0%.,*)%(0)%.);0+7)%7)7*0&):
Q(=,$*+, % )&2'+*,(*0 % 6,+,**0+)7*)6, % .0$$' % 760&, % .) % 70+),$)11,1)'(0 % 4 % 6908 % 20+ % .0/)()1)'(0%
7*077,%.)%70+),$)11,1)'(08%20+%07*+,++0%5(,%2,+*0%.0$$,%7*+5**5+,%.,*)%70+),$)11,*,%6=4%3)7'-('%
690 % 7), % $0**' % $=)(*0+' % '--0**' % .,$$=)()1)' % ,$$, % /)(0 % 0 % +)6'7*+5)*': % I507*' % +,22+070(*, % 5(%
;,(*,--)'%20+%&'$*0%,22$)6,1)'()8%)(%G5,(*'%+)75$*,%2'77)3)$0%5*)$)11,+0%6'&5()%)(*0+/,660%.)%
!mO%20+%20+7)7*0+0%0%*+,7&0**0+0%$'%7*,*'%.)%5(%'--0**':%!(/)(0%;,$0%$,%20(,%&0(1)'(,+0%)$%
/,**'%690%$,%70+),$)11,1)'(0%&)(,%$=)(6,275$,&0(*'%.)%5(%*)2'%.)%.,*'%,7*+,**'8%+0(.0(.'%
2'77)3)$0%$=072'7)1)'(0 %.)%.0**,-$) %)&2$0&0(*,*);)%2+);,*):%`0+%';;),+0%,%G507*'%72077'%)%
2+'.5**'+) % .) % 7'/*A,+0 % 2+'2+)0*,+) % &,(*0(-'(' % 70-+0*) % ) % .0**,-$) % .0) % /'+&,*) % .)%
70+),$)11,1)'(0%.,%$'+'%5*)$)11,*)%'%'//576,('%)%.,*)%70+),$)11,*):
!( % ?@>J< % )$ % 2+'6077' % .) % 70+),$)11,1)'(0 % 0 % .0U70+),$)11,1)'(0 % .0-$) % '--0**) % 4 % 5(,%
"W
6,+,**0+)7*)6,%.,%)(*+'.5++0%7),%$,*'%6$)0(*%690%$,*'%70+;0+8%20+%-,+,(*)+0%5(%2,77,--)'%.)%7*,*'%
3).)+01)'(,$0:%@'('%7*,*0%20+6)R%2+0;)7*0%.50%6$,77)%690%,77'$;'('%,%G507*'%6'&2)*'8 %$,%
6$,770%70+),$)1,*'+8%690%0//0**5,%$,%70+),$)11,1)'(08%0%$,%6$,770%O3j06*Mn*+,6*'+8%690%0//0**5,%
$,%.0U70+),$)11,1)'(08%6'&0%+,22+070(*,*'%(0$$,%/)-5+,%c:W%.0$%2,+,-+,/'%c:c
2.3.3 Persistenza dello stato dell'applicazione
!( % ,66'+.' % 6'( % ) % +0G5)7)*) % /5(1)'(,$)8 % )$ % 7)7*0&, % .0;0 % 2+0;0.0+0 % 5(' % 7*+5&0(*' % .)%
20+7)7*0(1,%.0$$0%6'(/)-5+,1)'()%.0$$0%+0*)%.)%70(7'+)%A)+0$077:%!('$*+08%)(%3,70%,)%+0G5)7)*)%
('( % /5(1)'(,$)8 % *,$0 % &066,()7&' % .) % 20+7)7*0(1, % ;, % +0,$)11,*' % )( % &'.' % ., % -,+,(*)+0%
$=)(*0+'20+,3)$)*H%6'(%)JKK@:
E,%7'$51)'(0%2)[%6'(;0()0(*0%20+%7'..)7/,+0%0(*+,&3) %)%+0G5)7)*)%4%5*)$)11,+0 %2+'2+)' %)$%
.,*,3,70%.)%)JKK@%20+%$,%20+7)7*0(1,%.0$$0%6'(/)-5+,1)'():
>0$%2,+,-+,/'%]:c:#%4%7*,*'%2+070(*,*'%)$%&'.0$$'%MUL%.0$$,%3,70%.)%.,*)%.0$$=,+69)*0**5+,%
)JKK@:%l0++H%'+,%2+070(*,*'%)$%.,*,3,70%)[email protected]%6'(%2,+*)6'$,+0%+)/0+)&0(*'%,$$0%*,30$$0%
+0,$)11,*0 %20+%$, %20+7)7*0(1, %.0$$0 %6'(/)-5+,1)'()8 %690%+,22+070(*,(' %$, %2,+*0%.0$ %.3 % .)%
&,--)'+0%)(*0+0770%20+%$=,22$)6,1)'(0%?@>J<:
$155B#8
)[email protected]%5*)$)11,%6'&0%\gN@%+0$,1)'(,$0%Ne@G$%.0$$,%@5(%N)6+'7e7*0&7:%!(%/)-5+,%c:]^%
4%&'7*+,*,%$=)(*0+,%7*+5**5+,%.0$%.,*,3,70:%`0+%6),765(,%*,30$$,%7)%2'77'('%('*,+0%-$)%,**+)35*)%
.)%69),;0%2+)&,+),%).0(*)/)6,*)%.,$%7)&3'$' % F%$0%69),;)%07*0+(0%7'('%+,22+070(*,*0%.,-$)%
,**+)35*)%6'(%)$%7)&3'$' % 8%&0(*+0%-$)%,**+)35*)%70&2$)6)%.,$%7)&3'$' % :%!%$0-,&)%*+,%$0%
*,30$$0 % 7'(' % )(.)6,*) % .,) % 6'((0**'+) % .';0 % .,$ % $,*' % .0$$, % *,30$$, % +0/0+0(1),*, % 7) % *+';, % )$%
7)&3'$' %
% % &0(*+0 % .,$ % $,*' % .0$$, % *,30$$, % 690 % +0/0+0(1), % 7) % *+';, % )$ % 7)&3'$' %
% F%
'770+;),&'%690%20+%$0%+0$,1)'()%*+,%69),;)%2+)&,+)0%;)0(0%57,*,%5(,%$)(0,%6'(*)(5,8%&0(*+0%
20+%G50$$0%*+,%5(%,**+)35*'%0.%5(,%69),;0%;)0(0%57,*,%5(,%$)(0,%.)76'(*)(5,:%
"Z
?$,-.2'C@4^'D'B/.-//-.2'#2/2827&'$155B
!
#2/2[% 4 % $, % *,30$$, % )( % 65) % ;0(-'(' % )(70+)*) % *5**) % ) % .,*) % .) % +)$0;,&0(*' % +)60;5*) % .,)%
70(7'+)F
!
"&/X%4%$,%*,30$$,%)(%65)%;0(-'('%7,$;,*)%)%.,*)%+0$,*);)%,$$0%+0*)F
!
-2#X%4%$,%*,30$$,%690%6'(*)0(0%)%.,*)%+0$,*);)%,$$0%5,.F
!
7&"7*.['4%$,%*,30$$,%)(%65)%;0(-'('%7,$;,*)%)%.,*)%+0$,*);)%,)%70(7'+)F
!
3.*3&./>['4%$,%*,30$$,%)(%65)%;0(-'('%7,$;,*)%)%.,*)%+0$,*);)%,$$0%2+'2+)0*HF
!
$63)&6&"/X%*)0(0%*+,66),%.0$$0%2+'2+)0*H%690%'-()%70(7'+0%)&2$0&0(*,F
!
623[%6'(*)0(0%)%.,*)%+0$,*);)%,$$0%&,220%.0$$0%+0*)F
!
6233$",X%4%$,%*,30$$,%)(%65)%;0(-'('%7,$;,*0%$0%6''+.)(,*0%.0$$0%2'7)1)'()%.0)%70(7'+)%
75$$0%&,220F
!
-7&.['6'(*)0(0%)%.,*)%+0$,*);)%,-$)%5*0(*)%690%,660.'('%,$%7)7*0&,F
!
$"/&.&7/[%6'(*)0(0%)%.,*)%+0$,*);)%,)%70(7'+)%.)%)(*0+0770%20+%'-()%5*0(*0
!
6&/2#2/2['6'(*)0(0%$0%20+7'(,$)11,1)'()%.0$$=5*0(*08%+)-5,+.'%7'-$)0%.)%,$$,+&0%0*6
#^
J'&0 % 4 % /,6)$&0(*0 % 6'&2+0(7)3)$08 % 5*)$)11,(.' % $0 % *,30$$0 % (0*8 % 5,.8 % 70(7'+8 % 2+'20+*e8%
)&2$0&0(*8 % &,2 % 0 % &,22)(- % 7) % +)0760 % , % 7,$;,+0 % )( % &'.' % 6'&2$0*' % 0 % 6'(7)7*0(*0 % $,%
6'(/)-5+,1)'(0:%@)%+)07608%6)'48%,%+0(.0+0%20+7)7*0(*0%$'%7*,*'%.0$$=,22$)6,1)'(0:
#]
123$/*)*'G
Realizzazione dello strumento WSNCT
>0$ % 2+070(*0 % 6,2)*'$' % 7) % 6'(*)(5, % )$ % 2+'6077' % .) % 7;)$522'F % 7) % +,--)5(-0 % 5( % $);0$$' % .)%
.0**,-$)' % 2)[ % 0$0;,*' % +)-5,+.' % ) % &066,()7&) % 690 % &5';'(' % )$ % 7)7*0&,8 % .)765*0(.'%
2+)(6)2,$&0(*0%.0$$,%+0,$)11,1)'(0%.0$$0%6$,77)%690%+0,$)11,('%$,%6'(/)-5+,1)'(0%$,*'%70+;0+8%
690 % 9,((' % +,22+070(*,*' % )$ %:&!3/ (2+)(6)2,$0 % .) % G507*' % $,;'+' % .) % *07): % !()1),$&0(*0 % 7)%
2+070(*0+H%5(,%.076+)1)'(0%.0$$0%*06('$'-)0%5*)$)11,*0%20+%$,%+0,$)11,1)'(0%.0$$0%75..0**0%
6$,77)8%.076+);0(.'%$0%&'.,$)*H%.)%5*)$)11'%0%$0%6'(/)-5+,1)'()%.)%*,$)%*06('$'-)0%690%7)%4%
+)*0(5*' %2+0.)$)-0+0: %@566077);,&0(*0 %7)%0(*+0+H%,(6'+,%2)[%2+'/'(.,&0(*0 %(0$ %7)7*0&,8%
2+070(*,(.'(0%)%.0**,-$)%)&2$0&0(*,*);):%@)%07,&)(0+,(('%.5(G50%*5**0%$0%6$,77)%+0,$)11,*08%
.)765*0(.'(0%$0%/5(1)'(,$)*H%0%$0%&'.,$)*H%.)%+0,$)11,1)'(0:%!(/)(08%;0++,(('%.076+)**0%$0%
2+)(6)2,$)%2+'3$0&,*)690%+)76'(*+,*0%0%-$)%,--)'+(,&0(*)%.)%)JKK@%+07)7)%(06077,+)%20+%)$%
6'&2$0*,&0(*'%.0$%7)7*0&,:
3.1 Tecnologie utilizzate
@0-50%5(,%.)7,&)(,%.0$$0%*06('$'-)0%5*)$)11,*0%20+%$,%+0,$)11,1)'(0%.)%?@>J<:
3.1.1 Java e il servlet container Apache Tomcat
`0+ % $, %+0,$)11,1)'(0 %.0$%7)7*0&, %4%7*,*' %2+0760$*' %)$ % %30(%('*'%$)(-5,--)' %r,;, %.)% @5(%
N)6+'7e7*0&7: %r,;, % 4% 5(% $)(-5,--)' %.) %2+'-+,&&,1)'(08 %6+0,*' % 20+ %7'..)7/,+0 % G5,**+'%
76'2)X
]: 0770+0%6'&2$0*,&0(*0%'+)0(*,*'%,-$)%'--0**)F
c: 0770+0%)(.)20(.0(*0%.,$$,%2),**,/'+&,F
d: 6'(*0(0+0%7*+5&0(*)%0%$)3+0+)0%20+%)$%(0*A'+B)(-F
": 0770+0%2+'-0**,*'%20+%070-5)+0%6'.)60%.,%7'+-0(*)%+0&'*0%)(%&'.'%7)65+':
E=070651)'(0%.0)%7'/*A,+0%76+)**)%)(%r,;,%,;;)0(0%*+,&)*0%$=070651)'(0%.0)%3e*06'.0%(0$$,%
#c
r,;, % l)+*5,$ % N,69)(08 % 5( % ,&3)0(*0 % ;)+*5,$0 % 6'7*)*5)*' % ., % 5( % 2+'6077'+0 % 0 % 5( % 7)7*0&,%
'20+,*);'%;)+*5,$0:%!%3e*06'.0%7'('%-0(0+,*)%.,$$=,22'7)*'%6'&2)$,*'+0%r,;,8%,%2,+*)+0%.,$%
6'.)60%7'+-0(*0:
>0$$=,&3)*' % .0$$0 % ,22$)6,1)'() %A038 %@5(% N)6+'7e7*0&7 %9, %.0/)()*' % $0 %7206)/)690 %r@` % 0%
@0+;$0*%20+%$,%+0,$)11,1)'()%.)%,22$)6,1)'()%A03%)(%$)(-5,--)'%r,;,:
r@`%Cr,;,@0+;0+%`,-07D%4%5(,%*06('$'-),%r,;,%20+%$'%7;)$522'%.)%,22$)6,1)'()%A03%690%
/'+()76'('%6'(*0(5*)%.)(,&)6)%)(%/'+&,*'%h<NE%'%iNE%)(%+)72'7*,%,.%5(,%+)69)07*,%.,%
2,+*0%.)%5(%6$)0(*:%E,%*06('$'-),%r@`%4%6'++0$,*,%6'(%G50$$,%.0$$0%70+;$0*:%K$$=,**'%.0$$,%
2+)&,%)(;'6,1)'(0%$0%2,-)(0%r@`%;0(-'('%)(/,**)%*+,.'**0%.,%5(%6'&2)$,*'+0%r@`%)(%70+;$0*:%
E=57' % .0$$, % *06('$'-), % r@` % +)69)0.08 % .5(G508 % $, % 2+070(1, % 75$% A03 % 70+;0+% .) % 5( % 70+;$0*%
6'(*,)(0+ %0%.)%5(%70+;0+%7206)/)6' %r@` %C&'*'+0 %r@`DF%-0(0+,$&0(*0 %70+;$0* %6'(*,)(0+ % 0%
&'*'+0%r@`%7'('%)(*0-+,*)%)(%5(%5()6'%2+'.'**':
E0%70+;$0*%7'('%.0$$0%6$,77)%r,;,%6'(/'+&)%,$%r,;,%@0+;$0*%K`!8%5(%2+'*'6'$$'%*+,&)*0%)$%
G5,$0%5(,%6$,770%r,;,%25R%+)72'(.0+0%,%+)69)07*0 %h<<`:%Q(,%70+;$0*%4%5(%'--0**' %690%
+)60;0%5(,%+)69)07*,%0%-0(0+,%5(,%+)72'7*,%3,7,*,%75%G50$$,%+)69)07*,:%\5(G508%5(,%70+;$0*%
25R%0770+0%5*)$)11,*,%20+%,--)5(-0+0%6'(*0(5*'%.)(,&)6'%,%5(%A03%70+;0+%690%7)%3,7,%75$,%
2),**,/'+&,%r,;,:%E0%70+;$0*%)(*0+,-)76'('%6'(%5(%70+;$0*%6'(*,)(0+8%5(%6'&2'(0(*0%690%
.0;0 % 0770+0 % (06077,+),&0(*0 % 2+070(*0 % 75$ % 70+;0+: % E=)(*0+,1)'(0 % *+, % 70+;$0* % 0 % 70+;$0*%
6'(*,)(0+ % 4 % .0/)()*, % .,$$, % 70+;$0* % K`!8 % 6'(*0(5*, % (0$$, % -0+,+69), % .) % 2,6B,-0 % r,;,%
X"@"ED/-4@'-%:%Q(%70+;$0* %6'(*,)(0+ %4%+072'(7,3)$0 %.0$$,%-07*)'(0 %.0$%6)6$'%.)%;)*, % .0$$0%
70+;$0*78%.0$%&,22,--)'%.)%5(%QLE%,.%5(,%2,+*)6'$,+0%70+;$0*%0%.0$$,%-07*)'(0%.0)%.)+)**)%.)%
,66077'%,$$0%70+;$0*%.,%2,+*0%.0$%6$)0(*:
J'&0%7)%0;)(60%.,$$,%3+0;0%2+070(*,1)'(0%.)%r@`%0%70+;$0*8%6=4%3)7'-('%690%75$%70+;0+%7),%
2+070(*0%5(%70+;$0*%6'(*,)(0+%20+%.0*0+&)(,+0%)%6'(*0(5*)%.)(,&)6)%.0$$0%2,-)(0:%!$%70+;$0*%
6'(*,)(0+%690%7)%4%5*)$)11,*'%4%K2,690%<'&6,*:
K2,690 % <'&6,* % 4 % 5( % 70+;$0* % 6'(*,)(0+ % '20( % 7'5+60 % 7;)$522,*' % .,$$, % K2,690 % @'/A,+0%
b'5(.,*)'(: % @) % 2'(0 % 6'&0 % *+,&)*0 % *+, % )$ % A03 % 0 % $0 % ,22$)6,1)'()8 % /'+(0(.' % *5**0 % $0%
/5(1)'(,$)*H%7206)/)690%.0$%A038%G5,$)%$,%-07*)'(0%.0$$0%7077)'()8%)$%2,77,--)'%.)%2,+,&0*+)%
f0*%0%`'7*8%$,%-07*)'(0%.0-$)%90,.0+%h<<`:%!&2$0&0(*,%$0%7206)/)690%r@`%0%@0+;$0*%.)%@5(%
#d
N)6+'7e7*0&78 % /'+(0(.' % G5)(.) % 5(, % 2),**,/'+&, % 20+ % $=070651)'(0 % .) % ,22$)6,1)'() % A03%
7;)$522,*0%)(%$)(-5,--)'%r,;,:%M=%76+)**'%)(*0+,&0(*0%)(%r,;,%0%25R%G5)(.)%0770+0%070-5)*'%
75%G5,$7),7)%,+69)*0**5+,%75%65)%7),%)(7*,$$,*,%5(,%rlN:
`0+ % 2'*0+ % /5(1)'(,+08 % )$ % 70+;0+ % <'&6,* % ;, % 6'(/)-5+,*' % 6'++0**,&0(*0: % K$$=)(*0+(' % .0$$,%
.)+06*'+e%6'(/%7)%*+';,('%*5**)%)%/)$0%.)%6'(/)-5+,1)'(0%.0$%70+;0+:%!%2+)(6)2,$)%7'('X
!
70+;0+:n&$X%6'(*)0(0%$,%6'(/)-5+,1)'(0%2+)(6)2,$0%.0$%70+;0+F
!
A03:n&$X%4%)$%/)$0%.)%6'(/)-5+,1)'(0%.)%.0/,5$*%.0$$0%,22$)6,1)'()%-07*)*0%.,%<'&6,*:%
`0+%'-()%,22$)6,1)'(0 %4%2'77)3)$0 %.0/)()+0 %5(%2+'2+)'%/)$0%A03:n&$8 %70%('(%07)7*0%
<'&6,*%5*)$)11,%G50$$'%.)%.0/,5$*:%l)0(0%6,+)6,*'%,$$=,;;)'%.)%<'&6,*%0%6'(*)0(0%$0%
)(.)6,1)'() % 75 % G5,$) % 7'(' % $0 % 70+;$0* % .0$$=,22$)6,1)'(0 % 0 % 75 % 6'&0 % .0;'(' % 0770+0%
&,22,*0%+)720**'%,$$=5+$:
E0%,22$)6,1)'()%690%5*)$)11,('%<'&6,*%.0;'('%0770+0%'+-,()11,*0%)(%5(,%7*+5**5+,%7*,(.,+.:%
O-()%,22$)6,1)'(0%.0;0%,;0+0%5(%('&0%690%.0;0%6'++)72'(.0+0%,$%('&0%.0$$,%.)+06*'+e%)(%
65) % ) % 75') % /)$0 % 7'(' % &0&'+)11,*): % E, % 6,+*0$$, % .0$$=,22$)6,1)'(0 % .0;0 % 6'(*0(0+0 % ,$65(0%
7'**'6,+*0$$0X
&
?MgU!>bX % 6'(*)0(0 % *5**0 % $0 % 6$,77) % .0$$=,22$)6,1)'(0 % 0 % )$ % /)$0 % A03:n&$ % .)%
6'(/)-5+,1)'(0%.0$$=,22$)6,1)'(0:
&
$
J$,7707X%6'(*)0(0%*5**0%$0%6$,77)%70+;$0*%j,;,%6'&2)$,*0:
$
E)3X%6'(*)0(0%$0%$)3+0+)0%5*)$)11,*0%.,$$=,22$)6,1)'(08%7'**'%/'+&,%.)%/)$0%:j,+:
NM<KU!>bX % 4 % 5(, % 7'**'6,+*0$$, % '21)'(,$0 % 0 % 6'(*)0(0 % )$ % /)$0 % 6'(*0(*:n&$ % .)%
6'(/)-5+,1)'(0%.0$%6'(*07*'%.0$$=,22$)6,1)'(08%';;0+'%$=,&3)0(*0%)(%65)%$=,22$)6,1)'(0%
'20+0+H:%
!$%6'.)60%d:]%4%+,22+070(*,%$,%6'(/)-5+,1)'(0%.0$%/)$0%A03:n&$%20+%$=,22$)6,1)'(0%?@>J<:
#"
#$%&'"()*+,!-.!"#$!")-/!0,-1.!%&'()!$2
#3)45677",0.!*+,-../01!"()*+,!-.!2#3!4
%&'-+.!566.7889:;:#<=>#?@A8BAC8><892++!4
%&'-+8%+,.!566.788DDD#DE#@FG82$$"8HIJK?5+A:(L><6:>?+!4
%+,8+/9)&6:!/6;,!-.!566.7889:;:#<=>#?@A8BAC8><892++4
566.7889:;:#<=>#?@A8BAC8><892++8D+,(:../2/3#B<M!2
#0,+7'6<5-6&)2
,=>>??)*(=!-@#A0,+7'6<5-6&)2
#+)*(');2
#0)+/*,7;,!-2?)*(');"7)*"'6"/!-@,1B*6C,!-)"0,"B-"
-B!(!",&7,6-;!#A0)+/*,7;,!-2
#0,+7'6<5-6&)2=!-@?)*(#A0,+7'6<5-6&)2
#+)*(');5-6&)2=!-@?)*(#A+)*(');5-6&)2
#+)*(');5
/'6++2!*1D,/66+D/!-@,1B*6;,!-D+)*(');D=!-@?)*(#A+)*(');5/'6++2
#A+)*(');2
#+)*(');5&677,-12
#+)*(');5-6&)2=!-@?)*(#A+)*(');5-6&)2
#B*'576;;)*-2A=!-@?)*(#AB*'576;;)*-2
#A+)*(');5&677,-12
#3)'/!&)5@,')5',+;2
#3)'/!&)5@,')2,-0)%D9;&'#A3)'/!&)5@,')2
#3)'/!&)5@,')2,-0)%D9;&#A3)'/!&)5@,')2
#3)'/!&)5@,')2,-0)%DE+7#A3)'/!&)5@,')2
#3)'/!&)5@,')20)@6B';D9;&'#A3)'/!&)5@,')2
#3)'/!&)5@,')20)@6B';D9;&#A3)'/!&)5@,')2
#3)'/!&)5@,')20)@6B';DE+7#A3)'/!&)5@,')2
#A3)'/!&)5@,')5',+;2
#+)*(');2
#+)*(');5-6&)2E+!-=*)6;!*#A+)*(');5-6&)2
#+)*(');5
/'6++2!*1D,/66+D/!-@,1B*6;,!-D+)*(');DE+!-=*)6;!*#A+)*(');5
/'6++2
#A+)*(');2
#+)*(');5&677,-12
#+)*(');5-6&)2E+!-=*)6;!*#A+)*(');5-6&)2
#B*'576;;)*-2AE+!-=*)6;!*#AB*'576;;)*-2
#A+)*(');5&677,-12
""""#3)'/!&)5@,')5',+;2
""""""""#3)'/!&)5@,')2E+!-=*)6;!*D9;&'#A3)'/!&)5@,')2
""""""""#3)'/!&)5@,')2E+!-=*)6;!*D9;&#A3)'/!&)5@,')2
""""""""#3)'/!&)5@,')2E+!-=*)6;!*DE+7#A3)'/!&)5@,')2
"""""""
""""#A3)'/!&)5@,')5',+;2
1*#$%&'G@4'D'%*"+$,-.20$*"&'+$)&'=&8@_6)'#$'EBF1Y
3.1.2 JSON come formato per lo scambio dati client-server
>0$%2,+,-+,/'%c:d:c%,33),&'%.)76577'%.0$$,%(06077)*H%.)%0//0**5,+0%5(,%70+),$)11,1)'(0%.0$$'%
7*,*'%.0$$=,22$)6,1)'(0%0%.0$$0%+)7'+70%20+%0//0**5,+0%$'%76,&3)'%.0)%.,*)%*+,%6$)0(*%0%70+;0+:%
##
!(%G507*'%&'.'8%6'(%5(%2+'6077'%.)%.0U70+),$)11,1)'(08%4%2'77)3)$0%+)6'7*+5)+0%07,**,&0(*0%
$='--0**' % ' % $, % 7*+5**5+, % .,*) % )( % 2+060.0(1, % 70+),$)11,*,: % M7)7*'(' % ;,+) % /'+&,*) % 20+ % $,%
70+),$)11,1)'(0 %.0)%.,*)8%&, %20+%$,%75,%/$077)3)$)*H %0%70&2$)6)*H %7)%4%760$*' %.)%5*)$)11,+0%
r@O>:
r@O>%(,760%2+'2+)'%6'&0%/'+&,*'%20+%$'%76,&3)'%.)%.,*)%0%7)%3,7,%75%5(%7'**')(7)0&0%.0$%
$)(-5,--)' % .) % 2+'-+,&&,1)'(0 % r,;,76+)2*: % `0+ % $, % 75, % 7*+5**5+, % 07*+0&,&0(*0 % )(*5)*);,8%
+)75$*,%0770+0%/,6)$0%.,%$0--0+0%0%76+);0+0%20+%$0%20+7'(08%&,%,$%6'(*0&2'%/,6)$0%.,%-0(0+,+0%
0%.,%,(,$)11,+0%7)(*,**)6,&0(*0%20+%$0%&,669)(0:%
r@O> % 4 % 5( % /'+&,*' % .) % *07*' % 6'&2$0*,&0(*0 % )(.)20(.0(*0 % .,) % $)(-5,--) % .)%
2+'-+,&&,1)'(08 % &, % 5*)$)11, % 6'(;0(1)'() % 6'('76)5*0 % .,) % 2+'-+,&&,*'+) % .) % &'$*) % .0)%
$)(-5,--)%.)%2+'-+,&&,1)'(0%6'('76)5*)F%)('$*+08%2')69a%)$%*e207e7*0&%.)%&'$*)%$)(-5,--)%
.)%2+'-+,&&,1)'(0%4%&'$*'%7)&)$0%,%G50$$'%.0/)()*'%.,%r@O>8%)$%6'.)60%20+%)$%2,+7)(-%0%$,%
-0(0+,1)'(0 % .) % .,*) % r@O> % 4 % .)72'()3)$0 % 20+ % &'$*)77)&) % $)(-5,--) % .) % 2+'-+,&&,1)'(0:%
I507*0%6,+,**0+)7*)690%/,(('%.)%r@O>%5(%$)(-5,--)'%).0,$0%20+%$'%76,&3)'%.)%.,*):
E0%7*+5**5+0%.,*)%,$$,%3,70%.)%r@O>%7'('%20(7,*0%20+%0770+0%)$%2)[%5();0+7,$)%2'77)3)$08%0%20+%
0770+0%;)+*5,$&0(*0%7522'+*,*0%.,%*5**)%)%$)(-5,--)%.)%2+'-+,&&,1)'(0%&'.0+():%M77'%4%
3,7,*'%75%.50%7*+5**5+0X
'
Q(%)(7)0&0%.)%6'22)0%('&0m;,$'+0:%!(%r,;,8%G507*'%)(7)0&0%4%+0,$)11,*'%6'&0%5(%
'--0**':
'
Q(%0$0(6'%'+.)(,*'%.)%;,$'+):%!(%r,;,%7)%+0,$)11,%6'(%5(%,++,e:
!(%2,+*)6'$,+08%5(%'--0**'%4%5(,%70+)0%('(%'+.)(,*,%.)%('&)m;,$'+):%Q(%'--0**'%)()1),%6'(%5(%
s%C2,+0(*07)%-+,//,%7)()7*+,D%0%/)()760%6'(%t%C2,+0(*07)%-+,//,%.07*+,D:%O-()%('&0%4%70-5)*'%
., % X % C.50 % 25(*)D % 0 % $, % 6'22), % ('&0m;,$'+0 % 4 % 702,+,*, % ., % 5(, % 8 % C;)+-'$,D: % Q(' % 7690&,%
7*+5**5+,$0%.)%5(%'--0**'%r@O>%4%+,22+070(*,*'%)(%/)-5+,%d:]
?$,-.2'G@4'D'7%:&62'7/.-//-.2)&'#$'-"'*,,&//*'`BIF
#P
Q(%,++,e%4%5(,%+,66'$*,%'+.)(,*,%.)%;,$'+):%Q(%,++,e%6'&)(6),%6'(%u%C2,+0(*07)%G5,.+,%
7)()7*+,D%0%/)()760%6'(%v%C2,+0(*07)%G5,.+,%.07*+,D:%!%;,$'+)%.0$$=,++,e%7'('%702,+,*)%.,%8%
C;)+-'$,D:%!(%/)-5+,%d:c%4%2'77)3)$0%;0.0+0%5('%7690&,%7*+5**5+,$0%.)%5(%,++,e%r@O>
?$,-.2'G@C'D'7%:&62'7/.-//-.2)&'2..2>'`BIF
Q(%;,$'+0(25R%0770+0%5(,%7*+)(-,%*+,%;)+-'$0**08%'%5(%(5&0+'8%'%;0+'%'%/,$7'%'%(5$$'8%'%5(%
'--0**'%'%5(%,++,e8%6'&0%072$)6)*,*'%)(%/)-5+,%d:d
?$,-.2'G@G'A'Y$3*)*,$&'#$'T2)*.$'`BIF
<5**0 % $0 % 7*+5**5+0 % 2+070(*,*0 % 2'77'(' % 0770+0 % ,(().,*08 % -,+,(*0(.' % 5(, % .)(,&)6)*H % .0$%
/'+&,*'%690%20+&0**0%.)%+,22+070(*,+0%)(%r@O>%2+,*)6,&0(*0%G5,$7),7)%7*+5**5+,%.,*):
J'&0 % 7206)/)6,*' % 2+060.0(*0&0(*08 % &'$*) % $)(-5,--) % .) % 2+'-+,&&,1)'(0 % &0**'(' % ,%
.)72'7)1)'(0%/5(1)'()%20+%)%2,+7)(-%0%$,%-0(0+,1)'(0%.)%'--0**)%r@O>:%`0+%G5,(*'%+)-5,+.,%
r,;,8%)(%2,+*)6'$,+08%07)7*'('%;,+)%2,6B,-0%20+%$,%-07*)'(0%.)%'--0**)%r@O>8%*+,%65)%4%7*,*'%
760$*'%)$%2,6B,-0 %&4<DX/&1% 690%6'(*)0(0%5(,%70+)0%.)%6$,77)%690%20+&0**'('%2+,*)6,&0(*0%
#V
*5**0%$0%'20+,1)'()%2'77)3)$)%75)%j7'(8%,%2,+*)+0%.,$%2,+7)(-%0%$,%-0(0+,1)'(08%/)('%,.%,++);,+0%
,$$,%6'(;0+7)'(0%.)%7*+)(-90%r@O>%)(%,$*+)%$)(-5,--)%.)%70+),$)11,1)'(08%6'&0%$=iNE8%0%,$$,%
6'(;0+7)'(0%.)%6''B)07%'%90,.0+7%h<<`%)(%7*+)(-90%r@O>%0%;)60;0+7,:%>0$%7566077);'%
2,+,-+,/' % +)-5,+.,(*0 % ) % .0**,-$) % )&2$0&0(*,*);)8 % 7,+,((' % 2+070(*,*0 % $0 % 6$,77) % .) % G507*'%
2,6B,-0%5*)$)11,*0%.,$%7)7*0&,8%6'(%072$)6)*)%+)/0+)&0(*)%,$%6'.)60%+0,$)11,*':
3.1.3 Persistenza dei dati con Hibernate
>0$%2,+,-+,/'%c:d:d%7'('%7*,*0%)(*+'.'**0%$0%760$*0%2+'-0**5,$)%+)-5,+.'%$,%20+7)7*0(1,%.0)%
.,*)%+0$,*);)%,$$=,22$)6,1)'(0%(0$%7)7*0&,%?@>J<%0%$0%&'*);,1)'()%690%9,(('%2'+*,*'%,.%
0//0**5,+0 % *,$) % 760$*0: % @) % 4 % .06)7'8 % G5)(.)8 % .) % 5*)$)11,+0 % )$ % .,*,3,70 % .) % )JKK@ % 20+ % $,%
20+7)7*0(1,%.0)%.,*)8%0.%4%7*,*,%2+070(*,*,%$,%7*+5**5+,%.0$%.,*,3,708%6'(%+)/0+)&0(*'%,$$0%
*,30$$0%690%)(*0+077,('%,$%7)7*0&,%?@>J<:
!(%G507*'%2,+,-+,/'8%;0(-'('%2+070(*,*0%$0%*06('$'-)0%,$$,%3,70%.0$%$);0$$'%.,*,%,66077%.)%
)JKK@8%6'(%2,+*)6'$,+0%,**0(1)'(0%,$$0%6$,77)%6'(%65)%)$%7)7*0&,%?@>J<%,(.+H%,%6''20+,+0%
20+%+0,$)11,+0%$,%20+7)7*0(1,%.0)%.,*):
Z$8&."2/&
!$%.,*,%,660778%$'%7*+,*'%7'/*A,+0%690%20+&0**0%,$%7)7*0&,%)JKK@%0%,$$0%,22$)6,1)'()%07*0+(0%
.)%)(*0+,-)+0%6'(%)$%\gN@8%4%7*,*'%+0,$)11,(.'%5*)$)11,(.'%$,%2),**,/'+&,%h)30+(,*0:%
h)30+(,*0%4%5(,%2),**,/'+&,%&)..$0A,+0%'20(%7'5+60%20+%$'%7;)$522'%.)%,22$)6,1)'()%r,;,%
690%/'+()760%5(%70+;)1)'%.)%O3j06*U+0$,*)'(,$%&,22)(-%COLND8%';;0+' %h)30+(,*0%4%5('%
7*+5&0(*'%.)%&,22,--)'%*+,%'--0**)%0%+0$,1)'()%COLD%20+%-$)%,&3)0(*)%3,7,*)%75%j,;,:%!$%
*0+&)(0%q&,22,--)'%'--0**'U+0$,1)'(,$0q%Cq'3j06*%+0$,*)'(,$%&,22)(-q%'%OLN%)(%)(-$070D%
7)%+)/0+)760%,$$,%*06()6,%.)%6+0,+0%5(,%6'++)72'(.0(1,%C&,22,+0D%*+,%5(,%+,22+070(*,1)'(0%.)%
.,*)%706'(.'%)$%&'.0$$'%,%'--0**)%0%G50$$,%706'(.'%)$%&'.0$$'%+0$,1)'(,$08%6'(%5('%7690&,%
3,7,*'%75%@IE:
h)30+(,*0%7)%'6652,%('(%7'$'%.0$%&,22,--)'%.,$$0%6$,77)%r,;,%,$$0%*,30$$0%.0$$,%3,70%.)%.,*)%
#W
C0%.,)%*)2)%.)%.,*'%r,;,%,%G50$$)%@IED8%&,%/'+()760%,(690%/5(1)'(,$)*H%.)%)(*0++'-,1)'(0%0%
+06520+'%.0)%.,*)%CG50+eD8 %-0(0+,%$0%69),&,*0%@IE%0%*'-$)0%,$$'%7;)$522,*'+0%)$%$,;'+'%.)%
+06520+'%&,(5,$0%.0)%.,*)%0%$,%$'+'%6'(;0+7)'(0:%`5R8%G5)(.)8%+).5++0%7)-()/)6,*);,&0(*0%)%
*0&2)%.)%7;)$522'%,$*+)&0(*)%)&2)0-,*)%)(%,**);)*H%&,(5,$)%.)%-07*)'(0%.0)%.,*)%)(%@IE%0%
r\gJ:%
?$,-.2'G@M'D'5.%:$/&//-.2'#$'Z$8&."2/&
E,%/)-5+,%d:"%&'7*+,%5(,%;)7)'(0%.)%,$*'%$);0$$'%.0$$=,+69)*0**5+,%.)%h)30+(,*0:%!$%3$'66'%
iNE%N,22)(-%+,22+070(*,%$=)(7)0&0%.0)%/)$0%iNE%(06077,+)%20+%$,%6'(/)-5+,1)'(0%.0$%
/+,&0A'+B%0%20+%)$%&,22,--)':%!$%3$'66'%`0+7)7*0(*%O3j06*%)(;060%).0(*)/)6,%$0%)7*,(10%.)%
6$,77)%&,22,*0%75$%.,*,3,70:%h)30+(,*0%/5(1)'(,%&0-$)'%6'(%)$%&'.0$$'%.0-$)%'--0**)%`OrO%
C`$,)( % O$. % r,;, % O3j06*D % 20+ % $0 % 6$,77) % 20+7)7*0(*): % Q( % `OrO % 4 % 2)[ % ' % &0(' % 6'&0 % 5(%
r,;,g0,(8%6'(%2+'2+)0*H%,66077)3)$)%*+,&)*0%&0*'.)%q-0**0+q%0%q70**0+q%C+)720**);,&0(*0%20+%
+06520+,+0 % 0 % )&2'7*,+0 % $0 % 2+'2+)0*HD8 % &,7690+,(.' % $, % +,22+070(*,1)'(0 % )(*0+(, % *+,&)*0%
$=)(*0+/,66),%2533$)6,&0(*0%;)7)3)$0:%
1*"+$,-.20$*"&'&'/.2"720$*"$
`')69a%h)30+(,*0%4%2+'-0**,*'%20+%/5(1)'(,+0%)(%&'$*)%,&3)0(*)%.)//0+0(*)8%6)%7'('%5(%-+,(%
#Z
(5&0+'%.)%2,+,&0*+)%.)%6'(/)-5+,1)'(0:%b'+*5(,*,&0(*08%$,%&,--)'+%2,+*0%9,(('%.0)%;,$'+)%
2+0.0/)()*)8%0%h)30+(,*0%;)0(0%.)7*+)35)*'%6'(%5(%/)$0%8$7-41"%-D#4&#-4%$-/(.)%070&2)'8%690%
&'7*+, % $0 % .)//0+0(*) % '21)'() % 2'77)3)$): % @'$)*,&0(*0 % 4 % 75//)6)0(*0 % &0**0+0 % G50$ % /)$0 % (0$%
6$,772,*9 % 0 % ,22$)6,+0 % $0 % &'.)/)690 % (06077,+)0 % 20+ % )$ % 2+'2+)' % ,&3)0(*0: % Q(, % )7*,(1, % .)%
&4<D8$7-41"%-D!:<D6&1:$<34"%$&1 (+,22+070(*, % $, % 6'(/)-5+,1)'(08 % ';;0+' % 5( % )(7)0&0%
6'&2$0*'%.)%6'++)72'(.0(10%*+,%)%*)2)%j,;,%.0/)()*)%)(%5(=,22$)6,1)'(0%0%$0%*,30$$0%.)%5(%
.,*,3,70%@IE:%<,$)%6'++)72'(.0(10%'%&,22)(-%;0(-'('%6'&2)$,*)%,**+,;0+7'%;,+)%/)$0%iNE%
.)%6'(/)-5+,1)'(0%.0/)()*)%.,$$=5*0(*0:
E,%6&1:$<34"%$&1(;)0(0%57,*,%20+%6'7*+5)+0%5(%'--0**'%>-//$&1,"!%&4Y(C)&&5*,3)$0D8%0.%4%
6'(7).0+,*,%5(%'--0**'%q.,%/,70%.)%6'(/)-5+,1)'(0q8%690%;,%6)'4%76,+*,*'%5(,%;'$*,%690%5(,%
>-//$&1,"!%&4Y (7), % 7*,*, % 6'7*+5)*,: % E, %>-//$&1,"!%&4Y (4 % 5( % '--0**' % S*9+0,.U7,/0T % 690%
+,--+522,%*5**)%)%&,22,--)%6'&2)$,*)%0.%4%5(,%/,6*'+e%20+%'--0**)%.)%*)2' %>-//$&1:%Q(,%
>-//$&1(4%5(%'--0**'%&'('U*9+0,.8%.)%3+0;0%.5+,*,8%690%+,22+070(*,%5(,%7077)'(0%.)%$,;'+'%
20+%$=,22$)6,1)'(08%690%)(6,275$,%5(,%6'((077)'(0%r\gJ%0.%,$$=)(*0+('%.0$$,%G5,$0%2'77'('%
0770+0 % /,**0 % 5(, % ' % 2)[ % *+,(7,1)'(): % E, %>-//$&1 ()(/,**) % 4 % 5(, % /,6*'+e % 20+ % -$) % '--0**)%
I4"1/"!%$&18%690%+,22+070(*,('%$0%5()*H%.)%$,;'+'%,*'&)690%20+%$0%,22$)6,1)'():%I5)(.)8%
G5,(.'%5(%,22$)6,1)'(0%;5'$0%)(*0+,-)+0%6'(%$,%3,70%.)%.,*)%.';+HX%
]D%)7*,(1),+0%)$%*)2'%6&1:$<34"%$&18%6'7,%'**0()3)$0%)(%;,+)%&'.)F%
cD%)7*,(1),+0%)$%*)2'%>-//$&1,"!%&4Y ()(;'6,(.'%)$%&0*'.' %73$'.>-//$&1,"!%&4Y (75$$=)7*,(1,%
.)%6&1:$<34"%$&1A(
dD % )7*,(1),+0 % )$ % *)2' %>-//$&1 (,**+,;0+7' % )$ % &0*'.' %&#-1>-//$&1 (.0$$=)7*,(1, % .)%
>-//$&1,"!%&4Y8%'20+,1)'(0%690%6'++)72'(.0%,$$=,20+*5+,%.)%5(,%7077)'(0%.)%$,;'+'F%
"D % )7*,(1),+0 % )$ % *)2' %I4"1/"!%$&1 (,**+,;0+7' % )$ % &0*'.' %7-<$1I4"1/"!%$&1 (.0$$=)7*,(1, % .)%
>-//$&18%'20+,1)'(0%690%6'++)72'(.0%,$$,%6+0,1)'(0%.)%5(,%*+,(7,1)'(0F%
\'2'%,;0+%070-5)*'%G507*)%2,77)%$=,22$)6,1)'(0%25R%'20+,+0%)(;'6,(.'%&0*'.)%75$$=)7*,(1,%
.0$$,%>-//$&18%690%7)%*+,.56'('%)(%'20+,1)'()%(0$$,%*+,(7,1)'(0:%@0%*5**'%;,%,%35'(%/)(08%20+%
+0(.0+0%0//0**);0%$0%&'.)/)690%0//0**5,*0%.,$$,%*+,(7,1)'(08%3)7'-(0+H%)(;'6,+0%)$%&0*'.'%
!&99$% (75$$=)7*,(1, %.) %I4"1/"!%$&1F%70%)(;060 %G5,$6'7,%('(%;,%20+%)$ %;0+7'%-)57*'%0% 7)%
;'-$)'(' % ,((5$$,+0 % $0 % &'.)/)690 % 3)7'-(0+H % /,+0 % )$ %4&''7"!; (.0$$, % *+,(7,1)'(08 % 6'7,%
P^
'**0()3)$0%)(;'6,(.'%)$%&0*'.'%'&'()&'%75$$=)7*,(1,%.)%I4"1/"!%$&1:
?$,-.2'G@U'D'32//&."'7&77$*"A3&.A%*"T&.72/$*"
`0+%$,%-07*)'(0%.0$$0%7077)'()8%)JKK@%5*)$)11,%5(%2,**0+(%/-//$&1Z#-4Z!&1@-4/"%$&1(C/)-5+,%
d:#D8%)(%65)%$,%7077)'(0%)(6$5.0%2)[%*+,(7,1)'(): %I507*,%760$*,%4%7*,*,%/,**,%2')69a%'-()%
>-//$&1% )(6,275$,%5(,%6'((077)'(0%6'(%)$%.,*,3,708%0%,2+)+0%'-()%;'$*,%5(,%6'((077)'(0%
25R%+)75$*,*0%.)720(.)'7':
!)')$T&))*'#$'3&.7$7/&"02%
`0+%6),765(,%*,30$$,%.) %$655>.78%7'('%7*,*0%+0,$)11,*0%.0$$0%)(*0+/,660%(0$$'%7*)$0%`OrO8%
6+0,(.'%.0)%&0*'.)%S-0**0+T%0%S70**0+T%20+%'-()%2+'2+)0*H:%J)%7'('%20+R%,$65(0%*,30$$0%690%
7'('%$0-,*0%,$$0%,$*+0%*+,&)*0%;)(6'$)%.)%)(*0-+)*H%+0/0+0(1),$0:%@'**'%G507*'%25(*'%.)%;)7*,%
h)30+(,*0%+)75$*,%5('%7*+5&0(*'%&'$*'%2'*0(*0%)(%G5,(*'%6'(70(*0%.)%6+0,+0%,$$=)(*0+('%.0$$0%
6$,77)%20+7)7*0(*)%5(%+)/0+)&0(*'%20+%'-()%,77'6),1)'(0%*+,%*,30$$0:%K%*)*'$'%.=070&2)'%7)%
&'7*+,%$=)(*0+/,66),%F[-%(&,22,*,%75$$,%*,30$$,%1-%(.)%$655>.7X%
?$,-.2'G@V'D'!"/&.+2%%$2'!F&/
P]
J'&0%7)%25R%'770+;,+0%.,$$,%/)-5+,%d:P8%'$*+0%,.%,;0+%6+0,*'%)%&0*'.)%-0**0+%0%70**0+%20+%'-()%
,**+)35*'%.0$$,%*,30$$,8%690%G5)(.)%7,+,(('%.0$$0%2+'2+)0*H%20+%$,%6$,770%690%)&2$0&0(*,%
$=)(*0+/,66),8%6)%7'('%,(690%)%&0*'.)%<-%>-1/&4(0%/-%>-1/&48%690%20+&0**'('%.)%&,()2'$,+0%
*5**0%$0%)7*,(10%.0$$,%*,30$$, %/-1/&4 (690%+0/0+0(1),('%5(,%)7*,(1,%2,+*)6'$,+0%.0$$,%*,30$$,%
1-%: % @'7*,(1),$&0(*08 % 5(, % ;'$*, % )7*,(1),*' % 5( % '--0**' % 20+7)7*0(*0 % .) % *)2' %F[-% (690%
+,22+070(*,%5(,%2,+*)6'$,+0%)7*,(1,%.)%5(,%+0*08%4%2'77)3)$0%+)6,;,+0%*5**)%-$)%'--0**)%.)%*)2'%
F>-1/&48 % 6)'4 % *5**) % ) % 70(7'+) % 690 % ,22,+*0(-'(' % ,$$, % +0*08 % 70&2$)60&0(*0 % )(;'6,(.' % )$%
&0*'.'%<-%>-1/&48%70(1,%.';0+%0//0**5,+0%(0775(,%G50+e%,$%.,*,3,70:
!$ % &066,()7&' % .) % 6,+)6,&0(*' % .0$$='--0**' % ;)0(0 % -07*)*' % ., % h)30+(,*0 % 690 % 6+0,%
,5*'&,*)6,&0(*0%$0%G50+e%G5,(.'%)7*,(1),%$='--0**':%K225(*'%20+%*,$0%&'*);'%*,$0%7*+,*0-),%
('(%4%7*,*,%,22$)6,*,%,%*5**0%$0%+0$,1)'()%)(%0(*+,&3)%)%;0+7)%.0$$=,77'6),1)'(08%&,%7'$*,(*'%,%
G50$$0%0(*)*H%20+%65)%4%7*,*'%+)*0(5*'%'22'+*5(':%K.%070&2)'%5(%70(7'+0%0.%5(,%2+'2+)0*H%
7'('%$0-,*)%,**+,;0+7'%$=,77'6),1)'(0%.)%)&2$0&0(*,1)'(08%+0,$)11,*,%,**+,;0+7'%5(,%*,30$$,%
.)%6+'778%690%(0$%.'&)()'%.)%)JKK@%+,22+070(*,%5(,%6$,770%20+7)7*0(*0%CFJ4&#-4%YF9#'D:%!(%
G507*' % 6,7' % 4 % 7*,*' % .06)7' % .) % )(6$5.0+0 % (0$$=)(*0+/,66), %FJ4&#-4%YF9#' () % &0*'.) % 690%
20+&0**'('%.)%+)6,;,+0%$=)7*,(1,%.0$$, %#4&#-4%Y (,77'6),*,8%&,%('(%)$%;)60;0+7,8%)(%G5,(*'%
('( % 4 % 7*,*' % +)*0(5*' % (06077,+)' % *0(0+0 % *+,66), % .) % *5**) % ) % 70(7'+) % 690 % )&2$0&0(*,(' % 5(,%
2,+*)6'$,+0%2+'2+)0*H:%
`0+%6'(6+0*)11,+0%)$%&,22,--)'%*+,%$0%)(*0+/,660%,220(,%.)765770%0%$0%*,30$$0%7'('%7*,*)%
+0,$)11,*)%.0)%/)$0%iNE%.)%6'(/)-5+,1)'(0%6908%'$*+0%,%20+&0**0+0%$,%.0/)()1)'(0%.)%*,(*0%
6,+,**0+)7*)690 % .) % 6'(/)-5+,1)'(08 % 20+&0**'(' % .) % ,77'6),+0 % ) % 6,&2) % ,$$0 % 2+'2+)0*H % .0$$0%
6$,77):%!('$*+0%(0)%/)$0%iNE%.)%6'(/)-5+,1)'(0%7'('%2+0;)7*)%.0)%*,-%690%6'(/0+)76'('%,$$0%
6$,77) % 20+7)7*0(*) % $, % 6,+,**0+)7*)6, % .) % 07*0(7)3)$)*H: % !(/,**)8 % h)30+(,*0 % 20+&0**0 % $,%
.0*0+&)(,1)'(0%,%*0&2'%.)%070651)'(0%.0$$='--0**'%20+7)7*0(*0%690%7)%)(*0(.0%)7*,(1),+0:%`0+%
'-() % 6$,770 % &,22,*, % ;)0(0 % ,77'6),*' % 5( % ;,$'+0 % .)76+)&)(,*'+)': % @) % 2'77'(' % .5(G50%
.)69),+,+0%;,+)0%7'**'6$,77)%.0$$=)(*0+/,66),8%'-(5(,%6'(*+,..)7*)(*,%.,%5(%2+'2+)'%;,$'+0%
.)76+)&)(,*'+)':%K%*0&2'%.=070651)'(0%;)0(0%6,$6'$,*'%)$%;,$'+0%.)76+)&)(,*'+)'%.0$$=)7*,(1,%
)( % 3,70% ,$ %;,$'+0 %6'(*0(5*' %(0$$, % 6'$'((, %!'"//% .0$$, % *,30$$, % 0% ;)0(0 % ,5*'&,*)6,&0(*0%
)7*,(1),*,%$,%6$,770%6'++)72'(.0(*0%,$%;,$'+0%6,$6'$,*':
Pc
J'&0%070&2)'%)(%/)-5+,%d:V%7)%&'7*+,%$,%*,30$$,%[-%%690%)&2$0&0(*,%$=)(*0+/,66),%F[-%X%
?$,-.2'G@W'D';$2,.2662'%)277&'F&/
a&'%)277$'3&.')R2%%&77*'2)'#2/2827&
)JKK@%2+0;0.0%5('%7*+,*'%7'/*A,+0%690%-07*)760%-$)%'--0**)%20+7)7*0(*)%08%,**+,;0+7'%G507*,%
-07*)'(08%20+&0**0%,$$=,&&)()7*+,*'+08%'%,-$)%,$*+)%$);0$$)%.0$$=,+69)*0**5+,8%.)%)(*0+,-)+0%6'(%
$, % 3,70 % .) % .,*): % I507*' % 7*+,*' % 20+&0**0 % $=)(70+)&0(*'8 % ,--)'+(,&0(*'8 % 0$)&)(,1)'(08%
+)69)07*,%.)%5(%+06'+.%0%+)69)07*0%.)%*5**)%)%+06'+.%.)%5(,%*,30$$,8%+06'+.%690%';;),&0(*0%
,$$=)(*0+(' % .0$$=,22$)6,1)'(0 % 7,+,((' % '--0**) % 20+7)7*0(*): % <,$) % '20+,1)'() % 7'(' % 6'&5() % ,%
*5**0%$0%*,30$$08%20+%65)%4%7*,*,%6+0,*,%$,%70-50(*0%)(*0+/,66),%6'&5(0X%
Pd
?$,-.2'G@X'D'!"/&.+2%%$2'!Y28)&Z*6&
J'&0%7)%25R%'770+;,+0%.,$$,%/)-5+,%d:W8%G507*,%)(*0+/,66),%2+0;0.0%*5**)%)%&0*'.)%(06077,+)%,%
+0,$)11,+0%$0%'20+,1)'()%6)*,*0%)(%2+060.0(1,8%7),%(0$$,%;0+7)'(0%20+%5(%7)(-'$'%'--0**'%
20+7)7*0(*08%7),%20+%5(%;0**'+0%.)%'--0**)F%7'('8%)('$*+08%)(6$570%.50%&'.,$)*H%20+%'**0(0+0%)%
+06'+.%.)%*5**,%$,%*,30$$,8%';;0+'%5(,%690%$)%+07*)*5)760%7'**'%/'+&,%.)%;0**'+0%.)%'--0**)%0.%
5(=,$*+,%7'**'%/'+&,%.)%$)7*,%.)%'--0**):
E,%6$,770%690%<,3$0h'&08%690%)&2$0&0(*,%$=)(*0+/,66),%!<,3$0h'&0%4%+,22+070(*,*,%)(%
/)-5+,%d:Z
?$,-.2'G@]'D';$2,.2662'%)277&'Y28)&Z*6&
P"
J'&0%7)%25R%'770+;,+0%.,$%.),-+,&&,%.)%/)-5+,%d:Z8%07)7*'('%.50%'--0**)%2+'*0**)8%/-//$&1(
.)%*)2'%>-//$&1(0%%E(.)%*)2'%I4"1/"!%$&1:%@'('%G507*)%-$)%'--0**)%75%65)%'20+,('%)%&0*'.)%20+%
0//0**5,+0%$0%'20+,1)'()%)(.)6,*08%'--0**)%690%;0(-'('%/'+()*)%.,$$=5*)$)11,*'+0%.0$$,%6$,770%
,**+,;0+7'%)%&0*'.) %/-%>-//$&1(0%/-%I4"1/"!%$&1:%!(%G507*'%&'.'%$=5*)$)11,*'+0%9,%$,%*'*,$0%
$)30+*H %.)%760$*, %)(%G5,(*'%4%$5) %,%6+0,+0 %7077)'()%0%*+,(7,1)'()8 %0.%4%$5) %,%.06).0+0 % .)%
+0,$)11,+0%5(,%'%2)[%'20+,1)'()8%*+,%G50$$0%0$0(6,*08%75%5(,%*+,(7,1)'(0:%
K% *)*'$' %.=070&2)' %)(%/)-5+,%d:]^%7)%+)2'+*, %)$%.),-+,&&, %.0$$, %6$,770%690%20+&0**0 % .)%
,660.0+0%,$$,%*,30$$,%>0*X
?$,-.2'G@4^'D';$2,.2662'%)277&''F&/Z*6&
`0+%.,+0%5(,%;)7)'(0%60(*+,$)11,*, %.0$$0%&'.,$)*H %.)%,66077'%,$$0 %*,30$$08%$'%7*+,*'%.,*,%
,66077%.)%)JKK@%&0**0%,%.)72'7)1)'(0%$,%70-50(*0%6$,770X
P#
%
?$,-.2'G@44'D';$2,.2662'%)277&'!155B#8
J'&0 % 2'77),&' % '770+;,+0 % .,$$, % /)-5+, % d:]]8 % $, % 6$,770 %F655>.7 (2'77)0.0 % 5( % 6,&2'%
C2533$)6'D%20+%'-()%6$,770%690%+0,$)11,%$=,66077'%,.%5(,%2,+*)6'$,+0%*,30$$,:%I5)(.)%3,7*,%
)7*,(1),+0%G507*,%6$,770%20+%,;0+0%5(%6'(*+'$$'%6'&2$0*'%75%*5**,%$,%3,70%.)%.,*):%!(%G507*,%
/)-5+,%&,(6,%$,%6$,770%20+%$=,66077'%,$$,%*,30$$,%)&2$0&0(*%2')694%20+%+)6,;,+0%$0%2+'2+)0*H%
690%5(%70(7'+0%)&2$0&0(*,%3,7*,%70&2$)60&0(*0%)(;'6,+0%$='22'+*5('%&0*'.'%75$$='--0**'%
@0(7'+F%)('$*+0%$='--0**'%@0(7'+%6'(*)0(0%;,+)%&0*'.)%690%20+&0**'('%.)%6+0,+08%0$)&)(,+0%0%
&'.)/)6,+0%5(=,77'6),1)'(0%*+,%5(%70(7'+0%0.%5(,%2+'2+)0*H%C)(70+)&0(*'8%0$)&)(,1)'(0%0%
&'.)/)6,%.)%5(%+06'+.%(0$$,%*,30$$,%)&2$0&0(*D:
E,%6$,770%)[email protected]%)(6,275$,%,(690%-$)%'--0**)%690%-07*)76'('%7077)'()%0%*+,(7,1)'():%<,$0%
)(6,275$,&0(*' % 20+&0**0 % ,$$=5*)$)11,*'+08 % *+,&)*0 % ) % &0*'.) % '20(8 % 6$'708 % 7*,+* % 0. % 0(.8 % .)%
,2+)+0%5(,%7077)'(08%69)5.0+$,8%)()1),+0%5(,%*+,(7,1)'(0%0%*0+&)(,+$,:%
I5)(.)%20+%7/+5**,+0%$0%/5(1)'(,$)*H%.0$%\,*,%K66077%3)7'-(,%70-5)+0%)%70-50(*)%2,77)X
]: )7*,(1),+0%5(%'--0**'%.)%*)2'%[email protected]
c: )(;'6,+0%75$$='--0**'%)7*,(1),*'%2+)&,%)$%&0*'.'%'20(%20+%,2+)+0%5(,%7077)'(0%0%2')%)$%
PP
&0*'.'%7*,+*%20+%)()1),+0%5(,%*+,(7,1)'(0F
d: 070-5)+0%$0%'20+,1)'()%,660.0(.'%,)%6,&2)%2533$)6)%.0$$='--0**'%)7*,(1),*'F
": *0+&)(,+0 % $, % *+,(7,1)'(0 % )(;'6,(.' % )$ % &0*'.' % 0(.8 % 690 % ,5*'&,*)6,&0(*0 % (0 % /, % )$%
6'&&)*F
#: 0;0(*5,$&0(*0%69)5.0+0%$,%7077)'(0%6'(%)$%&0*'.'%6$'70%'%+)*'+(,+0%,$%25(*'%c%20+%
)()1),+0%5(,%(5';,%*+,(7,1)'(0F
E=0;0(*5,$0%+'$$3,6B%.)%5(,%*+,(7,1)'(0%,;;)0(0%)(%&,()0+,%,5*'&,*)6,%G5,(.'%5(,%.0$$0%
'20+,1)'() % +)69)07*0 % -0(0+, % 5( % 06601)'(0F % )( % G507*' % 6,7' % ;0(-'(' % ,((5$$,*0 % *5**0 % $0%
&'.)/)690%0%;)0(0%7'$$0;,*,%5(%06601)'(0%.)%*)2'%[email protected]*)'(:
J'&0 % 4 % 7*,*' % ,&2),&0(*0 % 072'7*'8 % 5*)$)11,(.' % $0 % 6$,77) % )[email protected] % 0 % *5**0 % $0 % 6$,77)%
20+7)7*0(*) % +0$,*);0 % ,$$0 % *,30$$0 % '--0**' % .0$$0 % '20+,1)'()8 % 4 % 2'77)3)$0 % 7,$;,+0 % )( % &'.'%
70&2$)60 % 0. % 0//)6,60 % '-() % 6'(/)-5+,1)'(0 % )('$*+,*, % .,$ % 6$)0(*: % M= % )('$*+0 % /,6)$&0(*0%
+0,$)11,3)$0%$='20+,1)'(0%.)%072'+*,1)'(0%C)&2'+*,1)'(0%.,$%25(*'%.)%;)7*,%.0$%6$)0(*D%.0$$0%
6'(/)-5+,1)'()%-)H%2+070(*)%(0$%.,*,3,708%,660.0(.'%,$%.,*,3,70%*+,&)*0%$,%6$,770%)[email protected]%
2+0$0;,(.'%*5**)%)%+06'+.%0%7,$;,(.'$)%(0$%+0$,*);'%'--0**'%20+7)7*0(*08%0%)(/)(0%5*)$)11,(.'%
$0 % 6$,77) % &0770 % , % .)72'7)1)'(0 % .,$ % 2,6B,-0 %&4<DX/&1% 20+ % 6+0,+0 % 5(, % 7*+)(-, % r@O> % .,%
)('$*+,+0%,$%6$)0(*:
3.2 Dettagli implementativi
>0$ % 2,+,-+,/' % c:c % 7) % 4 % .0/)()*, % $=,+69)*0**5+, % .0$$' % 7*+5&0(*' % ?@>J<: % >0$ % 70-50(*0%
2,+,-+,/' % 7) % 760(.0 % (0$ % .0**,-$)' % .0$$, % +0,$)11,1)'(0 % .0$ % &)..$0U*9)0+8 % +,22+070(*,*' % )(%
/)-5+, % d:]cX % ;0(-'(' % 2+070(*,*0 % $0 % 6$,77) % 690 % $' % 6'7*)*5)76'(' % 0 % $, % $'+' % /5(1)'(0%
(0$$=,+69)*0**5+,F%;0(-'('%2+070(*,*)8%)('$*+08%;,+)%+)/0+)&0(*)%,$%6'.)608%,$%/)(0%.)%.076+);0+0%
$0%&'.,$)*H%.)%+0,$)11,1)'(0%.0$$'%7*+5&0(*':
PV
?$,-.2'G@4C'D'5.%:$/&//-.2'9$##)&A/:$&.
3.2.1 La classe ObjectExtractor per il parsing del json
>0)%2,+,-+,/)%2+060.0(*)%7)%4%2,+$,*'%.0$%/'+&,*'%.)%76,&3)'%.,*)%*+,%6$)0(*%0%70+;0+%0%7)%4%
)(.);).5,*'%r@O>%6'&0%/'+&,*'%&)-$)'+0%20+%$0%07)-0(10%.0$%7)7*0&,:%!(%G507*'%2,+,-+,/'%
7)%)(*+'.560%$,%6$,770%O3j06*Mn*+,6*'+8%690%4%$,%6$,770%.0$%70+;0+%690%7)%'6652,%.0$%2,+7)(-%
.0$%r@O>:
E,%6$,770%4%7*,*,%+0,$)11,*,%)(%&'.'%.,%0//0**5,+0%6'++0**,&0(*0%)$%2,+7)(-%,(690%.)%r@O>%
7*+5**5+,$&0(*0 % 6'&2$077)8 % 6'&2'7*)8 %6)'48 %., % 5(,% 70+)0 %.) % '--0**) % 0 %.) %,++,e% )((07*,*):%
I507*, % /5(1)'(,$)*H % 7) % 4 % +07, % (06077,+), % 20+ % /,+ % 7_ % 690 % )$ % 70+;0+ % 2'77, % +)60;0+0%
6'(/)-5+,1)'()%6'&2$07708%)(;),*0%.,$%6$)0(*%*+,&)*0%5(,%7)(-'$,%7*+)(-,%r@O>%6'(*0(0(*0%
)(/'+&,1)'()%+0$,*);0%6'(*0&2'+,(0,&0(*0%,%+0*)8%70(7'+)8%2+'2+)0*H8%&,220%0%2'7)1)'()%.0)%
70(7'+)%,$$=)(*0+('%.0$$0%&,220:
PW
?$,-.2'G@4G'D';$2,.2662'%)277&'I8b&%/(_/.2%/*.
!(%/)-5+,%d:]d%4%+,22+070(*,*'%)$%.),-+,&&,%.0$$,%6$,770%O3j06*Mn*+,6*'+:%J'&0%7)%('*,8%$,%
6$,770 % 9, % 6'&0 % ,**+)35*) % 5(, % 70+)0 % .) % '--0**) % r@O>K++,e % 0 % 5( % '--0**' % r@O>O3j06*8%
(06077,+)%,$%2,+7)(-%.0$%r@O>%0%5(,%70+)0%.)%,++,e%.)%'--0**)%\-"1%.)%5*)$)*H%.)%65)%7)%2,+$0+H%
2)[%.0**,-$),*,&0(*0%(0$%2+'77)&'%2,+,-+,/':%!(%G507*)%,++,e%;0(-'('%&0&'+)11,*)%)%.,*)%
PZ
+)6'7*+5)*)%(0$$='20+,1)'(0%.)%2,+7)(-%.0$%r@O>:%!('$*+08%$,%6$,770%6'(*)0(0%5(,%7*+)(-,8%690%
.';+H%6'(*0(0+0%$,%7*+)(-,%r@O>%690%;)0(0%.,*,%)(%)(25*%,$%7)7*0&,:
AFF
"F"=!-+;*B/;!*"3,;9"6*1B&)-;+
"F"!"#$#%"G?HI?;*,-1
"FA
"&'()*"H4E)/;+J%;*6/;!*K?;*,-1"G?HI?;*,-1L"M
+,)-DG?HI?;*,-1"."G?HI?;*,-1N
+$."M
E+!-H4E"."/01"G?HIH4E)/;K/012
G?HIO!P)-)*K+,)-DG?HI?;*,-1LLN
Q"*#+*,"KG?HIJ%/)7;,!-")L"M)D7*,-;?;6/PO*6/)KLNQ
AAR6*+,-1"G?HI")0",+;6-C,6C,!-)">**6<:,+;
76*+)>-0S-,;>**6<KLN
AA*,)&7,&)-;!"6**6<
@,''>**6<+KLN
Q
J'.)60%d:c%k%6'7*+5**'+0%6$,770%O3j06*Mn*+,6*'+
>0$ % 6'.)60 % d:c% 4% ;)75,$)11,*' % )$ % 6'7*+5**'+0 % .0$$, % 6$,770 %O3j06*Mn*+,6*'+: % J'&0 %7) % 25R%
;0.0+08%)$%6'7*+5**'+0%2+0;0.0%$,%+)601)'(0%)(%)(-+077'%.)%5(,%7*+)(-,8%690%+,22+070(*,%$,%
7*+)(-,%r@O>%/'+()*,%)(%)(-+077'%,$%7)7*0&,F%G507*,%7*+)(-,%;)0(0%/'+()*,%)(%)(-+077'%,.%5(%
'--0**' % r@O><'B0(0+8 % 690 % 07*+,0 % .,$$, % 7*+)(-, % ) % 6,+,**0+) % 0 % ) % *'B0(: % E='--0**'%
r@O><'B0(0+%;)0(0%2,77,*'%,$%6'7*+5**'+0%.0$$='--0**'%r@O>O3j06*8%690%6+0,%5(%'--0**'%
r@O>:%!('$*+0%)$%6'7*+5**'+0%+)69),&,%$0%/5(1)'()%.)%5*)$)*H%#"4/-51.F1$%544"Y%0%:$''544"Y/D
E, % /5(1)'(0 %#"4/-51.F1$%544"Y (0//0**5,( +)60+6, %(0$ % r@O>O3j06* %,220(, %)7*,(1),*' % 5(,%
7*+5**5+,%.)%,++,e%j7'(%08%70%4%2+070(*08%)7*,(1),%5(%'--0**'%r@O>K++,e%0%$=,++,e%.)%'--0**)%
.)%5*)$)*H:
>0$ % 6'.)60 % d:d % 4 % 2+070(*,*' % 5( % 070&2)' % .) % +0,$)11,1)'(0 % .0$$=,$-'+)*&' % .0$$, % /5(1)'(0%
#"4/-51.F1$%544"Y%(0$%6,7'%.)%7*+)(-,%r@O>%+0$,*);,%.,%5(,%+0*0:
V^
+$."M
)3"KE+!-H4ED1);G?HI>**6<KY-);YLU./&((L"M
E+!->**6<I);"."E+!-H4ED1);G?HI>**6<KY-);YLN
-);>**6<:,+;"."/01
>**6<:,+;#G+!-I);2KE+!->**6<I);D')-1;9KLLN
Q
Q"*#+*,"KG?HIJ%/)7;,!-")L"M?<+;)&D@=6D7*,-;'-KYI);"6**6<"
-!;"@!B-0",-"G?HIH4E)/;YLNQ
1*#$%&'G@G'D'(7&63$*''+-"0$*"&'N2.7&5"#!"$/5..2>
E, % /5(1)'(0 %:$''544"Y/% +)0&2)0 % -$) % ,++,e % )7*,(1),*) % .5+,(*0 % $=070651)'(0 % .0$$,%
#"4/-51.F1$%544"Y8 % 70+;0(.'7) % .0$$0 % /5(1)'() % .) % 5*)$)*H % 690 % 7) % '6652,(' % .) % ,--)5(-0+0%
0$0&0(*) % ,$$=,++,e8 % 6'&0 % 4 % 2'77)3)$0 % '770+;,+0 % (0$ % 6'.)60 % d:"8 % )( % 65) % ;)0(0 % 2+070(*,*'%
$=07*+,**'%.0$%6'.)60%.)%:$''544"Y/%690%7)%'6652,%.0$$0%5,.:
)3"KE+!->**6<T60U./&((L"M
34$K)/+",.VN",#E+!->**6<T60D')-1;9KLN",WWL"M
600T60O!>**6<:,+;K,X"E+!->**6<T60X"/&((LN
Q
Q
1*#$%&'G@M'D'(7&63$*'+-"0$*"&'+$))5..2>7
E0%/5(1)'()%.)%5*)$)*H8%'$*+0%,.%,--)5(-0+0%-$)%0$0&0(*)%,$$=,++,e8%6'(*+'$$,('%,(690%70%)$%
r@O> %)(%)(-+077'%2+070(*,%7*+5**5+0%)((07*,*08 %6'&0 %,.%070&2)' %,++,e%+)-5,+.,(*) % ,$*+)%
'--0**):%@0%+)$0;,('%7*+5**5+0%)((07*,*0%+)69),&,('%$,%/5(1)'(0%690%,--)5(-0%-$)%0$0&0(*)%
,$$=,++,e%.0$%*)2'%.)%'--0**'%+)$0;,*':
`0+%69),+)+0%&0-$)'%)$%6'(60**'8%(0)%70-50(*)%07*+,**)%.)%6'.)60%2+070(*)%(0$%6'.)60%d:#%0%d:P%
7'(' % )$$57*+,*) % ) % 25(*) % .0$$, % /5(1)'(0 % .) % 5*)$)*H % ,..Q,.<'K++,eE)7* % )( % 65) % $, % /5(1)'(0%
,--)5(-0%-$)%0$0&0(*)%,$$=,++,e%0%6'(*+'$$,%$,%2+070(*,%.)%7*+5**5+0%)((07*,*0%(0$%r@O>D
V]
"
AA&677,-1"E+!-H4ET60"5"G+!-T60
2)3"KE!I);U./&((L"M
E+!-T60D+);I);K?9!*;D.:F<+K5@F6KE!I);D1);?;*,-1KY,0-);YLLLN
"Q
20(-0"M
"E+!-T60D+);I);K?9!*;D.:F<+K5@F6KE+!-H4ET60D1);?;*,-1KY-);YLLLN
"Q
"E+!-T60D+);>00*)++KE+!-H4ET60D1);?;*,-1KY600*)++YLLN
"E+!-T60D+);O<7)KE+!-H4ET60D1);?;*,-1KY;<7)YLLN
1*#$%&'G@U'D'&7/.2//*'"@4'+-"0$*"&'2##O2#Y*5..2>a$7/
+$."M
AA/!-;*!''!"/!-@,1B*6C,!-)"+)-+!*"6''Z,-;)*-!"0)'"E+!-H4ET60
)3"KE+!-H4ET60D1);G?HI>**6<KY+)-+!*YLU./&((L"M
G?HI>**6<"E+!->**6<?)-+!*"."E+!-H4ET60D1);G?HI>**6<KY+)-+!*YLN
34$"K)/+",.VN",#E+!->**6<?)-+!*D')-1;9KLN",WWL"M
"
600?)-+!*O!>**6<:,+;K,XE+!->**6<?)-+!*XE+!-H4ET60XE!I);LN
Q
Q
Q"*#+*,"KG?HIJ%/)7;,!-")L"M?<+;)&D@=6D7*,-;'-KYG?HI>**6<?)-+!*"-!;"
@!B-0UYLNQ
1*#$%&'G@V'D'&7/.2//*'"@C'+-"0$*"&'2##O2#Y*5..2>a$7/
3.2.2 Le classi di utilità
J'&0 % 7206)/)6,*' % (0$ % 2,+,-+,/' % 2+060.0(*08 % (0$$, % 6$,770 %]7X-!%NE%4"!%&4% ;0(-'('%
)7*,(1),*) % .0-$) % ,++,e % )( % 65) % ;0(-'(' % &0&'+)11,*) % -$) % '--0**) % +)6'7*+5)*) % .5+,(*0 % $0%
'20+,1)'()%.)%2,+7)(-%.0$%r@O>:%I507*)%'--0**)%7'('%)7*,(10%.)%6$,77)%69),&,*0%7-"18%690%
9,(('%$0%70-50(*)%2+'2+)0*HX
!
2+070(*,('%5(%6'7*+5**'+0%70(1,%,+-'&0(*)F
!
$0%750%2+'2+)0*H%7'('%,66077)3)$)%57,(.'%-0**0+7%0%70**0+7F
!
7'('%70+),$)11,3)$)F
!
('(%6'(*0(-'('%,$65(%&0*'.'%+)69)07*'%20+%$,%-07*)'(0%.0-$)%0;0(*):
M=%7*,*,%6+0,*,%5(,%6$,770 %7-"1% 20+%'-()%*)2'$'-),%.)%7*+5**5+,%.,*)%2+0;)7*,%.,-$)%'--0**)%
j7'(8%+)720669),(.'%$0%2+'2+)0*H%.0-$)%'--0**)%20+7)7*0(*)%690%&,22,('%)$%.,*,3,70:
f$)%,++,e%.0$$0%6$,77)%7-"1%;0(-'('%)7*,(1),*)%,(690%(0$$,%70+;$0*%6&1:>-4@8%)(*+'.'**,%(0$%
2+'77)&'%2,+,-+,/'8%690%7)%'6652,%.0$%7,$;,*,--)'%.0$$,%6'(/)-5+,1)'(0%75$%.,*,3,70F%)(/,**)%
Vc
-$)%,**+)35*)%.0$$0%6$,77)%30,(8%,660.5*)%*+,&)*0%)%-0**0+78%;0(-'('%5*)$)11,*)%6'&0%2,+,&0*+)%
.)%)(-+077'%.0$$,%/5(1)'(0%.)%)(70+)&0(*'%(0$%.,*,3,70%&077,%,%.)72'7)1)'(0%.)%)JKK@:
!(%/)-5+,%d:]"%7'('%0$0(6,*0%$0%6$,77)%.)%5*)$)*H:
?$,-.2'G@4M'D'1)277$'#$'-/$)$/S
3.2.3 La servlet ConfServ per il salvataggio delle configurazioni sul db
!$%6$)0(*8%G5,(.'%$=5*0(*0%6$)66,%75$%25$7,(*0%S7,$;,%6'(/)-5+,1)'(0T8%6+0,%5(,%7*+)(-,%r@O>%
6'(*0(0(*0 % $=)(*0+, % 6'(/)-5+,1)'(0 % +0,$)11,*, % 0. % 0//0**5, % 5(, % 69),&,*, % ,$$, % 70+;$0*%
6&1:>-4@8%2,77,(.'-$)%$,%7*+)(-,8%)(7)0&0%,.%5(%2,+,&0*+'%690%)(.)6,%.)%G5,$0%*)2'$'-),%.)%
6'(/)-5+,1)'(0%7)%*+,**,:
E,%70+;$0*%6&1:/-4@%0//0**5,%$0%70-50(*)%'20+,1)'()X
]: )7*,(1),%5(%'--0**'%]7X-!%NE%4"!%&48%690%7)%'6652,%.0$%2,+7)(-%.0$%r@O>8%706'(.'%$0%
&'.,$)*H%.076+)**0%(0$%2,+,-+,/'%2+060.0(*0F
c: )7*,(1),%5(%'--0**'%$655>.7%0%+)69),&,%$0%/5(1)'()%&#-1%0%/%"4%%)()1),(.'%.5(G50%$,%
7077)'(0%0%$,%*+,(7,1)'(0F
d: )(70+)760%(0$%.,*,3,70%$0%6'(/)-5+,1)'()8%7,$;,*0%(0-$)%'--0**)%.)%5*)$)*H8%)(;'6,(.'%$0%
/5(1)'()%&0770%,%.)72'7)1)'(0%.,$$,%6$,770%<,3$0h'&0F
": L)69),&,%$0%/5(1)'()%!'&/-%0%/%&#%20+%69)5.0+0%$,%7077)'(0%0%$,%*+,(7,1)'(0F
#: L07*)*5)760%,$%6$)0(*%5(%&077,--)'%.)%,;;0(5*'%7,$;,*,--)':
K(690 % 70 % ) % 2,77) % 070-5)*) % .,$$, % 70+;$0* % 7'(' % 6'(60**5,$&0(*0 % 70&2$)6)8 % (0$ % +0,$)11,+0%
$=)(70+)&0(*'%(0$%.,*,3,70%7'('%0&0+70%.0$$0%2+'3$0&,*)690%+0$,*);0%,$$0%69),;)%2+)&,+)0%
.0$$0% *,30$$08 %0%(0$%6,7'%.)%6'(/)-5+,1)'()%690%6'&2+0(.0;,('%2)[%*,30$$08%,(690% .0$$0%
2+'3$0&,*)690%+0$,*);0%,$$,%+)6'7*+51)'(0%.0)%;)(6'$)%.)%)(*0-+)*H%+0/0+0(1),$0%*+,%$0%;,+)0%
Vd
*,30$$0: % `0+ % +)7'$;0+0 % G507*0 % 2+'3$0&,*)690 % 7) % 4 % +07' % (06077,+)' % )(*+'.5++0 % (5';0%
/5(1)'(,$)*H%(0$%$);0$$'%\,*,%K66077%.)%)JKK@F%7)%.)765*0+H%(0$%.0**,-$)'%.)%*,$)%/5(1)'(,$)*H%
(0$%7566077);'%2,+,-+,/'%+0$,*);'%,$$0%2+'3$0&,*)690%+)76'(*+,*0:
>0$$=07*+,**'%.)%6'.)60%d:V%4%2+070(*,*'%5(%070&2)'%.)%)(70+)&0(*'%(0$%.,*,3,70%.)%5(%+06'+.%
+0$,*);'%,.%5(,%6'(/)-5+,1)'(0%.)%5(,%+0*0:
>**6<:,+;#G+!-I);2"-);:,+;"."E+!-J%;*6/;!*D1);I);>**6<KLN
34$K)/+",.VN",#-);:,+;D+,C)KLN",WWL"M
04D-);D,-+)*;K-);:,+;D1);K,LD1);:64)'KLX
"K-,4$+L-);:,+;D1);K,LD1);[6+)\7)*,!0KLX
""-);:,+;D1);K,LD1);])+/*,7;,!-KLLN
"
Q
1*#$%&'G@W'D'&7&63$*'$"7&.$6&"/*'#2/2827&
3.2.4 La servlet JsonCreator per la creazione del json
E,%70+;$0* %^/&164-"%&4% +0,$)11,%$0%/5(1)'(,$)*H%.)%6+0,1)'(0%.0$%j7'(F% ;)0(0%)(;'6,*,%.,$%
6$)0(*%(0$%&'&0(*'%)(%65)%$=5*0(*0%6$)66,%75$%25$7,(*0%S6,+)6,%6'(/)-5+,1)'(0T:%E,%70+;$0*%
2+0;0.0%.0$$0%/5(1)'(,$)*H%.)%072'+*,1)'(0%.)%*5**)%)%+06'+.%.)%*5**0%$0%*,30$$0%2+070(*)%(0$%
.,*,3,708%,(690%70%$=5*)$)11'%690%,**5,$&0(*0%4%7*,*'%)&2$0&0(*,*'%2+0;0.0%690%)$%6$)0(*%$0%
)(;))%6'&0%2,+,&0*+'%.=)(-+077'%$=).%.0$$,%+0*0%0%$=).%.0$$,%&,22,%690%7)%;'-$)'('%6,+)6,+0:%
K%2,+*)+0%.,)%.50%2,+,&0*+)%.)%)(-+077'8%$,%70+;$0*%6+0,%5(%r@O>%)((07*,*'%6'(*0(0(*0%$0%
)(/'+&,1)'()%+0$,*);0%,$$,%+0*08%,$$0%5,.%0%,)%70(7'+)%,22,+*0(0(*)%,%G50$$,%+0*08%)(6$5.0(.'%
,(690 %$0%2+'2+)0*H%)&2$0&0(*,*0 %.,)%70(7'+)%.0$$, %+0*0: %!('$*+08 %6+0,%5(%706'(.'%r@O>%
6'(*0(0(*0%$0%)(/'+&,1)'()%+0$,*);0%,$$,%&,22,%0%,%*5**)%)%70(7'+)%)(70+)*)%(0$$,%&,22,8%6'(%
$0%$'+'%6''+.)(,*0%.)%2'7)1)'(0:%E=)(7)0&0%.)%G507*0%)(/'+&,1)'()8%20+&0**0%,$%6$)0(*%.)%
2+070(*,+0%,$$=5*0(*0%$=)(*0+,%6'(/)-5+,1)'(0%.0$$,%+0*0:
`0+%+0,$)11,+0%$0%/5(1)'(,$)*H%2+0;)7*0%.,$$,%70+;$0*8%7)%4%.06)7'%.)%75..);).0+0%)$%2+'3$0&,%
V"
)(%7'**'U2+'3$0&)8%.,$$,%2)[%/,6)$0%+)7'$51)'(0:%@'('%7*,*0%2+0;)7*08%G5)(.)8%,$65(0%/5(1)'()8%
'-(5(, % .0$$0 % G5,$) % 2+'6077, % ) % +06'+. % +0$,*);) % ,. % 5(, % 7)(-'$, % *,30$$,8 % 6+0,(.'%
7566077);,&0(*0 % 5( % ,++,e % r@O> % 6'(*0(0(*0 % *5**0 % $0 % )(/'+&,1)'(): % !( % 2,+*)6'$,+08 % $0%
/5(1)'()%.)%5*)$)*H%+0,$)11,*0%7'('X
!
2+'6077>0*
!
2+'6077Q,.
!
2+'6077@0(7'+
!
2+'6077`+'20+*e
!
2+'6077N,2
!
2+'6077N,22)(-
E0%/5(1)'()%7'('%)((07*,*0%*+,%.)%$'+'8%';;0+'%$,%/5(1)'(0%2)[%S07*0+(,T8%+0$,*);,%,$$='--0**'%
690 % 6'(*)0(0 % *5**) % -$) % ,$*+) % '--0**) % C)( % G507*' % 6,7' % >0* % 0 % N,2D % +)69),&, % $, % /5(1)'(0%
)&&0.),*,&0(*0%2)[%S)(*0+(,T%0%6'7_%;),F%)(%G507*'%&'.'8%7)%+)0760%,%6+0,+0%$,%7*+5**5+,%
)((07*,*,%.0$%r@O>:
@)%4%+);0$,*,%.)%/'(.,&0(*,$0%)&2'+*,(1,%20+%$,%+0,$)11,1)'(0%.)%G507*,%70+;$0*%$,%/5(1)'(0%
#3% (.0$$,%6$,770 %^>][]7X-!%% .) %&4<DX/&18%690%20+&0**0%.)%)(70+)+0%(0$$='--0**'%r@O>%5(%
0*)690**,%)(%/'+&,*'%7*+)(-,%0%5(%;,$'+08%690%25R%0770+0%.)%&'$*02$)6)%*)2)8%7),%2+)&)*);)%
6'&0%,.%07:%)(*0+)8%7*+)(-908%690%7*+5**5+,*)8%6'&0%,.%07:%,++,e:
"$)5#+0"G?HIH4E)/;"7*!/)++I);"KI);"-);XS=>>?04"04L"+,$41-"G?HIJ%/)7;,!-"
M
G?HIH4E)/;"E+!-IT?R"."/01"G?HIH4E)/;KLN
E+!-IT?RD7B;KY,0-);YX"-);D1);S0KLLN
E+!-IT?RD7B;KY'64)'YX"-);D1);:64)'KLLN
E+!-IT?RD7B;KY46+)\7)*,!0YX"-);D1);[6+)\7)*,!0KLLN
E+!-IT?RD7B;KY0)+/*,7;,!-YX"-);D1);])+/*,7;,!-KLLN
?<+;)&D@=6D7*,-;'-KE+!-IT?RD;!?;*,-1KLLN
E+!-IT?RD7B;KYB60YX+,)-D7*!/)++T60K-);X"04LLN
$0+&$/"E+!-IT?RN
Q
1*#$%&'G@X'D'+-"0$*"&'3.*%&77F&/
>0$%6'.)60%d:W%4%2+070(*,*,8%,%*)*'$'%.=070&2)'8%$,%/5(1)'(0 %#4&!-//[-%:%@)%('*)('%)%;,+)%
V#
070&2) % .) % 69),&,*, % ,$$, % /5(1)'(0 %#3%% 0 % $, % 69),&,*, % ,$$, % /5(1)'(0 % )&&0.),*,&0(*0%
7566077);, %#4&!-//Q".8%690%7)%'66520+H%.)%/,+0%$0%7*0770%'20+,1)'()%.)%)(70+)&0(*' %.0)%
;,$'+) % (0$$=,++,e % r@O>8 % +)69),&,(.' % )(/)(0 % $, % /5(1)'(0 % )&&0.),*,&0(*0 % 7566077);,8%
2+'6077@0(7'+8%0%6'7_%;),:
3.3 Problematiche riscontrate
J'&0%,660((,*'%(0$%2,+,-+,/'%d:c:d%(0$$'%7;)$522,+0%$,%70+;$0*%6&1:>-4@8%.5+,(*0%$,%/,70%.)%
)(70+)&0(*' % (0$ % .,*,3,70 % .0) % +06'+. % +0$,*);) % ,$$0 % 6'(/)-5+,1)'() % 7'(' % 0&0+70 % .0$$0%
2+'3$0&,*)690%+0$,*);0%,$$0%69),;)%2+)&,+)0%0%,$$0%69),;)%07*0+(08%690%)(%*5**0%$0%*,30$$0%7'('%
+0$,*);0%,%6'$'((0%6'(*0(0(*)%).%'%6'22)0%.)%).:
K%&'(*0 %.0$%2+'3$0&, %6=4%)$%/,**'%690%)$%6$)0(*8 %.5+,(*0%$,%6'(/)-5+,1)'(0%.0$$0%+0*)%.)%
70(7'+)8%7,$;,%*5**0%$0%)(/'+&,1)'() %)(%5(%2+'2+)'%.,*,3,70 %$'6,$08 %6'7*+5)*' %5*)$)11,(.'%
f''-$0%f0,+78%6908%G5)(.)8%('(%9,%*+,66),%.0-$)%).%S.)72'()3)$)T%75$%70+;0+:
Q(,%2+)&,%7'$51)'(0%,$%2+'3$0&,%2'*0;,%0770+0%5(,%6'&5()6,1)'(0%2+0;0(*);,%*+,%6$)0(*%0%
70+;0+8%690%.';0;,%,;;0()+0%2+)&,%.0$%7,$;,*,--)'%.0$$0%6'(/)-5+,1)'()%75$%.,*,3,70%$'6,$08%
)(%65)%)$%70+;0+%/'+();,%,$%6$)0(*%)$%2+)&'%).%.)72'()3)$0%20+%$0%*,30$$0%75%65)%7)%,(.,;,%,.%
'20+,+0:%!(%G507*'%&'.'%)$%6$)0(*%0%)$%70+;0+%+)75$*,;,('%7)(6+'()11,*)F%.5(G50%)$%6$)0(*8%
,$$=,**'%.0$$=)('$*+'%/)(,$0%.0$$,%6'(/)-5+,1)'(0%,$%70+;0+8%,;+0330%6+0,*'%5(,%7*+)(-,%r@O>8%
6'(*0(0(*0%,$%75'%)(*0+('%-$)%).%6'++0**)%20+%)$%7,$;,*,--)'%75$%.,*,3,70:
I507*,%7'$51)'(08%6'&0%4%/,6)$0%)&&,-)(,+08%,;+0330%,5&0(*,*'%.)%&'$*'%$0%)(*0+,1)'()%*+,%
6$)0(*%0%70+;0+F%)(%;)+*[%.0$$,%2+070(1,%.0$%+0G5)7)*'%('(%/5(1)'(,$0%+0$,*);'%,$$0%2+07*,1)'()8%
690%+)69)0.0%$,%&)()&)11,1)'(0%.0$$0%)(*0+,1)'()%6$)0(*%70+;0+8%)(%;)+*[%.0$%/,**'%690%7)%;5'$0%
$,76),+0%)(*,**,%$,%2'77)3)$)*H%.)%6'(/)-5+,+0%$0%+0*)%)(%$'6,$0%,(690%70(1,%$,%.)72'()3)$)*H%.)%
5(,%6'((077)'(0%)(*0+(0*%0%2')%7566077);,&0(*0%)('$*+,+0%$,%6'(/)-5+,1)'(0%,$%70+;0+8%0%
6'(7).0+,(.'%690%0//0**5,(.'%G507*,%&'.)/)6,%7)%7,+0330+'%2'*5*)%;0+)/)6,+0%2+'3$0&)%.)%
6'(6'++0(1,%*+,%)%6$)0(*8%7)%4%+)*0(5*,%('(%2+,*)6,3)$0%*,$0%7'$51)'(0:%@)%4%+)*0(5*'%,.,**'8%
)(;0608%)(*+'.5++0%5(,%6'(;0(1)'(0%20+%65)%)$%6$)0(*%)('$*+,%,$%70+;0+%$0%6'(/)-5+,1)'()%6'(%
).%690%2,+*'('%.,%10+'8%)(6+0&0(*,(.'7)%(0$%6,7'%.)%6'(/)-5+,1)'()%6'(*0(0(*)%2)[%.)%5(%
VP
0$0&0(*'%.0$$'%7*077'%*)2':
`0+%69),+)+0%&0-$)'%)$%6'(60**'8%7)%)$$57*+,%5(%070&2)'X
5(,%6'(/)-5+,1)'(0%.)%5(,%+0*0%6'(*0(*0%c%5,.%0%d%70(7'+)8%;)0(0%)('$*+,*,%,$%70+;0+%)(%5(%
j7'(%6'(%)%70-50(*)%;,$'+)%+0$,*);)%,-$)%).X%)$%6,&2'%$.1-%%2,+)%,%^F%)%6,&2)%).%.0$$0%.50%3".(
2,+)%+)720**);,&0(*0%,%%^%0%]F%)%6,&2)%).%.0)%*+0%70(7'+)%2,+)%,%^8%]%0%c:
E,%-07*)'(0%.0-$)%).%4%6'&2)*'%.0$%70+;0+8%690%.0;0%+)&'.5$,+$)%)(%3,70%,-$)%).%.)72'()3)$)%
75$%.,*,3,70:%`0+%0//0**5,+0%G507*,%+)&'.5$,1)'(08%4%7*,*'%(06077,+)'%)(*+'.5++0%(0$%$);0$$'%
\,*,%K66077%.)%)JKK@%.0$$0%(5';0%/5(1)'(,$)*H:%!(%2,+*)6'$,+08%7'('%7*,*0%2+0;)7*0%.0$$0%
/5(1)'()%<-%_"/%F.%)(%*5**0%$0%6$,77)%690%-,+,(*)76'('%$=,66077'%,$$0%*,30$$0%)(*0+077,*0%,$$,%
6'(/)-5+,1)'(0:%E,%/5(1)'(0%<-%_"/%$F.%0//0**5,%5(,%G50+e%75$%.,*,3,708%/,60(.'7)%+)*'+(,+0%
$=5$*)&'%).%690%4%7*,*'%)(70+)*'%)(%G50$$,%*,30$$,:
K%*)*'$'%.=070&2)'8%(0$%6'.)60%d:Z8%&'7*+),&'%$,%/5(1)'(0%<-%_"/%F.%)(*+'.'**,%(0$$,%6$,770%
[-%H&9-(690%7)%'6652,%.0$$=,66077'%,$$,%*,30$$,%>0*:
"&'()*"-,4$+"1);:6+;S0KL"+,$41-"S=>>?J%/)7;,!-"M
+$."M
:,+;#I);2"*)+B';"."+)++,!"
"D/*)6;)^B)*<K
"
"Y@*!&"I);"!*0)*"4<
"
""
"
,0-);"0)+/"',&,;"_Y
"LD',+;KL
"
"N
$0+&$/"*)+B';D1);KVLD1);S0KLN
Q"*#+*,"K`,4)*-6;)J%/)7;,!-"9)L"M
)3"K;%U./&((L"
;%D*!''46/PKLN
+,$41"/01"S=>>?J%/)7;,!-K9)LN
Q
Q
1*#$%&'G@]'D'+-"0$*"&',&/a27/!#'#$'F&/Z*6&
E,%/5(1)'(0%<-%_"/%F.%;)0(0%+)69),&,*,%753)*'%.'2'%$=)(70+)&0(*'%(0$%.,*,3,70%.0$%+06'+.%
+0$,*);'%,$$,%6'(/)-5+,1)'(0%,$%/)(0%.)%70**,+0%)$%;,$'+0%.0$$=).%)(70+)*'%(0$$=,**+)35*'%.0$$,%
6$,770%30,(%.)%5*)$)*H%6'++)72'(.0(*0%,%G50$$,%*,30$$,%0%,%*5**0%$0%*,30$$0%690%9,(('%;)(6'$)%.)%
)(*0-+)*H%+0/0+0(1),$0%6'(%G50$$,%*,30$$,:
L)*'+(,(.'%75$$=070&2)'%2+060.0(*08%7522'(0(.'%690%$,%+0*0%;0(-,%)(70+)*,%(0$%.,*,3,70%
6'(%).%]^8%)$%;,$'+0%]^8%+)*'+(,*'%.,$$,%/5(1)'(0%<-%_"/%F.8%;)0(0%70**,*'%(0-$)%,**+)35*)%).(0*%
VV
.0$$0%6$,77)%30,(%^/&1Q".%0%^/&1>-1/&4`%+)720**,(.'%6'7_%)$%;)(6'$'%.)%)(*0-+)*H%+0/0+0(1),$0%
;0+7'%(0*%2+070(*0%)(%G507*0%*,30$$0:%J'(%G507*'%,66'+-)&0(*'8%G5,(.'%;)0(0%+)69),&,*,%$,%
/5(1)'(0%)(70+*%+0$,*);,%,%G507*0%*,30$$0%)$%7)7*0&,%('(%-0(0+,%0++'+)%@G$:%
>0$ % 6'.)60 % d:]^ % 4 % )(70+)*' % $=07*+,**' % +0$,*);' % ,$$0 % '20+,1)'() % ,220(, % .076+)**08 % 20+%
$=)(70+)&0(*'%(0$%.,*,3,70%.0$%+06'+.%+0$,*);'%,$$,%*,30$$,%>0*:
34$K)/+",.VN",#-);:,+;D+,C)KLN",WWL"M
AA,-+)*,&)-;!"*)/!*0"-)''6";64)''6"-);
04D-);D,-+)*;K-);:,+;D1);K,LD1);:64)'KLX
"K-,4$+L-);:,+;D1);K,LD1);[6+)\7)*,!0KLX
""-);:,+;D1);K,LD1);])+/*,7;,!-KLLN
AA",-+)*,&)-;!"-)'')"/'6++,"4)6-"0)''Z,0"*)'6;,(!"6'"*)/!*0"
677)-6",-+)*,;!
34$"K)/+"E.VN"E"#"B60:,+;D+,C)KLNEWWL"M
Q
)3"KB60:,+;D1);KELD1);I);KL".."-);:,+;D1);K,LD1);S0KLL"M
B60:,+;D1);KELD+);I);K04D-);D1);:6+;S0KLLN
Q
34$"K)/+"E"."VN"E#"+)-+!*:,+;D+,C)KLN"EWW"L"M
)3"K+)-+!*:,+;D1);KELD1);I);KL".."-);:,+;D1);K,LD1);S0KLL"M
+)-+!*:,+;D1);KELD+);I);K04D-);D1);:6+;S0KLLN
Q
Q
Q
34$"K)/+"E"."VN"E"#"&67:,+;D+,C)KLN"EWWL"M
)3"K&67:,+;D1);KELD1);I);KL".."-);:,+;D1);K,LD1);S0KLL"M
&67:,+;D1);KELD+);I);K04D-);D1);:6+;S0KLLN
Q
Q
1*#$%&'G@4^'D'(7&63$*'.$A6*#-)2$0*"&'$#
J'&0%4%7*,*'%,660((,*'%)(%2+060.0(1,8%(0$%$);0$$'%\,*,%K66077%.)%)JKK@%&,(6,%$,%6$,770%
20+ % $=,66077' % ,$$, % *,30$$, % )&2$0&0(*8 % 2')69a % 20+ % +)6,;,+0 % $0 % 2+'2+)0*H % 690 % 5( % 70(7'+0%
)&2$0&0(*, % 7) % 25R % )(;'6,+0 % $='22'+*5(' % &0*'.' % 75$$='--0**' % @0(7'+F % )('$*+0 % $='--0**'%
@0(7'+ % 6'(*)0(0 % ;,+) % &0*'.) % 690 % 20+&0**'(' % .) % 6+0,+08 % 0$)&)(,+0 % 0 % &'.)/)6,+0%
5(=,77'6),1)'(0%*+,%5(%70(7'+0%0.%5(,%2+'2+)0*H%C)(70+)&0(*'8%0$)&)(,1)'(0%0%&'.)/)6,%.)%
5(%+06'+.%(0$$,%*,30$$,%)&2$0&0(*D:
I507*,%/5(1)'(,$)*H%.)%)JKK@8%5()*,&0(*0%,$$,%G507*)'(0%.0$$,%+)&'.5$,1)'(0%.0-$)%).8%9,%
VW
)(*+'.'**'%5(,%5$*0+)'+0%6'&2$077)*H%(0$%+)6'7*+5)+0%75$%70+;0+%$=,77'6),1)'(0%*+,%5(%70(7'+0%
0%$,%2+'2+)0*H%690%)&2$0&0(*,:%<,$0%,77'6),1)'(0%4%&'.0$$,*,%75$%.,*,3,70%,**+,;0+7'%$,%
*,30$$,%)&2$0&0(*78%690%2+0;0.0%5(,%69),;0%2+)&,+),%+0$,*);,%,)%.50%6,&2)%6'(*0(0(*)%$=).%
.0$%70(7'+0%0%$=).%.0$$,%2+'2+)0*H:%`0+%&,(*0(0+0%$=,77'6),1)'(0%*+,%*,30$$,%0%70(7'+08%0%20+%
)(70+)+0%(0$$,%*,30$$,%)&2$0&0(*%-$)%).%6'++0**)%.)%70(7'+0%0%2+'2+)0*H8%7)%4%+07'%(06077,+)'%
70-5)+0%)%70-50(*)%2,77)8%0$0(6,*)%)(%'+.)(0%6+'('$'-)6'X
]: M=%7*,*'%2+0;)7*'%5(%,**+)35*' %#4&#-4%Y% (0$$,%6$,770%30,( %^/&1>-1/&48%)$%65)%76'2'%4%
*0(0+0 % *+,66), % .0$$0 % 2+'2+)0*H % )&2$0&0(*,*0 % .,$ % 70(7'+0: % I507*' % ,**+)35*' % ;)0(0%
70**,*'%(0$$,%/5(1)'(0 %"..J4&#-4%YI&544"Y_$/%%.0$$,%6$,770%]7X-!%NE%4"!%&48%690%7)%
'6652,%.0$%2'2'$,&0(*'%.0$$=,++,e%.0$$0%2+'2+)0*H8%6'&0%7)%25R%;0.0+0%(0$%6'.)60%
d:]]F
AA+);;!","(6'!*,"0)''Z6**6<"E+!-R*!7)*;<"6"76*;,*)"06'"G?HI
E+!-R*!7)*;<D+);I6&)KE+!-H4ER*!7)*;<D1);?;*,-1KY-6&)YLLN
E+!-R*!7)*;<D+);T-,;KE+!-H4ER*!7)*;<D1);?;*,-1KYB-,;YLLN
AA,+;6-C,!"B-"!11);;!"7)*+,+;)-;)"R*!7)*;<
R*!7)*;<"7*!7)*;<"."/012R*!7)*;<KE+!-H4ER*!7)*;<D1);?;*,-1KY-6&)YLLN
AA+);;!"'Z6;;*,4B;!"7*!7)*;<"0)''6"/'6++)"?)-+!*
E+!-?)-+!*D+);R*!7)*;<KKSR*!7)*;<L7*!7)*;<LN
1*#$%&'G@44'D'&7/.2//*'+-"0$*"&'2##N.*3&./>Y*5..2>)$7/
c: 7)%)(70+)76'('%(0$%.,*,3,70%(06077,+),&0(*0%2+)&,%$0%2+'2+)0*H8%.)%&'.'%.,%2'*0+(0%
+06520+,+0 % -$) % ).8 % 6'&0 % 7) % 25R % ;0.0+0 % (0$ % 6'.)60 % d:]cF
34$K)/+",.VN",#7*!7)*;<:,+;D+,C)KLN",WWL"M
R*!7)*;<"04R*!7)*;<"."KR*!7)*;<L"
04D7*!7)*;<D1);K7*!7)*;<:,+;D1);K,LD1);I6&)KLLN
)3"K04R*!7)*;<".."/&((L"M
?<+;)&D@=6D7*,-;'-KY-)'"04"-!-"/ZaX"'6",-+)*,+/!YLN
04D7*!7)*;<D,-+)*;K7*!7)*;<:,+;D1);K,LD1);I6&)KLX
""""""
"""7*!7)*;<:,+;D1);K,LD1);T-,;KLLN
Q
Q
1*#$%&'G@4C'D'$"7&.$6&"/*'3.*3.$&/S'"&)'#2/2827&
VZ
d: 7)%)(70+)76'('%)%70(7'+)%(0$%.,*,3,70F
": 7)%0//0**5,%5(,%G50+e%75$$,%*,30$$,%#4&#-4%Y`(,$%/)(0%.)%6'('760+0%-$)%).%.0$$0%2+'2+)0*H8%
,%2,+*)+0%.,$%('&0%.0$$0%2+'2+)0*H%)&2$0&0(*,*0%.,$%70(7'+08%6'(*0(5*0%(0$$=,**+)35*'%
#4&#-4%$-/% .) %^/&1>-1/&48%2+060.0(*0&0(*0%70**,*':%!$%+)75$*,*'%;)0(0%7,$;,*'%)(%5(%
'--0**'%20+7)7*0(*0%J4&#-4%YF
#: 7)%7;5'*,%$=,**+)35*'%#4&#-4%Y8%,$%/)(0%.)%0;)*,+0%,77'6),1)'()%.'22)0F
P: 7) % +)0&2)0 % (5';,&0(*0 % $=,**+)35*' %#4&#-4%Y8 % /'+(0(.' % )( % )(25* % ,$ %/-%%-4% $='--0**'%
20+7)7*0(*0%#4&#-4%Y%,220(,%6+0,*'8%690%6'(*)0(0%$=).%-)57*'%.0$$,%2+'2+)0*HF
V: 7)%)(;'6,%$,%/5(1)'(0 %$9#'-9-1%% 75$$='--0**'%20+7)70(*0 %/-1/&48%690%)(70+)+H%(0$$,%
*,30$$,%$9#'-9-1%/%)$%+06'+.%+0$,*);'%,$$=,77'6),1)'(0%70(7'+0U2+'2+)0*H
!$%6'.)60%d:]d%4%+0$,*);'%,)%2,77)%.,%d%,%V%,220(,%.076+)**):
W^
34$K)/+",.VN",#+)-+!*:,+;D+,C)KLN",WWL"M
AA76++!"b8",-+)*,+/!",'"*)/!*0"-)'"06;646+)
""04D+)-+!*D,-+)*;K+)-+!*:,+;D1);K,LD1);:64)'KLX
"+)-+!*:,+;D1);K,LD1);I);KLX
"+)-+!*:,+;D1);K,LD1);S0c!;)KLX
"+)-+!*:,+;D1);K,LD1);T60S0KLX
"+)-+!*:,+;D1);K,LD1);=96--)'KLX
"+)-+!*:,+;D1);K,LD1);d*)eKLX
"+)-+!*:,+;D1);K,LD1);c!0)'KLLN
"
""AA!;;)-1!"'Z,0"0)'"+)-+!*)"677)-6",-+)*,;!
""?)-+!*"+)-+!*"."K?)-+!*L04D+)-+!*D1);K04D+)-+!*D1);:6+;S0KLLN
""AA"7*)')(!"06"E+!-?)-+!*"')"7*!7*,);f"6++!/,6;)"6'"+)-+!*)
"">**6<:,+;#SR*!7)*;<2"7*!7)*;,)+."+)-+!*:,+;D1);K,LD1);R*!7)*;,)+KLN
2234$"K)/+"E.V"N"E#"7*!7)*;,)+D+,C)KLN"EWWL"M
"""
"""AA"76++!"g8"7*)')(!"06'"04"'6"7*!7*,);f"6++!/,6;6"6'"+)-+!*)
"""SR*!7)*;<"7*!7"."04D7*!7)*;<D1);K7*!7)*;,)+D1);KELD1);I6&)KLLN
22234$"K)/+"P"."V"N"P"#"+)-+!*:,+;D1);K,LD1);R*!7)*;,)+KLD+,C)KLN"PWWL"M
""""""AA76++!"h8")',&,-!"'6"7*!7*,);f"06'"E+!-?)-+!*
+)-+!*:,+;D1);K,LD1);R*!7)*;,)+KLD*)&!()KPLN
"""Q
"""AA76++!"i8",-+)*,+/!",-"E+!-?)-+!*"'6"7*!7*,);f"*,/6(6;6"06'"04
"""+)-+!*:,+;D1);K,LD+);R*!7)*;<K7*!7LN
""Q
AA76++!"j8",-+)*,+/!",-",&7')&)-;"'Z6++!/,6C,!-)"+)-+!*)57*!7*,);f
+)-+!*D,&7')&)-;K+)-+!*:,+;D1);K,LD1);R*!7)*;,)+>**6<KLX04D+)-+!*D1);:6+
;S0KLLN
Q
1*#$%&'G@4G'D'N.*8)&62/$%2'277*%$20$*"&'7&"7*.&A3.*3.$&/S
W]
1*"%)-7$*"$
>0$ % 2+070(*0 % $,;'+' % .) % *07) % 4 % 7*,*' % 2+'-0**,*' % 0 % 7;)$522,*' % 5(' % 7*+5&0(*' % 20+ % $,%
6'(/)-5+,1)'(0 % .) % +0*) % .) % 70(7'+) % 70(1, % /)$) % C.0/)()*' % 6'( % $=,6+'()&' % ?@>J<D: % E'%
7*+5&0(*' % 4 % (,*' % 6'&0 % ,22$)6,1)'(0 % 20+ % $= % S)(7*,$$,1)'(0 % $'-)6,T % .0$$0 % +0*) % .) % 70(7'+)%
(0$$=,+69)*0**5+,%)JKK@:%`0+%2'*0+%).0(*)/)6,+0%.,%G5,$0%+0*0%2+';0(-'('%)%.,*)%0%20+%2'*0+%
+)60;0+0%)%.,*)%7*077)8%$=,+69)*0**5+,%)JKK@%9,%)(/,**)%3)7'-('%.)%0770+0%6'(/)-5+,*,%&0.),(*0%
$=)(70+)&0(*' % (0$ % 2+'2+)' % .,*,3,708 % *+,&)*0 % )$ % $);0$$' % \,*, % K660778 % .0$$0 % 7*+5**5+0 % 690%
,7*+,--'('%)%6'(60**)%69),;0%.)%+0*08%70(7'+)%0%6,+,**0+)7*)690:%`+)&,%.0$$,%+0,$)11,1)'(0%
.0$$' % 7*+5&0(*' % .) % 6'(/)-5+,1)'(08 % *,$0 % '20+,1)'(0 % ,;;0();, % &0(.),(*0 % 5( % 2+'6077'%
&,(5,$0%.)%)(70+)&0(*'%.0)%.,*)%75$%.,*,3,70:
?@>J<8%)(;0608%,5*'&,*)11,%G507*'%2+'6077'8%/'+(0(.'%5(,%2),**,/'+&,%690%20+&0**0%,.%
5(%'20+,*'+0%$=)(7*,$$,1)'(0%$'-)6,%.0$$0%+0*)%.)%70(7'+)%,$$=)(*0+('%.0$$=,+69)*0**5+,%)JKK@%
*+,&)*0%5(,%2+,*)6,%)(*0+/,66),%A03%S25(*,%0%6$)66,T:%
!( % 2,+*)6'$,+08 % ?@>J< % ., % $, % 2'77)3)$)*H % ,$$='20+,*'+0 % .) % ,--)5(-0+08 % +)&5';0+0 % '%
&'.)/)6,+0%5(,%'%2)[%+0*)8%70(7'+)8%2+'2+)0*H%'%&,2208%,77'6),+0%$0%2+'2+)0*H%,)%70(7'+)%0%)%
70(7'+)%,$$0%+0*)8%2'7)1)'(,+0%)%70(7'+)%75$$0%&,220%+0$,*);0%,$$0%+0*):%!('$*+08%$'%7*+5&0(*'%
2+0;0.0%5(,%/5(1)'(,$)*H%20+%)$%6,+)6,&0(*'%0%$,%;)75,$)11,1)'(0%75$$=)(*0+/,66),%A03%.0$$0%
6'(/)-5+,1)'()%2+0U07)7*0(*):
`0+ % 7'..)7/,+0 % ) % +0G5)7)*) % ('( % /5(1)'(,$) % .) % ,66077)3)$)*H % ., % +0&'*' % 0 % )(*0+,1)'(0 % 6'(%
)JKK@%)$%7)7*0&,%4%7*,*'%+0,$)11,*'%5*)$)11,(.'%5(,%,+69)*0**5+,%6$)0(*U70+;0+%.)%*)2'%*9+00U
*)0+%6'(%$=5*)$)11'%.)%5(%&'.0$$'%/,*U6$)0(*:%
>0$$=,+69)*0**5+, % 2+0760$*,8 % $=)(*0+/,66), % A03 % .0$$' % 7*+5&0(*' % +0,$)11, % $' % 7*+,*' % .)%
#4-/-1%"0$&1-% .0$%7'/*A,+08%$,%2,+*0%70+;0+8%690%7)%'6652,%.0$$=)(*0+,1)'(0%6'(%)$%$);0$$'%
\,*,%K66077%.)%)JKK@%20+%+0,$)11,+0%$,%20+7)7*0(1,%.0$$0%6'(/)-5+,1)'()8%+0,$)11,%$'%7*+,*'%
.) %-'"7&4"0$&1- ( "##'$!"%$@"% .0$ % &'.0$$' % *9+00U*)0+ % 0 % )JKK@ % +,22+070(*, % $' % 7*+,*' % .)%
<-/%$&1-(.-$(."%$:
E,%760$*,%.0$%&'.0$$'%:"%Z!'$-1%%20+%G5,(*'%+)-5,+.,%$=)(*0+/,66),%A038%4%7*,*,%&'*);,*,%.,$%
Wc
+0G5)7)*'%('(%/5(1)'(,$0%+0$,*);'%,$$0%2+07*,1)'()8%690%)&2'(0%.)%&)()&)11,+0%$0%)(*0+,1)'()%
6$)0(*U70+;0+: % @'(' % 7*,*0 % G5)(.) % 7/+5**,*0 % $0 % /5(1)'(,$)*H % &0770 % , % .)72'7)1)'(0 % .,$$,%
*06('$'-),%a&&<'-(a-"4/8%690%)(7*,$$,%5(%."%"7"/-(-1<$1-%75$%7)7*0&,%.0$%6$)0(*%.,(.'%6'7_%
$,%2'77)3)$)*H%.)%,+69);),+0%)(%$'6,$0%)%.,*):%!(%G507*'%&'.'%&0(*+0%$='20+,*'+0%+0,$)11,%*5**)%)%
2,77)%.)%6'(/)-5+,1)'(0%(06077,+)8%)$%7)7*0&,%7,$;,%$0%6'(/)-5+,1)'()%75$%.,*,3,70%$'6,$08%0%
7'$'%(0$%&'&0(*'%)(%65)%$=5*0(*0%6$)66,%75$%25$7,(*0%.)%7,$;,*,--)'%.0$$,%6'(/)-5+,1)'(08%
077, % ;)0(0 % )('$*+,*, % ,$ % 70+;0+: % E=5*)$)11' % .) % G507*, % *06('$'-), % ('( % 7'$' % /, % 7_ % 690 % $0%
)(*0+,1)'()%6$)0(*U70+;0+%.)&)(5)76,('%.+,7*)6,&0(*08%&,%/,%7_%,(690%690%$='20+,*'+0%2'77,%
+0,$)11,+0%*5**0%$0%6'(/)-5+,1)'()%,(690%)(%,770(1,%.)%6'((077)'(0%A038%20+%2')%)('$*+,+$0%,$%
70+;0+%(0$%&'&0(*'%)(%65)%.)72'(0%.)%5(,%6'((077)'(0:
E,%6'&5()6,1)'(0%*+,%6$)0(*%0%70+;0+%4%7*,*,%+0,$)11,*,%&0.),(*0%5(%&066,()7&'%LOK:%
<+,&)*0%G507*'%&066,()7&'8%$'%7*,*'%.0$$=,22$)6,1)'(0%0%$0%/5(1)'(,$)*H%.0$$'%7*+5&0(*'%
7'('%7*,*0%072'+*,*0%6'&0%+)7'+70%,66077)3)$)%*+,&)*0%)$%?03: %LOK%2+0;0.0%690%$'%7*,*'%
.0$$=,22$)6,1)'(0%7),%&,(*0(5*'%.,$%6$)0(*8%&0(*+0%$'%7*,*'%.0$$,%+)7'+7,%4%7,$;,*'%75$%70+;0+:%
!$%6$)0(*%)(;),%$'%7*,*'%.0$$=,22$)6,1)'(0%,$%70+;0+%6'&0%2,+*0%.)%5(,%+)69)07*,8%0%/,%7_%.);0(*)%
5('%7*,*'%.0$$,%+)7'+7,:
E,%+0,$)11,1)'(0%,**5,$0%.)%?@>J<%/'+()760%7'$'%$0%/5(1)'(,$)*H%3,70%.)%6'(/)-5+,1)'(0%0%
6,+)6,&0(*'%.)%5(,%)(*0+,%+0*0:%!(*0+077,(*)%7;)$522)%/5*5+)%2'77'('%0770+0X
!
/'+()+0%$,%2'77)3)$)*H%.)%6'(/)-5+,+0%7)(-'$,+&0(*0%'-()%0$0&0(*'%690%6'7*)*5)760%5(,%+0*0F
!
/'+()+0%$,%2'77)3)$)*H%.)%6,+)6,+0%5(,%+0*0%2+0U07)7*0(*0%0%&'.)/)6,+(0%$0%6,+,**0+)7*)6908%
'$*+0%690%;)75,$)11,+$0F
Wd
\$8)$*,.2+$2'&'.$7*.7&'=&8
u]v
!,(%@'&&0+;)$$0%k%c^^V%k%S!(-0-(0+),%.0$%7'/*A,+0T
ucv
f:`,(15*'%k%c^^W%U%S`),**,/'+&, %20+%$,%/+5)1)'(0 %.)%.,*)%2+';0()0(*) %.,%+0*)% .)%
70(7'+)%70(1,%/)$'q%
udv
E0710B%K:%N,6),710B%k%c^^c%U%S@;)$522'%.)%7)7*0&)%)(/'+&,*);)%6'(%QNET
u"v
r,;,76+)2*%O3j06*%>'*,*)'(%k%9**2XmmAAA:j7'(:'+-
u#v
?)+0$077%@0(7'+%>0*A'+B%k%9**2mm0(:A)B)20.),:6'&mA)B)mA)+0$077w70(7'+w(0*A'+B
uPv
g+560%M6B0$%U%S<9)(B)(-%)(%r,;,T
uVv
L'-0+%@:%`+077&,(%U%S`+)(6)2)%.)%)(-0-(0+),%.0$%7'/*A,+0T
uWv
%r,;,76+)2*%O3j06*%('*,*)'(%k%9**2Xmm)*:A)B)20.),:6'&mA)B)mr@O>
uZv
h)30+(,*0%k%9**2XmmAAA:9)30+(,*0:'+-
u]^v
h)30+(,*0%k%9**2Xmm0(:A)B)20.),:6'&mA)B)mh)30+(,*0wCr,;,D
u]]v
@0+),$)1,*)'(%k%9**2Xmm0(:A)B)20.),:6'&mA)B)m70+),$)1,*)'(
u]cv
@0+;$0*%k%9**2Xmm0(:AB)20.),:6'&mA)B)mr,;,w@0+;$0*
u]dv
r,7'(%h5(*0+%U%Sr,;,%@0+;$0*%2+'-+,&&)(-T
u]"v
N,+*e%h,$$8%E,++e%g+'A(%U%SJ'+0%70+;$0*7%,(.%r,;,%@0+;0+%`,-07T
W"
H$",.20$26&"/$
@'('%,++);,*'%G5)8%,$$=5$*)&'%2,+,-+,/'%.0$$,%&),%*07):%!$%2,+,-+,/'%2)[%70(*)*'8%6,+)6'%.)%
0&'1)'():%@0%&)%/0+&'%5(%,**)&'%,%20(7,+6)8(1&1(!$(!4-.&:%\'2'%*,(*)%7,6+)/)6)8%7'('%S3"/$(
,++);,*'%,%-'.0+&)%)%/+5**)%.0$%&)'%$,;'+':%I5,(.'%*+0%,(()%/,%760$7)%$,%7*+,.,%2)[%.)//)6)$08%
)(*+,2+0(.0+0 % 5(, % 6,++)0+, % )&2+0(.)*'+),$0 % )( % )(*0+(0*8 % -)';,(08 % )(0720+*'8 % )( % !*,$), % 0 % ,%
>,2'$)8 % .';0 % ) % -)';,() % )(*+,2+0(.0(*) % ('( % 7'(' % ,)5*,*) % (0$ % $'+' % 20+6'+7'8 % 72077' % &)%
/0+&,;'%,%20(7,+0X%S8&(:"%%&('"(/!-'%"(<$3/%"bT:%L)769),;'%.)%+,$$0(*,+0%'%3$'66,+0%)$%&)'%
20+6'+7'%5();0+7)*,+)'%6'(%$,%720+,(1,%.)%6'7*+5)+0%G5,$6'7,8%&,%6'(%$,%2'77)3)$)*H%6'(6+0*,%
.)%+)*+';,+&)%6'(%5(%25-('%.)%&'7690%)(%&,('%0%*,(*'%*0&2'%20+7':
\'2'%*+0%,(()%2'77'%.)+0%.)%0770+0%7*,*' %!&!!$3%&% 0%5( %#$00$!&% :&''-8%&,%.)%,;0+%/,**'%$,%
760$*,%-)57*,:%<+0%,(()%.)%7,6+)/)6)%20+%2'+*,+0%,;,(*)%5();0+7)*H%0%$,;'+'8%$,%70**)&,(,%)(%
5//)6)'%0%)$%A00B%0(.%75)%$)3+):%`0+%,++);,+0%G5)8%)(%G507*,%2,-)(,:
!$%&)'%2)[%70(*)*'%+)(-+,1),&0(*'%;,%,)%&)0)%-0()*'+)8%690%('('7*,(*0%;0.0770+'%$,%&),%
760$*,%,11,+.,*,%0%+)*0(0770+'%690%$0%6'70%,(.,770+'%/,**0%20+%-+,.)8%9,(('%,660**,*'%$,%&),%
760$*,%0%&)%9,(('%70&2+0%7'7*0(5*'8%,)5*,(.'&)%)(%G5,$5(G50%&'.'%2'*0770+':%L)(-+,1)'%
,(690%&)'%/+,*0$$'%K(*'()'8%690%9,%70&2+0%6+0.5*'%)(%&0%0%(0)%&)0)%2+'-0**)8%,)5*,(.'&)%
,(690%/)(,(1),+),&0(*0%(0$$0%/,7)%)()1),$)%.0$%&)'%20+6'+7':%M%2')%6=4%$0)8%b0.0+)6,8%$,%&),%
/).,(1,*,8 % $, % &), % 72,$$, % /'+*0 % ., % d % ,(()X % 4 % +)576)*, % , % 7'22'+*,+0 % $0 % &)0 % *0(7)'()8 % ,%
6'(7)-$),+&)8%,%6'66'$,+&)8%,%7'7*0(0+&)%6'(*+'%*5**'%0%*5**):%M%2')%9,%,660**,*'%.)%2,77,+0%
-+,(%2,+*0%.0)%A00B%0(.%.0-$)%5$*)&)%,(()8%-$)%,(()%.0$$,%-)';0(*[8%69)57)%)(%6,7,%,%7*5.),+08%
6'&2+0(.0(.'%690%G50)%.50%-)'+()%/'770+'%20+%&08%20+%$,%&),%7)*5,1)'(08%/'(.,&0(*,$)%20+%
6'&2$0*,+0%)$%20+6'+7'%5();0+7)*,+)':%>'(%*5**0%$0%+,-,110%$'%/,+0330+':
L)(-+,1)'%)('$*+0%)$%2+'/:%J)(G508%20+%,;0+&)%.,*'%$,%2'77)3)$)*H%.)%7;'$-0+0%)$%*)+'6)()'%7'**'%
$, % 75, % -5).,8 % ,;0+&) % 6'7*,(*0&0(*0 % ,)5*,*' % 0 % *+,(G5)$$)11,*' % (0) % &'&0(*) % .) % &,--)'+0%
-/"34$9-1%&D% L)(-+,1)'%)$%&)' %!&9#"<1&% .)%*)+'6)()'%f)5702208%20+%*5**)%)%6'(7)-$)%0%-$)%
,)5*)%690%9,%7,25*'%.,+&):%L)(-+,1)'%K$077,(.+'8%70(1,%.)%$5)%+)7'$;0+0%.0$$0%2+'3$0&,*)690%
.0$%*)+'6)()'%7,+0330%7*,*'%&'$*'%2)[%$5(-'%0%6'&2$077':%L)(-+,1)'%L'7,+)'8%-+,(.0%,&)6'%
W#
0%6'$$0-,8%690%&)%9,%,)5*,*'%,%+,1)'(,$)11,+0%)%&)0)%+,-)'(,&0(*)%6'(/57)%)(%/,70%.)%7*075+,%
.0$$,%*07)%0%b+,(6076'8%20+%,;0+&)%,)5*,*' %,%6,2)+0%6'&0 %+0,$)11,+0 %,$65(0%/5(1)'(,$)*H%
.0$$' % 7*+5&0(*': % L)(-+,1)' % *5**) % ) % +,-,11) % .0$$, % &), % ,1)0(., % 0 % )( % 2,+*)6'$,+0 % @*0/,('8%
6'&2,-('%.)%765'$,%0%5();0+7)*H%2+)&,%0%7'6)'%2')8%0%b0+.)(,(.'8%690%7'33,+6,(.'7)%)$%&)'%
$,;'+'%&)%9,(('%20+&077'%.)%,770(*,+&)%.,$$=5//)6)'%20+%)$%*0&2'%(06077,+)'%,$$,%7*075+,%
.0$$,%*07):
f+,1)0%,%f),(2)0+'%0%K$077)'8%)(702,+,3)$)%6'&2,-()%.)%$)60'%0%.)%5();0+7)*H8%690%&)%9,(('%
+07' % 2)[ % /,6)$0 % )$ % 7520+,&0(*' % .0-$) % 5$*)&) % 07,&) %#"//"1.&9$% ) % $'+' % ,225(*): % f+,1)0%
f),($56,%20+%,;0+*) %-/"34$%&% 69)0.0(.'*)%,)5*'%20+%$=5$*)&'%07,&0:%f+,1)0%,%*5**)%)%&)0)%
,&)6)8%690%9,(('%7'22'+*,*'%$0%&)0%,770(10%0%)%&)0)%7/'-9)%(0-$)%5$*)&)%*+0%,(():
Q( % 20(7)0+' % /)(,$0 % ;, % , % &), % 1), % K$&,8 % 690 % ,;+0330 % ;'$5*' % *,(*' % ;0.0+0 % G507*' % &)'%
*+,-5,+.'8%&)%70-5)+H%.,%'"//V8%6'&0%9,%70&2+0%/,**':
WP
Scarica

Facoltà di Ingegneria