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