Tesi
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,868
On Slideshare
7,868
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
112
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. UNIVERSITA’ DEGLI STUDI DI TRIESTE FACOLTA’ DI INGEGNERIA Tesi di Laurea Specialistica in Ingegneria Informatica PROGETTAZIONE E SVILUPPO DI UN DECISION SUPPORT SYSTEM (DSS) DI AUSILIO ALLA SCELTA DELLE FONTI DI ENERGIA RINNOVABILI Ill.mo Professore: Laureando: Maurizio FERMEGLIA Andrea PICO ANNO ACCADEMICO 2007 - 2008
  • 2. 1. INTRODUZIONE ................................................................................................................................................... 1 1.1. IL PROTOCOLLO DI KYOTO ............................................................................................................................... 2 1.2. MOTIVAZIONI DELLA TESI ................................................................................................................................ 3 1.3. OBIETTIVO ....................................................................................................................................................... 4 1.4. LO STATO DELL’ARTE....................................................................................................................................... 4 2. LE FONTI ENERGETICHE RINNOVABILI..................................................................................................... 5 2.1.1. La termovalorizzazione............................................................................................................................... 6 2.1.2. L’energia nucleare...................................................................................................................................... 6 2.2. FONTI RINNOVABILI CLASSICHE........................................................................................................................ 7 2.3. LE NUOVE FONTI DI ENERGIA RINNOVABILE ..................................................................................................... 8 2.3.1. Energia solare ............................................................................................................................................ 9 2.3.2. Fotovoltaico.............................................................................................................................................. 13 2.3.3. Eolico........................................................................................................................................................ 15 2.3.4. Biomassa................................................................................................................................................... 16 2.3.5. Maree, moto ondoso e correnti ................................................................................................................. 18 3. LE SCELTE PROGETTUALI ............................................................................................................................ 20 3.1. IL DECISION SUPPORT SYSTEM....................................................................................................................... 20 3.1.1. Definizione di un DSS ............................................................................................................................... 21 3.1.2. Utilità e scopi di un DSS........................................................................................................................... 22 3.1.3. Componenti di un DSS .............................................................................................................................. 24 3.2. GOOGLE EARTH.............................................................................................................................................. 25 3.2.1. Le versioni di Google Earth...................................................................................................................... 27 3.2.2. Google Earth COM API ........................................................................................................................... 28 3.3. SQL SERVER 2008.......................................................................................................................................... 29 3.3.1. Le novità di MS SQL Server 2008............................................................................................................. 29 3.4. AMBIENTE DI SVILUPPO .................................................................................................................................. 39 3.4.1. Visual studio 2008 .................................................................................................................................... 39 4. PROGETTO DEL DSS......................................................................................................................................... 41 4.1. IL PROGETTO IN DETTAGLIO ........................................................................................................................... 41 4.1.1. Vincoli di progetto .................................................................................................................................... 42 4.1.2. Progetto del Database .............................................................................................................................. 42 4.1.3. Classi e metodi.......................................................................................................................................... 52 4.1.4. L’applicativo............................................................................................................................................. 55 4.2. I MODELLI DI CALCOLO .................................................................................................................................. 56 4.2.1. Modello eolico medio annuo..................................................................................................................... 56 4.2.2. Modello fotovoltaico medio annuo ........................................................................................................... 61 5. L’IMPLEMENTAZIONE E LE INTERFACCE............................................................................................... 66 5.1. L’IMPLEMENTAZIONE ..................................................................................................................................... 66
  • 3. 5.1.1. Il DBMS .................................................................................................................................................... 66 5.1.2. Il Web Service ........................................................................................................................................... 68 5.1.3. La libreria Utilità...................................................................................................................................... 69 5.1.4. La libreria LibrerieGE.............................................................................................................................. 69 5.1.5. L’applicativo............................................................................................................................................. 71 5.2. L’INTERFACCIA: UN APPLICATIVO DEMO ........................................................................................................ 73 6. CONCLUSIONI .................................................................................................................................................... 77 6.1. RISULTATI OTTENUTI...................................................................................................................................... 77 6.2. LAVORO SVOLTO ............................................................................................................................................ 78 6.3. SVILUPPI FUTURI ............................................................................................................................................ 78 7. BIBLIOGRAFIA................................................................................................................................................... 80 7.1. RISORSE ON-LINE ........................................................................................................................................... 80
  • 4. 1. INTRODUZIONE L’utilizzo delle fonti energetiche rinnovabili rappresenta una esigenza sia per i Paesi industrializzati che per quelli in via di sviluppo. I primi necessitano, nel breve periodo, di un uso più sostenibile delle risorse, di una riduzione delle emissioni di gas serra e dell’inquinamento atmosferico, di una diversificazione del mercato energetico e di una sicurezza di approvvigionamento energetico. Per i Paesi in via di sviluppo, le energie rinnovabili rappresentano una concreta opportunità di sviluppo sostenibile e di accesso all’energia in aree remote. In particolar modo, l’Unione Europea (UE) mira ad aumentare l’uso delle risorse rinnovabili per limitare la dipendenza dalle fonti fossili convenzionali e allo stesso tempo far fronte ai pressanti problemi di carattere ambientale che sono generati dal loro utilizzo. A conferma di ciò nella Direttiva 2001/77/CE “Promozione dell’energia elettrica prodotta da fonti rinnovabili”, viene posto come traguardo il soddisfacimento, entro il 2010, di una quota pari al 12% del consumo interno lordo di energia e al 22% di quello dell’energia elettrica, attraverso l’utilizzo di fonti rinnovabili. Per ottenere questi risultati nella direttiva sono indicati degli obiettivi differenziati per ogni singolo Stato membro e l’Italia si è prefissa di raggiungere, entro il 2010, una quota pari al 22% della produzione elettrica nazionale. Il Decreto Legislativo del 29 dicembre 2003 n. 387 recepisce la Direttiva 2001/77/CE e introduce una serie di misure volte a superare i problemi connessi al mercato delle diverse fonti di Energia Rinnovabile. Nel 2003 in Italia la produzione lorda di energia elettrica da impianti alimentati da fonti rinnovabili ha raggiunto il valore di 47.971 GWh: il contributo maggiore è venuto dalla produzione idroelettrica, pari a 36.674 GWh, seguito dalla produzione geotermica (5.340 GWh), biomasse (compresi i rifiuti, 4.493 GWh) ed eolica (1.458 GWh). Complessivamente la quota percentuale di energia elettrica prodotta da impianti alimentati da fonti rinnovabili ha raggiunto il 16,3%. Il sistema di promozione dell'energia rinnovabile in Italia, inizialmente incentivato con il provvedimento noto come CIP6, è stato profondamente riformato con il decreto legislativo 79/99, che ha introdotto l’obbligo per le imprese che producono o importano elettricità da fonti fossili a immettere in rete una quota prodotta da impianti nuovi o ripotenziati alimentati da fonti di energia rinnovabili. Tale quota era stata fissata inizialmente al 2% dell’energia eccedente i 100 GWh. Successivamente, con il decreto n. 387 si è stabilito di incrementarla annualmente dello 0,35% fino al 2006. Tutti gli operatori soggetti all’obbligo possono provvedere autonomamente alla produzione della quota di energia rinnovabile che devono immettere in rete, o comperare tale quota da terzi 1
  • 5. attraverso un meccanismo di mercato che prevede la cessione dei cosiddetti “Certificati Verdi” (CV). Si tratta di titoli attribuibili annualmente dal GRTN (Gestore Rete Trasmissione Nazionale) all’energia prodotta da fonti rinnovabili. Tali titoli hanno una taglia di 100 MWh e possono essere vantaggiosamente negoziati, tramite contratti bilaterali tra detentori di CV e gli operatori soggetti all’obbligo o nella piattaforma di negoziazione nel GME (Gestore Mercato Elettrico). Per i Certificati Verdi esiste un mercato secondario dove le banche li scambiano “pronti contro termine” con le imprese che hanno eccedenza (o viceversa) per avere le quote previste dalla legge in sede di chiusura di bilancio. Attualmente il mercato non è regolamentato e molto trasparente e quindi le operazioni si possono chiudere quasi esclusivamente con banche straniere, le quali hanno piattaforme attrezzate per poter prezzare questi prodotti abbastanza particolari. 1.1. Il protocollo di Kyoto Il Protocollo di Kyoto è un accordo internazionale sull'ambiente negoziato a Kyoto nel dicembre 1997 da oltre 160 paesi durante la Conferenza delle parti (COP3) della Convenzione Quadro delle Nazioni Unite sui Cambiamenti Climatici (UNFCCC) ed il riscaldamento globale. Il Protocollo di Kyoto è entrato in vigore il 16 febbraio 2005, dopo la ratifica da parte della Russia. Tra i paesi non aderenti figurano gli Stati Uniti, l'Australia, la Cina e l'India. Dal negoziato sono stati esclusi i paesi in via di sviluppo, per evitare di ostacolare la loro crescita economica. Il Protocollo di Kyoto impegna i paesi industrializzati e quelli a economia in transizione (i paesi dell'Est europeo) a ridurre complessivamente del 5,2% le principali emissioni antropogeniche di gas ad effetto serra (biossido di carbonio CO2, metano CH4, protossido di azoto N2O, idrofluorocarburi HFC, perfluorocarburi PFC, esafloruro di zolfo SF6) entro il 2010 e, più precisamente, nel periodo compreso tra il 2008 e il 2012. Il Protocollo di Kyoto prevede impegni di riduzione differenziati da paese a paese: per i paesi membri dell'Unione Europea nel loro insieme la riduzione dovrà essere pari all'8% (per l'Italia l'obiettivo è la riduzione del 6,5% delle emissioni), per gli Stati Uniti al 7%, per il Giappone al 6%. L'anno di riferimento per la riduzione delle emissioni di anidride carbonica, metano e protossido di azoto è il 1990, mentre per idrofluorocarburi, perfluorocarburi, esafloruro di zolfo è il 1995. 2
  • 6. Per raggiungere questi obiettivi, il Protocollo di Kyoto propone una serie di provvedimenti: • rafforzare o istituire politiche nazionali di riduzione delle emissioni (sviluppo di fonti di energia rinnovabili, miglioramento dell'efficienza energetica, promozione di forme di agricoltura sostenibili, ecc.); • cooperare con gli altri stati aderenti al Protocollo (scambio di informazioni ed esperienze, coordinamento delle politiche nazionali a scopo di efficienza attraverso meccanismi di cooperazione, quali i diritti di emissione, l'attuazione congiunta e il meccanismo di sviluppo pulito). 1.2. Motivazioni della tesi La finalità di ridurre le emissioni dei gas serra in funzione delle scadenze fissate dagli obiettivi mondiali e comunitari attraverso l'aumento dell'efficienza nel settore elettrico, la sicurezza, la diversificazione e l'economia degli approvvigionamenti, la riduzione dei consumi energetici e l'incremento della produzione di energia da fonti rinnovabili analizzato nel paragrafo precedente, fa risultare evidente il grande interesse scientifico ed economico che le fonti energetiche rinnovabili costituiranno nel breve e medio periodo. Grazie anche ai contributi governativi cui possono beneficiare non solo i soggetti pubblici o le imprese ma anche i soggetti privati, questi tipi di fonti energetiche stanno destando in maniera sempre maggiore l’interesse di un pubblico che è sempre più vasto ed eterogeneo. Spesso questi potenziali utilizzatori pur avendo a disposizione risorse in termini sia economici che di spazi necessari alla realizzazione degli impianti non prendono in considerazione l’investimento perché non sono in grado di valutarne i benefici economici, mentre il conseguente incremento di operatori del settore non sempre garantisce una informazione corretta e completa in quanto alcuni di questi operatori potrebbero non essere in grado di esprimere dei giudizi completamente obiettivi circa la possibile produzione in termini energetici (e quindi i relativi ritorni economici) che ne può derivare dall’adozione di una fonte di energia piuttosto che un'altra, creando così una possibile confusione nonché false aspettative nei loro interlocutori. 3
  • 7. 1.3. Obiettivo In considerazione a quanto analizzato nel paragrafo precedente, appare evidente la necessità di avere a disposizione uno strumento in grado di fornire dei dati oggettivi circa la possibile produzione energetica delle varie fonti in funzione di un dato territorio, tale strumento deve essere di facile uso e presentare una interfaccia intuitiva proprio perché la fascia dei possibili utilizzatori è molto vasta e diversa anche dal punto di vista delle competenze. Lo strumento deve inoltre essere in grado di fornire dei valori energetici riferiti a più fonti rinnovabili, in modo tale che l’utente possa avere a disposizione la più ampia visione possibile per poter decidere nel modo migliore dove concentrare i suoi possibili investimenti economici. Per ultimo, tale strumento deve essere aperto, nel senso che deve prevedere la possibilità di integrare e quindi fornire in futuro i valori anche di quelle fonti rinnovabili che oggi non vengono prese in considerazione per esempio perché la tecnologia non permette ancora un loro sfruttamento efficace ed efficiente oppure perché tali fonti non si conoscono ancora. Ed è proprio in quest’ottica che si colloca il Decision Support System di ausilio alla scelta delle fonti di energia rinnovabile. 1.4. Lo stato dell’arte Proprio perché il settore delle fonti energetiche rinnovabili costituisce un settore nuovo, non ci sono ancora degli strumenti che permettono di calcolare l’energia che queste fonti sono in grado di fornire, ovvero là dove esistono tali strumenti sono in grado di analizzare una sola fonte energetica e spesso con un solo modello di calcolo. Inoltre molti applicativi non prevedono la possibilità di integrare altre fonti energetiche, oppure presentano delle interfacce poco intuitive se non addirittura criptiche oppure troppo specialistiche che non sono utilizzabili dagli utenti più comuni. In questo capitolo si è analizzato per grandi linee la situazione delle fonti energetiche rinnovabili ed accennato alle direttive europee e mondiali che le caratterizzano. Da esse ne è scaturita la motivazione che ha portato a scegliere di realizzare questo lavoro e ci si è posti gli obiettivi in funzione di tali motivazioni e dello stato dell’arte degli applicativi disponibili. Nel capitolo successivo verranno analizzate con più dettaglio le varie fonti di energia rinnovabile. 4
  • 8. 2. LE FONTI ENERGETICHE RINNOVABILI In questo capitolo verranno analizzate quelle che sono le fonti energetiche rinnovabili che possono venire sfruttate ai giorni nostri. Con il termine “fonti di energia rinnovabili” si identificano quelle risorse del patrimonio naturale che hanno la capacità di riprodursi e rinnovarsi in un tempo minore di quello in cui vengono consumate e, per estensione, il cui utilizzo non pregiudica le risorse naturali per le generazioni future. Di conseguenza sono generalmente considerate quot;fonti di energia rinnovabilequot; il sole, il vento, il mare, il calore della Terra, ovvero quelle fonti il cui utilizzo attuale non ne pregiudica la disponibilità nel futuro, mentre quelle quot;non rinnovabiliquot; sono ad esempio le fonti fossili quali petrolio, carbone, gas naturale. La classificazione delle diverse fonti è comunque soggetta a molti fattori, non necessariamente scientifici, creando disuniformità di classificazione. In particolare si possono avere le seguenti ulteriori suddivisioni: • energia sostenibile, termine con il quale si identifica una modalità di produzione ed uso dell'energia che permette uno sviluppo sostenibile; comprende dunque anche l'aspetto dell'efficienza degli usi energetici; • fonti alternative di energia, che sono tutte quelle fonti diverse dagli idrocarburi, cioè fonti non fossili. Secondo la normativa italiana vengono considerate rinnovabili le seguenti fonti1: • il sole, il vento, le risorse idriche, le risorse geotermiche, le maree, il moto ondoso e la trasformazione in energia elettrica dei prodotti vegetali o dei rifiuti organici e inorganici. Un altra distinzione che spesso viene fatta è quella tra fonti rinnovabili quot;classichequot; (essenzialmente idroelettrico e geotermia) e fonti rinnovabili quot;nuovequot; (anche dette quot;NFERquot;), tra cui vengono generalmente incluse l'energia solare, eolica e da biomassa. Nell'ambito della produzione di energia elettrica le fonti rinnovabili vengono inoltre classificate in quot;fonti programmabiliquot; e quot;fonti non programmabili” a seconda che possano essere programmate in base alla richiesta di energia oppure meno. Secondo la definizione del Gestore Servizi Elettrici (GSE, conosciuto anche come GRTN), nel primo gruppo rientrano quot;impianti idroelettrici a serbatoio e bacino, rifiuti solidi urbani, biomasse, impianti assimilati che utilizzano combustibili fossili, combustibili di processo o residuiquot;, mentre 1 DL 16 marzo 1999, n.79, art. 2,15 GSE-GRTN: quot;Normativa di riferimentoquot;, elenco norme di riferimento. 5
  • 9. nel secondo gruppo (non programmabili) si trovano quot;impianti di produzione idroelettrici fluenti, eolici, geotermici, fotovoltaici, biogasquot;2. Un particolare punto di vista considera per estensione anche risparmio energetico ed efficienza energetica come quot;fonti rinnovabiliquot;, sebbene a rigore tali tematiche facciano parte dell'utilizzo razionale dell'energia, e non della sua produzione. Questi due aspetti, legati più all’uso che alla produzione, vengono alle volte classificati fra le energie sostenibili. Fra le fonti di energia rinnovabili che verranno descritte nel seguito, ci sono due particolari fonti che meritano una menzione a parte; esse sono la termovalorizzazione e l’energia nucleare. 2.1.1. La termovalorizzazione Per termovalorizzazione si intende l'incenerimento dei rifiuti. Tale forma di energia in Italia viene considerata totalmente rinnovabile (in deroga alle direttive europee in materia), mentre la UE considera quot;rinnovabilequot; solo la parte organica dei rifiuti (ovvero gli scarti biodegrabili)3. Fonte rinnovabile, per la UE, significa quindi riproducibile dal sole attraverso la fotosintesi e la catena trofica. Tale posizione è condivisa da gran parte dei movimenti ambientalisti, per i quali deve essere scartata da tale computo l'energia prodotta dai rifiuti solidi urbani, in quanto questi sono prodotti anche con materie prime fossili o prodotti sintetici non biodegradabili. La sola parte organica dei rifiuti sarebbe dunque da considerarsi realmente quot;rinnovabilequot;. 2.1.2. L’energia nucleare Sebbene quot;non fossilequot;, l'energia nucleare non è tradizionalmente considerata rinnovabile. Infatti per quanto riguarda l'energia nucleare da fissione e il ciclo di reazione che si basa sull'uranio 235 come combustibile (ovvero il ciclo quasi esclusivamente sfruttato allo stato attuale), il suo utilizzo dipende comunque da riserve limitate di materiali. L'uranio-235 infatti costituisce solo lo 0,7% del totale dell'uranio presente in natura, e in base alle riserve di uranio fino ad oggi accertate si prevede che al consumo attuale (ma a prezzi di estrazione via via sempre più elevati), la disponibilità sia di circa 200 anni. In realtà si conoscono almeno altri 150 minerali contenenti uranio in percentuali ritenute sfruttabili commercialmente, e solo alcuni di questi vengono attualmente utilizzati (uraninite, pechblenda, autunite, carnotite). Và inoltre ricordato che l’uranio è presente in tutte le acque salmastre e nelle 2 Fonte GSE. 3 Gazzetta ufficiale dell'Unione Europea IT 27.3.2004. 6
  • 10. ceneri pesanti delle centrali termoelettriche a carbone, nelle quali si concentrano molti elementi pesanti. Tutto questo fa si che si possa affermare che questa fonte di energia sia pressoché inesauribile, tuttavia il costo di estrazione di questo tipo di uranio fa sì che sia più alto di quanto se ne possa ricavare in termini di energia. Sono peraltro ormai noti da svariati decenni (ma finora di limitato utilizzo per problemi tecnici e di sicurezza) cicli di reazione nucleare quot;autofertilizzantequot; che, sfruttando il più abbondante uranio-238 (più del 99% del totale), promettono di prolungare la durata delle riserve di minerale. Analogo discorso può essere fatto a proposito dell'uso del torio-232, combustibile nucleare naturale più abbondante dell'uranio che sarebbe utilizzabile sia in reattori tradizionali che in quelli autofertilizzanti. In prospettiva più lontana è anche allo studio lo sfruttamento dell'energia nucleare da fusione nel ciclo del deuterio e trizio: prodotta a partire da elementi in pratica inesauribili in natura, è pertanto anche da considerarsi energia rinnovabile secondo la definizione data sopra. Infine, una argomentazione per avallare non tanto la quot;rinnovabilitàquot; quanto la quot;sostenibilitàquot; dell'energia nucleare è la mancata produzione di anidride carbonica durante il processo di fissione nelle centrali nucleari. Viene tuttavia evidenziato che lo scavo del minerale, la sua raffinazione, l'arricchimento, il riprocessamento e lo stoccaggio delle scorie radioattive comportano comunque elevati consumi energetici (e quindi una certa produzione di CO2) di difficile quantificazione. Prendendo dunque in considerazione tutta la filiera produttiva questa argomentazione viene parzialmente meno, anche se la quantità unitaria di CO2 per kWh prodotto immessa nell’ambiente dal ciclo produttivo è comunque nettamente inferiore rispetto a quella di fonti rinnovabili come solare ed eolico. 2.2. Fonti rinnovabili classiche Le fonti rinnovabili generalmente dette quot;classichequot; sono quelle che vengono sfruttate per la produzione di energia elettrica fin dall'inizio dell'età industriale. Le prospettive di uso futuro dipendono dall'esplorazione delle risorse potenziali disponibili, in particolare nei paesi in via di sviluppo e dalle richieste in relazione all'ambiente e all'accettazione sociale. Tra le più antiche si trovano certamente le centrali idroelettriche, che hanno il vantaggio di avere lunga durata (molte delle centrali esistenti sono operative da oltre 100 anni). Inoltre le centrali idroelettriche sono pulite e hanno poche emissioni. Tuttavia si è scoperto che le emissioni sono 7
  • 11. apprezzabili soltanto se associate con bacini poco profondi in località calde (tropicali), sebbene in generale le centrali idroelettriche producano molte meno emissioni nel loro quot;ciclo vitalequot; rispetto agli altri tipi di produzione di energia. Altre critiche dirette alle grosse centrali idroelettriche a bacino includono lo spostamento degli abitanti delle zone in cui si decide di fare gli invasi necessari alla raccolta dell'acqua e il rilascio di grosse quantità di biossido di carbonio durante la loro costruzione e l'allagamento della riserva. L'energia prodotta da fonte idroelettrica, che ebbe un ruolo fondamentale durante la crescita delle reti elettriche nel XIX e nel XX secolo, sta vivendo una rinascita della ricerca nel XXI secolo. Le aree con più elevata crescita nell'idroelettrico sono le economie asiatiche in forte crescita, con la Cina in testa; tuttavia anche altre nazioni asiatiche stanno installando molte centrali di questo tipo. Questa crescita è guidata dai crescenti costi energetici e il desiderio diffuso di generazione energetica quot;in casaquot;, pulita, rinnovabile ed economica. Un altro tipo di centrali sono le centrali geotermiche, che possono funzionare 24 ore al giorno, fornendo un apporto energetico di base. Nel mondo la capacità produttiva potenziale stimata per la generazione geotermica è di 85 GW per i prossimi 30 anni. Tuttavia l'energia geotermica è accessibile soltanto in aree limitate del mondo, che includono gli Stati Uniti, l'America centrale, l'Indonesia, l'Africa orientale, le Filippine e l'Italia. Il costo dell'energia geotermica è diminuito drasticamente rispetto ai sistemi costruiti negli anni '70. La generazione di calore per il riscaldamento geotermico può essere competitiva in molti paesi in grado di produrlo, ma anche in altre regioni dove la risorsa è a una temperatura più bassa. Qui di seguito verranno analizzate le nuove fonti energetiche rinnovabili, alcune delle quali interessano in prima persona l’obiettivo di questo lavoro. 2.3. Le nuove fonti di energia rinnovabile In questo insieme fanno parte quelle fonti energetiche il cui sfruttamento ha avuto inizio in tempi recenti grazie anche allo sviluppo di nuove tecnologie che permettono il loro sfruttamento. 8
  • 12. Esse sono principalmente: • sole: energia solare; • vento: energia eolica; • acqua: energia idroelettrica intesa come energia marina (maree e moto ondoso); • terra: energia geotermica; • gas: biomasse. Il mercato delle tecnologie riguardanti le NFER è forte in crescita principalmente in paesi come la Germania, la Spagna, gli Stati Uniti e il Giappone. La sfida è quella di allargare le basi di mercato per una crescita continuativa in tutto il mondo. 2.3.1. Energia solare La conversione della energia della radiazione solare in calore è uno dei modi più conosciuti e sfruttati per utilizzare l’energia solare. I parametri chiave per il progetto di un impianto solare sono la temperatura e la porzione di energia utilizzabile, determinate per la maggior parte dalla latitudine dell’impianto (da cui dipende la concentrazione della radiazione solare) e dalle caratteristiche della superficie assorbente. La radiazione solare può essere sfruttata direttamente o indirettamente. Nel primo caso l’energia può essere impiegata per il riscaldamento e il condizionamento degli ambienti e per il riscaldamento dell’acqua (in abitazioni, strutture sportive, ecc.), e l’impianto si definisce Termico. Nel secondo caso il calore viene sfruttato in cicli termodinamici che consentono produzione di elettricità da immettere direttamente nella rete, e si parla di impianti termodinamici. 2.3.1.1. Solare termico Il funzionamento è relativamente semplice e si basa sulla capacità che hanno i corpi neri di assorbire calore. • Riscaldamento dell’acqua: la superficie annerita di una lastra metallica (collettore solare) esposta al sole assorbe calore e lo cede all’acqua che viene fatta circolare all’interno di tubi a contatto con il collettore, che cede quindi il calore assorbito al fluido riscaldandolo. Quindi l’acqua viene inviata ad un serbatoio di stoccaggio ed è pronta per essere impiegata come acqua calda nell’ambiente domestico; 9
  • 13. • riscaldamento dell’aria: ha un funzionamento analogo al precedente. A contatto con il collettore solare ci sono tubi in cui viene inviato un flusso di aria proveniente dall’interno dell’abitazione. L’aria si riscalda a contatto con la superficie del collettore, e quindi in parte viene inviata direttamente nell’abitazione, in parte ad un serbatoio di stoccaggio per il riscaldamento notturno. Fig. 2.1: principio di funzionamento del solare termico 10
  • 14. 2.3.1.2. Solare termodinamico Ci sono fondamentalmente tre tipi di impianti che producono energia elettrica attraverso cicli termodinamici lavorando a medie o alte temperature: • parabolic dish (specchi parabolici): la superficie riflettente è costituita da un disco a sezione parabolica mobile, che insegue su due assi la radiazione solare concentrandola nel punto focale, in cui è posto un collettore termico. Il calore immagazzinato dal collettore alimenta direttamente un motore (motore Stirling), grazie al quale si ottiene la trasformazione in energia elettrica. Il rendimento di questo motore può raggiungere anche il 40% e permette di usare direttamente la radiazione senza ulteriori perdite di calore, però questi impianti sono molto costosi e difficili da gestire; Fig. 2.2: principio di funzionamento del parabolic dish • parabolic trough (Specchi semicilindrici lineari a sezione parabolica): sono costituiti da semi-cilindri a sezione parabolica, che inseguono la radiazione ruotando solo attorno al loro asse e la concentrano nel fuoco che si sviluppa linearmente. Il collettore è quindi lineare, ed al suo interno viene fatto circolare il fluido che costituisce lo scambiatore primario. Il fluido primario cede poi il calore ad un fluido secondario (generalmente acqua) collegato al gruppo turbina-alternatore, che trasforma l’energia termica in elettrica. Questi collettori vengono disposti sul terreno in file parallele, pertanto richiedono grandi spazi aperti, ed inoltre possono ruotare solo intorno al loro asse; 11
  • 15. Fig. 2.3: principio di funzionamento del parabolic trough • solar tower (o CRS – Central Receiver System): l’impianto è costituito da numerosi specchi, detti eliostati, che concentrano la radiazione in uno stesso punto. Il ricevitore si trova in cima ad una torre (da cui il nome “torri solari”) ed al suo interno viene fatto scorrere il fluido primario che assorbe il calore. Come nel caso precedente c’è uno scambiatore secondario (generalmente acqua) collegato al gruppo turbina-alternatore che trasforma l’energia termica in elettrica. Questi sono gli impianti che lavorano alle più alte temperature. Le perdite energetiche più importanti sono dovute a perdite ottiche e perdite collegate al calore radiante. Fig. 2.4: principio di funzionamento delle solar tower 12
  • 16. 2.3.2. Fotovoltaico Sono impianti che sfruttano l’energia solare (fotoni) convertendola direttamente in energia elettrica. Gli impianti sono “modulari”: l’unità fondamentale è detta cella fotovoltaica, generalmente di forma quadrata e superficie di 100 cm2, funzionante come una batteria. Le celle sono raggruppate in elementi commerciali unitari detti moduli (mediamente hanno una superficie di 0,5 m2), che una volta collegati prima in serie (stringhe) e poi in parallelo danno luogo al generatore fotovoltaico. I moduli montati su strutture di sostegno sono detti pannelli, vengono orientati lungo l’asse Est-Ovest e inseguono il moto apparente del sole ruotando attorno al loro asse. La produzione di energia elettrica sotto forma di corrente continua avviene nella cella fotovoltaica che può essere descritta come un “foglio” di spessore molto piccolo, generalmente di silicio, le cui proprietà elettriche vengono modificate tramite l’impiego di sostanze “droganti”, che si inseriscono tra gli atomi di silicio modificandone la struttura chimica e di conseguenza il “comportamento elettrico”. La faccia esposta al raggio solare viene drogata generalmente con piccole quantità di fosforo, mentre la faccia opposta viene drogata con atomi di boro. Questa procedura permette di realizzare in uno spessore piccolissimo (0,25 mm – 0,35 mm) una vasta superficie di contatto (detta ‘giunzione’) tra due strati (le due facce del foglio) aventi potenziale elettrico diverso: permette cioè di generare una differenza di potenziale fra le due facce esterne del foglio. La zona compresa tra le due facce (e quindi la giunzione) diventa sede di un forte campo elettrico. A questo punto, quando la parte esterna (cioè esposta alla radiazione solare) della cella fotovoltaica viene colpita da un fotone si genera un flusso di elettroni, e quando la cella è collegata ad un utilizzatore queste cariche danno luogo ad una circolazione di corrente elettrica. La corrente elettrica aumenta all’aumentare della radiazione incidente. Alle nostre latitudini, ad una temperatura di 25°C, una cella fotovoltaica di 100 cm2 produce una potenza di picco pari a 1,5 Wp. Va tenuto presente che la cella fotovoltaica assorbe solo quei fotoni aventi una energia superiore ad un valore minimo. Anche se la ricerca scientifica in questo settore sta lavorando molto sia sull’aumento dell’efficienza della conversione (il rendimento di conversione della cella fotovoltaica è circa 12% - 17%) sia sulla ricerca di materiali meno costosi, questi impianti che sfruttano una fonte energetica inesauribile sono estremamente promettenti. 13
  • 17. Fig. 2.5: principio di funzionamento di una cella fotovoltaica Esistono attualmente tre tipi principali di celle fotovoltaiche: 1. celle in silicio amorfo, il cui termine si riferisce alla struttura non cristallina degli atomi di silicio. Il rendimento è inferiore a quello del silicio cristallino e, tipicamente, varia tra 5% e 10%. L’energia prodotta per Watt picco installato è maggiore confrontata con i moduli di silicio cristallino nel caso di zone con bassa insolazione; 2. celle in silicio monocristallino, che sono realizzate utilizzando un unico grande monocristallo. Grazie a questo metodo di produzione si hanno celle solari a disco, ognuna fatta da un unico cristallo di silicio. Le dimensioni standard sono 10 x 10 cm. Le celle solari in silicio monocristallino tipicamente hanno un rendimento tra il 16% e il 18%; 3. celle in silicio policristallino/multicristallino, le quali sono realizzate con molteplici cristalli di silicio. Siccome i bordi del cristallo potrebbero impedire il flusso di elettroni, le celle di silicio multicristallino sono solitamente meno efficienti rispetto a quelle di silicio monocristallino. La resa varia tipicamente tra il 14% e il 16%. La maggior parte delle celle solari di silicio policristallino è di colore blu. Negli anni '80 e nei primi anni '90 la maggior parte dei moduli fotovoltaici fornivano energia elettrica soltanto per le regioni isolate (non raggiungibili dalla rete elettrica), ma circa dal 1995 gli sforzi industriali si sono concentrati in modo considerevole sullo sviluppo di pannelli fotovoltaici integrati negli edifici e centrali allacciate alla rete elettrica. Attualmente la centrale fotovoltaica più grande del mondo si trova in Germania (Waldpolenz) con 30 MW di picco e un progetto di estensione a 40 MW, mentre quella più grande del nord America si trova presso la Nellis Air Force Base (15 MW). Ci sono proposte per la costruzione di una centrale solare nel Victoria in Australia, che diverrebbe la più grande al mondo con una capacità produttiva di 154 MW. Altre grosse centrali 14
  • 18. fotovoltaiche, progettate o in costruzione, includono la centrale elettrica quot;Girrasolquot; (da 62 MW) ed il quot;Parco Solare di Waldpolenzquot; in Germania (da 40 MW). 2.3.3. Eolico Il vento, come l’acqua, è una delle fonti energetiche d’origine naturale utilizzate dall’uomo fin dall’antichità. Di solito si collega l’energia eolica ai tipici mulini a vento olandesi o al romanzo di Miguel de Cervantes “Don Chisciotte”; in realtà già nell’antica Mesopotamia (circa 1600 a.C.) il vento veniva sfruttato come forza motrice alternativa a quella animale in mulini ad asse verticale. Oggi la macchina che viene utilizzata per la trasformazione dell’energia meccanica del vento in energia elettrica è detta aerogeneratore: il principio di funzionamento è lo stesso del mulino ma le pale spinte dal vento sono collegate a un generatore di energia elettrica. Fig. 2.6: principio di funzionamento di un aerogeneratore L’aerogeneratore è costituito da un palo di sostegno che porta sulla sommità una navicella (la cabina dove è contenuto il generatore elettrico ed un albero di trasmissione). All’esterno della navicella è collocato il rotore, costituito da un mozzo sul quale sono montate le pale che intercettano il vento. 15
  • 19. Le diverse tipologie di aerogeneratore si differenziano sostanzialmente, indipendentemente dalla taglia e dunque dalle dimensioni, per: • i sistemi di controllo della potenza; • la velocità del rotore che può essere costante o variabile; • la presenza o assenza di un moltiplicatore di giri tra mozzo e generatore. Dal punto di vista delle dimensioni, ormai sul mercato l’offerta di aerogeneratori è molto varia: si va da piccole potenze per utenze isolate (5-100 kW con un diametro del rotore che va da 3 a 20 metri) a grandi macchine con potenze associate fino a 5 MW e un diametro del rotore di 124 metri. L’evoluzione tecnologica ha permesso di aumentare le potenze associate contenendo comunque le dimensioni. La possibilità di sfruttare l’energia eolica è vincolata dalle caratteristiche del sito in cui si intende installare l’aerogeneratore. E’ ovvio che la valutazione della ventosità media è il parametro fondamentale da considerare ma l'esistenza di strade adeguate e la vicinanza a linee elettriche devono essere tenute presente, poiché hanno implicazioni dirette con la redditività dell’iniziativa. Secondo l’atlante eolico redatto dal CESI, la potenzialità del territorio italiano per le installazioni eoliche si aggira intorno a 5.000 MW. Attualmente la potenza installata è di poco superiore ai 1.000 MW e la potenza media degli aerogeneratori installati è di 650 KW. Nel mondo le potenze installate nei vari continenti cominciano ad avere valori significativi: in Europa, a fine 2000, erano installati circa 13.000 MW; in America 2.800 MW; in Asia 1.500 MW e nel resto del mondo circa 150 MW. 2.3.4. Biomassa Con il termine biomassa nell’accezione più generale possiamo considerare tutto il materiale di origine organica sia vegetale che animale. E’ intuitivo come rientri in questa definizione una grande quantità di materiali molto eterogenei tra loro. E’ possibile distinguere vere e proprie materie prime (colture dedicate arboree ed erbacee, ecc.) e prodotti di scarto derivati da molteplici attività che interessano: il comparto agricolo- forestale (residui delle pratiche agricole-forestali e zootecniche), il comparto industriale (scarti industria del legno, scarti industria agroalimentare e industria della carta) ed infine il settore dei rifiuti solidi urbani. I combustibili solidi, liquidi o gassosi derivati da questi materiali (direttamente o in seguito a processi di trasformazione) sono definiti biocombustibili mentre qualsiasi forma di energia ottenuta con processi di conversione dai bio-combustibili è definita bio-energia. 16
  • 20. La conversione energetica avviene principalmente attraverso processi termochimici e biochimici. I processi termochimici sono: • combustione: è il più semplice dei processi termochimici e consiste nell’ossidazione completa del combustibile a H2O e CO2; • gassificazione: il processo di gassificazione consiste nella trasformazione di un combustibile solido o liquido, nel caso specifico della biomassa, in combustibile gassoso, attraverso una decomposizione termica (ossidazione parziale) ad alta temperatura. Il gas prodotto è una miscela di H2, CO, CH4, CO2, H2O (vapore acqueo) e N2, accompagnati da ceneri in sospensione e tracce di idrocarburi (C2H6). La proporzione tra i vari componenti del gas varia notevolmente in funzione dei diversi tipi di gassificatori, dei combustibili e del loro contenuto di umidità; • pirolisi: è un processo di degradazione termica di un materiale (nello specifico la biomassa) in assenza di agenti ossidanti (aria o ossigeno) che porta alla produzione di componenti solide, liquide e gassose. Attualmente si stanno sviluppando processi di Co-Combustione e di Co-Gassificazione volti a utilizzare nello stesso impianto biomasse e combustibili tradizionali come il carbone. I processi biochimici riguardano essenzialmente la Digestione Anaerobica, ossia la degradazione della sostanza organica in assenza di ossigeno ad opera di alcuni ceppi batterici. Questo processo interessa la biomassa con un alto grado di umidità (reflui zootecnici, la parte organica dei rifiuti solidi urbani ecc.) portando alla produzione di biogas (CH4 e CO2) e può avvenire sia nelle discariche che in reattori appositamente progettati chiamati digestori. Fig. 2.7: principio di funzionamento di un impianto a biomassa 17
  • 21. 2.3.5. Maree, moto ondoso e correnti La marea è il ritmico alzarsi (flusso) ed abbassarsi (riflusso) del livello del mare provocato dall'azione gravitazionale della Luna e del Sole. Si tratta di un fenomeno a carattere universale, persistente e periodico, le cui cause sono prevalentemente astronomiche. La massima elevazione dell'acqua è detta alta marea mentre bassa marea è lo stato di estremo abbassamento. Il dislivello tra un'alta e una bassa marea consecutive è l'ampiezza o escursione della marea. Nell'arco di un giorno avvengono due cicli di alta e bassa marea. Già prima di Newton, e fin dal tempo dei Greci, si conoscevano le dipendenze dei ritmi delle maree dalle posizioni della Luna e del Sole, ma si ignoravano le cause di tali relazioni. La vera natura delle forze generatrici delle maree apparve chiara solo dopo che fu scoperta la legge di gravitazione universale. Le onde sono causate dal vento. L'azione di pressione e attrito esercitata dal vento produce le onde forzate o marosi; il moto ondoso però non cessa al calare del vento, ma si attenua lentamente per dispersione di energia cinetica. Si hanno così le onde lunghe, di aspetto più liscio ed arrotondato, che si propagano anche per lunghissime distanze senza mutamenti apparenti, e il cosiddetto mare lungo. Il moto delle onde in mare aperto è in qualche modo analogo a ciò che succede alla superficie di un campo di grano su cui soffia il vento: durante il moto ondoso viene trasmessa solo la forma dell'onda mentre l'acqua rimane praticamente stazionaria. Le correnti possono essere paragonate ad immensi fiumi che scorrono in seno al mare. Costituiti da masse d'acqua di densità diversa, questi fiumi marini non si mescolano tra loro ma scorrono a lungo l'uno accanto all'altro, sopra e sotto, seguendo una direzione quasi costante e con una caratteristica velocità. Le correnti marine si distinguono dalle acque circostanti sia per la temperatura che per la salinità, ed a volte anche per il colore e le concentrazioni di materiali sospesi. Esistono molti tipi di correnti marine: costiere, di mare aperto, superficiali e di profondità, stabili o stagionali, ecc. Gli oceani tropicali si godono il Sole durante tutte le stagioni. La luce solare non penetra molto in profondità, la maggior parte viene assorbita dalla superficie in pochi metri d’acqua, riscaldandola. L’acqua calda è più leggera dell’acqua fredda che si trova sotto, per cui sta sopra. Gradualmente, vaporizza e diventa più salata. Questi due effetti influenzano la densità in direzioni opposte. Il calore diminuisce la densità, mentre l’aumento di salinità incrementa la densità. L’acqua superficiale calda è gradualmente trasportata verso il polo per la combinazione dei venti e del gradiente di densità termo-salino. Nelle regioni Artiche ed Antartiche, l’acqua è raffreddata e si deposita sul fondo. Poi si distende verso l’equatore, sollevandosi lentamente, completando il ciclo. Il risultato globale della previsione è che gli oceani tropicali consistono di uno strato superficiale caldo che copre un vasto serbatoio di acqua molto più fredda. 18
  • 22. La temperatura superficiale tipica è nel range di 22-27 C, mentre la tipica temperatura dell’acqua profonda è di circa 4 C. Ciò comporta una differenza di temperatura di 18-23 C. I principi della termodinamica ci dicono che se c’è una differenza di temperatura, c’è “energia libera”, cioè energia disponibile per ottenere lavoro. In questo modo è possibile ottenere energia da maree, moto ondoso e correnti utilizzando adeguate macchine idrauliche e termodinamiche. Fig. 2.8: possibile sfruttamento del moto ondoso In questo capitolo sono state definite le fonti energetiche rinnovabili suddividendole fra “classiche” e “nuove”, e per ognuna di esse è stata fatta una descrizione riguardante le tecnologie che le caratterizzano e l’uso che ne consegue. Nel capitolo seguente verranno indicate le scelte progettuali dell’applicativo che ci si è posti di realizzare in questo lavoro. 19
  • 23. 3. LE SCELTE PROGETTUALI In questo capitolo vengono analizzate le varie tecnologie informatiche attualmente disponibili per realizzare un Decision Support System (DSS) finalizzato all’obiettivo di questo lavoro. Di tali tecnologie viene fatta un’analisi delle funzionalità e performance presenti nelle ultime versioni, molte delle quali appena rilasciate, demandando l’eventuale approfondimento delle singole tecnologie alla documentazione presente nei siti dei rispettivi produttori. 3.1. Il Decision Support System In questi anni si stà assistendo ad un utilizzo dell’informatica anche in attività che richiedono un intervento “intelligente”. In questo contesto si collocano i Decision Support Systems (DSS), in quanto finalizzati alla risoluzione di problemi di livello logico più elevato di quelli trattati dai tradizionali sistemi informativi e sono ad oggi oggetto di studio di molti studiosi e specialisti dell’ingegneria del software. I Decision Support System sono divenuti un’area culturale della ricerca scientifica grazie al lavoro di Gorry e Scott Morton nei primi anni ‘70, i quali hanno evidenziato l’utilità e le potenzialità di questi sistemi. Da allora si sono susseguite diverse definizioni di DSS anche se dal nome, abbastanza autoesplicativo, si può dedurre quali siano gli elementi alla loro base: • decision: sta ad indicare l’attenzione rivolta ad attività decisionali e a problemi direzionali; • support: indica che le tecnologie informatiche sono di aiuto nel prendere le decisioni, ma non si sostituiscono al decisore, il quale rimane il vero protagonista; • system: evidenzia che questi strumenti mirano all’integrazione tra utenti, macchine e metodologie di analisi. Prima di dare una caratterizzazione dei DSS è utile precisare cosa si intende per processo decisionale: un processo decisionale è una successione di attività elementari che hanno luogo nel momento in cui un individuo o un’organizzazione prende una decisione. Ogni attività produce dei risultati che alimentano le attività successive. Naturalmente i processi decisionali possono essere anche molto diversi a seconda del soggetto che prende la decisione. Per 20
  • 24. la maggior parte degli studiosi di DSS, il processo decisionale può essere rappresentato con il modello proposto da Simon negli anni ‘60 e ancora oggi ritenuto soddisfacente. Il modello di Simon suddivide il processo in 3 fasi principali, da ognuna delle quali è possibile tornare alle precedenti, e che consistono in: 1. intelligence: è la fase in cui si raccolgono informazioni sia dall’ambiente esterno che interno per individuare e circoscrivere un problema da affrontare; 2. design: questa fase consiste nel comprendere il problema, generare soluzioni possibili e analizzarle. E’ in questa fase che intervengono le capacità e l’esperienza del decisore, nonché la sua creatività soprattutto nel generare le alternative; 3. choice: in questa fase si procede alla valutazione e quindi alla scelta delle alternative formulate nella fase precedente. Si definiscono a tal fine dei parametri e degli indicatori che permettano di fare sia confronti fra i piani d’azione che previsioni su quali saranno le conseguenze delle scelte. Il processo decisionale definito nel modello di Simon è anche detto processo decisionale a razionalità limitata, perché secondo Simon nella maggior parte dei casi il decisore non ha interesse a raggiungere la soluzione ottimale, ma piuttosto una soluzione approssimata che rispetti certi targets. Alcuni studiosi, come ad esempio Rubenstein e Haberstroh, ampliano il modello di Simon aggiungendo alle fasi da lui delineate anche le fasi di implementazione della decisione e verifica dei risultati e, se necessario, il feedback alle fasi precedenti al fine di poter modificare la decisione. 3.1.1. Definizione di un DSS Nell’arco di pochi anni si sono ripetute diverse definizioni, partendo dalle prime molto generiche che hanno lasciato spazio ad un’accezione molto ampia del concetto di DSS, consentendo in tal modo di chiamare DSS ciò che in realtà non è. Nei primi anni ‘70 si definisce DSS “un sistema informatico a supporto del processo decisionale”. Intorno alla metà degli anni ‘70 si enfatizza l’aspetto interattivo del sistema e la sua capacità di aiutare l’utente nell’utilizzo della base dati e dei modelli per risolvere problemi non strutturati o semi-strutturati. Alla fine degli anni ‘70 e agli inizi degli anni ‘80 un DSS viene definito come un sistema che usa le tecnologie disponibili per migliorare le attività manageriali: sfruttando questa definizione spesso software user-friendly veniva classificato come DSS. Dalla fine degli anni ‘80 fino ad oggi si sposta invece l’attenzione su una caratteristica del sistema: fornire una workstation “intelligente” e non semplicemente un software user-friendly. 21
  • 25. Ne consegue quindi la seguente definizione: un Decision Support Sistem è un sistema software che mette a disposizione dell’utente, il decisore, una serie di funzionalità di analisi dei dati e utilizzo di modelli in maniera interattiva ed estremamente semplice, allo scopo di aumentare l’efficienza e l’efficacia del processo decisionale. Dalla definizione emergono, quindi, gli aspetti essenziali di un DSS: • facilità d’uso e flessibilità dell’interfaccia utente; • ambiente interattivo; • supporto per la soluzione di problemi non strutturati o semi strutturati; • efficacia nell’utilizzo dei modelli e nell’analisi dei dati di interesse; • possibilità per il sistema di diventare parte integrante del processo decisionale. Molto spesso non è solo l’intuito o le capacità del decisore ciò che più determina lo sviluppo o la sopravvivenza di un’azienda, ma la velocità con cui viene presa una decisione e quindi la riduzione del gap problema-azione. La risposta pronta e in tempi brevi permette un continuo adattamento al cambiamento dell’ambiente, sia interno che esterno, anche se questo comporta una soluzione non ottimale e quindi migliorabile con ulteriori analisi e più dati. Quindi ciò che si richiede ad un DSS è la capacità di consolidare informazioni, di produrre reports o dati previsionali, di consentire simulazioni, il tutto in modo flessibile e semplice. 3.1.2. Utilità e scopi di un DSS Le attività aziendali possono essere classificate e rappresentate in una piramide: Le attività di tipo strategico sono tutte quelle che prevedono lo sviluppo di pianificazioni a medio e lungo termine e la definizione di strategie da adottare per raggiungere macro-obiettivi (es: piani di ricerca e sviluppo). Le attività di controllo sono quelle di pianificazione operativa, definizione di obiettivi a breve termine (mesi, al massimo un anno) per attuare le strategie, e verifica che essi siano stati raggiunti (es: piano di produzione). Alla base troviamo le singole attività che servono a realizzare i piani operativi e a raggiungere gli obiettivi previsti (es:gestione ordini dei clienti). Ad ogni livello della piramide corrisponde un tipo di management chiamato ad un particolare tipo di decisioni: low management chiamato a decisioni non strutturate, middle management chiamato a decisioni semistrutturate e top management al quale competono le decisioni strutturate. Le esigenze informative di ognuna di queste tre tipologie di utenza varia sia in base alla frequenza di utilizzo di 22
  • 26. un DSS, sia in base alle decisioni che sono tenuti a prendere. E’ proprio quest’ ultimo aspetto che deve essere analizzato per realizzare un DSS. Top Attività di tipo strategico Decisioni non strutturate management Attività di controllo Decisioni semistrutturate Middle management Attività operative Low management Decisioni strutturate Fig. 3.1: La piramide delle attività aziendali Dalla definizione data appare chiaro che un DSS può essere utilizzato per tutti e tre i livelli del problema, ma i maggiori benefici si ottengono per quei problemi in cui i parametri e le informazioni da considerare sono numerosi e difficili da controllare. E’ per questo che in genere si progettano DSS per supportare attività semi strutturate o non strutturate. Va precisato che inizialmente, proprio per questo tipo di decisioni, l’approccio alla progettazione di DSS era mirato a ricercare e adattare una procedura che si avvicinasse il più possibile al problema da risolvere. Il risultato era spesso insoddisfacente e il decisore ignorava la possibilità di utilizzare il sistema. Lo scopo di un DSS non è trovare una struttura o un algoritmo per poi automatizzarlo, ma dare un effettivo supporto a processi decisionali poco o non strutturati tramite un dialogo continuo con cui l’utente guida le operazioni del sistema. 23
  • 27. 3.1.3. Componenti di un DSS Nell’ambito degli studi svolti su DSS esistono diverse opinioni ed approcci su quali siano le componenti fondamentali. L’approccio più diffuso è quello che individua tre componenti: una base dati, una base di modelli e un sistema software. • base di dati, la quale contiene dati e informazioni che, direttamente o indirettamente, interessano l’utente. In genere egli è interessato solo ad alcuni tipi di dati, a certe opportune aggregazioni, non a tutti o almeno non ad ogni dettaglio. Un DSS deve quindi avere una base dati indipendente rispetto alle basi dati gestionali e spesso integrata con informazioni esterne (es: tassi d’interesse, quotazioni, ecc.). Va precisato che si tratta di una base dati relazionale con memorizzazione secondo viste diverse delle informazioni. Da quanto appena detto è chiaro che la realizzazione di un DSS dipende sia dagli utenti che lo dovranno utilizzare sia dalle caratteristiche dei problemi che si intendono affrontare; • base di modelli, la quale rappresenta un altra risorsa informativa di notevole importanza. Proprio partendo dall’idea che i modelli sono una fonte importantissima di informazione si è evoluta negli ultimi 20 anni un’area della ricerca nell’ambito dei DSS: il Model Management. Finora il termine ‘modello’ è stato usato in maniera intuitiva, è necessario di conseguenza precisare cosa s’intende con questo termine. Nella letteratura del Model Management non c’è una definizione univoca, ma come per i DSS ne esistono molte, o meglio esistono diverse concezioni di modello. Quella predominante è la seguente: un modello è una procedura automatizzata che analizza dati in risposta ad un determinato problema. Una base di modelli contiene tutti i modelli, cioè le procedure necessarie per risolvere i problemi dell’utente. • sistema software, il quale secondo Sprague e Carlson è suddiviso in tre componenti: data base management software (DBMS), model base management software (MBMS), dialog generation/management software (DGMS): 1. il DBMS è il software che permette di definire schematicamente l’organizzazione dei dati, memorizzarli, modificarli, gestirli permettendo una interrogazione semplice della base dati; 2. il MBMS deve facilitare la memorizzazione, la modificazione e l’uso dei modelli. Il ruolo di un MBMS è analogo a quello di un DBMS con una differenza sostanziale che i primi gestiscono procedure e non dati. Proprio questa differenza ha indotto molti studiosi a cercare uno standard per i MBMS, ma ancora non si è arrivati ad un 24
  • 28. risultato accettabile al pari dei DBMS e nella pratica si seguono diversi approcci, ancora lontani dall’essere dei sistemi di gestione veri e propri; 3. il DGMS è il software che realizza l’interfaccia utente e definisce quindi il tipo di interazione con esso. Determina le richieste che l’utente può fare, quali risposte può ottenere e in che modo, inoltre lo guida nell’uso del DSS. Questa parte del sistema software è fondamentale per il successo di un DSS, poichè l’utente è fortemente interessato alle capacità di comunicazione del sistema e a come si fornisce l’interazione uomo-macchina oltre che alle sue capacità elaborative. 3.2. Google Earth Google Earth è un software completamente gratuito da installare sul proprio computer e scaricabile all’indirizzo internet earth.google.it, che permette di avere una visione tridimensionale del pianeta terra e di esplorarne con dettaglio molto elevato la sua superficie. La visualizzazione non è statica in quando attraverso Google Earth è possibile raggiungere un obiettivo e muoversi sulla mappa intraprendendo voli virtuali per mari, monti e metropoli sorvolando il territorio sino a giungere a destinazione. In questo modo è possibile osservare tutto il mondo attraverso foto satellitari ed aeree. In particolare, Google Earth è un software che genera una immagine virtuale della terra utilizzando immagini satellitari, fotografie aeree e dati topografici memorizzati in una piattaforma GIS. Per raggiungere la destinazione è possibile fornire le coordinate geografiche, indirizzi o semplicemente navigando sul pianeta attraverso il mouse. La definizione del territorio migliora mano a mano che si zoomma: la maggior parte delle grandi città sono disponibili in alta risoluzione in modo tale che si possono distinguere gli edifici, le strade e le automobili presenti. Il livello di risoluzione dipende dell’importanza dei luoghi, infatti la maggior parte della crosta terrestre è coperta con una risoluzione di 15 metri, e si arriva fino a 15 centimetri in zone molto particolari come il quartier generale di Google. Per ultimo, si fa notare che ciò che si vede non è “in diretta” ma deriva dalla sovrapposizione di immagini statiche tratte da più fonti. Google Earth si appoggia ai dati forniti dalla NASA e rilasciati per il pubblico dominio. A partire da maggio 2006 Google ha reso disponibili i dati dell’Italia che permettono la ricerca degli indirizzi, delle attività commerciali e dei percorsi che fino a quella data erano disponibili solo per l’Inghilterra e gli Stati Uniti. Dalla versione 4.2 di agosto 2007 è possibile visualizzare anche il 25
  • 29. cielo che copre una località con le relative stelle, galassie e costellazioni. Inoltre in Google Earth è presente anche un “easter egg” (letteralmente uovo di pasqua): se si premono contemporaneamente i tasti CTRL+ALT+A si apre una finestra con un simulatore di volo. Le origini di Google Earth risalgono al 1996 quando Mark Aubin, un ingegnere del software che lavorava presso la Silicon Graphics (SGI) ideò un hardware per la stazione di lavoro di Onix che abilitava le persone a creare grafiche con una texture straordinariamente realistica. L’obiettivo era quello di produrre una dimostrazione per sfoggiare le nuove capacità di texturing con un vantaggio massimo. Durante una dimostrazione venne mostrata la terra dallo spazio, vennero fatti alcuni zoom di avvicinamento ed allontamento da essa per dirigersi in altre direzioni; questa demo venne chiamata space to your face, e venne mostrata moltissime altre volte in numerosi convegni, durante i quali si notò come i partecipanti rimanessero affascinati nel vedere la Terra da quella prospettiva. Qualche anno più tardi la crescita tecnologica dei personal computer e di Internet ha reso possibile scaricare immagini ad alta risoluzione ad una velocità sufficiente da rendere possibile una panoramica fluida in un PC standard. Così Mark Aubin decise di lasciare la SGI e collaborare con altre agenzie, fondando Keyhole dove lanciò il primo prodotto di globo digitale per internet con immagini illimitate e con 3-D di alta qualità. Nell’ottobre del 2004 la società venne acquistata da Google ed il software rinominato di conseguenza. Nasce così Google Earth che deriva quindi dalla fuzione del programma Keyhole con il servizio Google Maps. Google Earth utilizza tutte le mappe e le informazioni utilizzate dal servizio Maps, portando il genere di contenuti che prima erano disponibili solo per aziende e laboratori di ricerca a persone in tutto il mondo. Fig. 3.2: La videata principale di Google Earth 26
  • 30. Esistono tre modalità di navigazione: 1. in volo: immettendo la località desiderata il programma vola sul punto selezionato; 2. trova attività: attraverso questa funzione vengono visualizzate due caselle, una per scrivere quale attività commerciale cercare (ad esempio pizzerie oppure alberghi) ed una per scrivere il dove, quindi il luogo in cui deve avvenire la ricerca. In questo modo utilizzando la funzione trova attività si avvia tramite Google Maps la ricerca combinata nella pagine gialle e nella pagine web relative alla zona in questione. I termini di ricerca vengono salvati nella cronologia ricerche; 3. itinerari: selezionando il punto di partenza ed il punto di arrivo il programma indica il percorso più adatto per raggiungere le due località. Questa ricerca necessita una precisione sia con i nomi delle strade che con i numeri civici e le città. 3.2.1. Le versioni di Google Earth Google mette a disposizione più versioni di questo prodotto, e precisamente: • Google Earth basic: è la versione ottenuta a mezzo del download gratuito per uso personale, non necessita di nessuna registrazione. Se lo si desidera, si può fare l’aggiornamento a Google Earth Plus. La ricerca locale consente di cercare ristoranti, hotel ed anche indicazioni stradali. I risultati vengono visualizzati nella vista 3D della Terra e c’è la possibilità di salvarli in cartelle e condividerli con altri utenti. I livelli mostrano parchi, scuole, ospedali, aeroporti, negozi ed altro, mentre il formato Keyhole Markup Language (KML) di scambio dati permette di condividere annotazioni utili e visualizzare migliaia di punti creati da utenti di Google Earth. Questa versione è consigliata per chi ha intenzione di pianificare un viaggio, ottenere indicazioni stradali o magari trovare un edificio, individuare un area o semplicemente esplorare il mondo; • Google Earth Plus: nata per uso domestico / personale è una versione opzionale di livello superiore disponibile per 20 dollari annui. Per acquistare Google Earth Plus è necessario aggiornare il programma dal menù “Guida”. Le funzionalità aggiuntive rispetto alla versione base sono: - maggiore velocità e migliore accesso alla Rete; - importazione dati GPS, lettura di rotte e waypoint da dispositivi GPS; - stampa a risoluzione più elevata di quella visibile a schermo; - assistenza clienti a mezzo di e-mail (non solo tramite Web); 27
  • 31. - strumenti di disegno per annotazioni più dettagliate; - utilità di importazione dati, lettura di punti di indirizzo da file csv. • Google Earth Pro: questa versione è orientata ad un utilizzo commerciale, aumenta le performance del software mettendo a disposizione particolari moduli a pagamento. In questa versione viene semplificata la ricerca e la presentazione delle località: basta digitare un indirizzo per osservare dall’alto strade, attività commerciali, scuole e dettagli di immagini satellitari in 3D. E’ possibile anche importare piante, elenchi di proprietà, condividere la vista con altri utenti ed importare immagini di alta qualità in documenti o siti Web; • Google Earth Enterprise: questa versione offre ulteriori potenzialità al servizio permettendo l’inserimento di immagini rasterizzate ed altre informazioni provenienti direttamente dall’ambito aziendale. A sua volta la versione è suddivisa in tre elementi: 1. Google Earth Fusion, che integra i dati geografici, raster (immagini), GIS ed anche dati memorizzati in database tradizionali di cui l’azienda dispone nell’ambiente Google Earth Interprise. Una volta integrati, i dati vengono forniti al software client per mezzo di Google Earth Server; 2. Google Earth Server, che mette a disposizione il database di Google Earth al software client (Google Earth EC) e comprende ulteriori servizi di supporto quali ad esempio la geocodifica. Il server può essere configurato come server di sovrapposizione (in cui i dati aziendali vengono aggiunti alla mappa base ospitata o messa a disposizione da Google) o come server autonomo (l’intero set di dati è residente in locale); 3. Google Earth EC (Enterprise Client), che rappresenta la versione del software client di Google Earth progettata per interagire con Google Earth Fusion e Google Earth Server nelle implementazioni aziendali stand-alone. Questa versione contiene tutte le funzionalità software di Google Earth Pro ed aggiunge il supporto per la connessione a più server oltre che ai server di ricerca dell’azienda. 3.2.2. Google Earth COM API Accanto alle varie versioni dell’applicativo, Google ha messo a disposizione a partire dalla fine del 2006 alcune Application Programming Interface (API) dedicate agli sviluppatori di applicazioni stand-alone e Web (per Javascript), ed ha continuamente lavorato al miglioramento ed ottimizzazione della COM Type Library, libreria principale delle API. Tale libreria viene definita da Google come “una interfaccia che offre svariati metodi per controllare in maniera programmatica 28
  • 32. alcuni aspetti del comportamento dell’applicazione”. Successivamente le API sono state rese disponibili oltre che per la piattaforma Microsoft anche per quella Mac OS X. 3.3. SQL server 2008 La natura dei dati di tipo geografico presenti in Google Earth impone l’utilizzo di un Database Management System (DBMS) che abbia tale formato dei dati come formato primitivo. I principali DBMS che implementano questo tipo di dato (denominato generalmente “geography spatial data type” mentre i relativi DBMS si chiamano Spatial Database Environment - SDE) sono Oracle (Oracle SDE), PostgeSQL (PostGIS), MySQL (MyGIS) e MS SQL server, ultimo DBMS ad aver implementato il tipo di dato geografico nella sua versione 2008 rilasciata negli ultimi mesi del 2008. Inoltre a seguito del fatto che con il passare del tempo si avranno a disposizione sempre più dati di consuntivo relativi alla produzione di energia derivata da queste fonti e che attualmente i datalogger degli impianti di produzione non presentano un formato standard dei dati di output, è necessario che il DBMS permetta una semplice manipolazione di dati scritti nello standard XML. In considerazione a questo ed al fatto che il Sistema Operativo è imposto dalla disponibilità delle API di Google Earth (vedi paragrafo 3.2) e rappresenta quindi un vincolo di progetto e che il DBMS deve perlomeno avere una versione gratuita o trial che non scada dopo poche settimane per permettere la realizzazione dello studio di fattibilità e la sua implementazione in una versione beta dell’applicativo per verificarne le risposte al suo utilizzo da parte degli utenti, si è scelto di utilizzare MS SQL Server 2008 Express, in questo modo si raggiunge anche l’obiettivo di testare le performance di un DBMS appena rilasciato. 3.3.1. Le novità di MS SQL Server 2008 Date per assodate le features delle versioni precedenti, in questo paragrafo si fa un rapido escursus delle innovazioni introdotte nell’ultima versione di MS SQL Server 2008. In uno scenario di trasformazione molto forte della quantità di informazioni digitali gestita dalle aziende, oltre a performance e scalabilità della piattaforma, diventano sempre più importanti requisiti come sicurezza e alta disponibilità, supporto alla archiviazione di dati eterogenei e facilità di accesso ai dati da dispositivi ed applicazioni diverse, per tutti gli utenti. 29
  • 33. SQL Server™ 2008 indirizza questi requisiti sviluppando l’infrastruttura introdotta con SQL Server 2005 ed integrandola con nuove funzionalità in tutti questi ambiti. Il Progetto Katmai (il nome in codice di SQL Server 2008) sta portando alla luce svariati anni di investimento in ricerca e sviluppo mirati a sviluppare la piattaforma dati in 3 grandi aree: 1. supporto per applicazioni mission-critical; 2. contenimento dei costi di gestione e sviluppo delle infrastrutture dati; 3. supporto all’accesso immediato alle informazioni per tutti i possibili utenti. 3.3.1.1. Supporto per applicazioni mission-critical A quest’area fanno capo tutte le funzioni a supporto di caratteristiche di sicurezza, affidabilità e scalabilità delle applicazioni. SQL Server 2008 estende le consolidate caratteristiche di sicurezza di SQL Server 2005 con alcune novità importanti: • Transparent Data Encryption: SQL Server 2008 permette di abilitare la cifratura dei dati a livello di file dati, transaction log e back up. Applicando l’encryption vengono cifrati anche i dati nel temp db proteggendo di fatto il sistema da problemi per furto di dati. La cifratura non altera lo schema dei dati ed avviene pertanto in modo trasparente per le applicazioni. Transparent Data Encryption può essere attivata con SQL Management Studio o mediante gli statement CREATE DATABASE ENCRYPTION KEY e ALTER DATABASE databasename SET ENCRYPTION ON; • External Key Management: le chiavi di cifratura possono ora essere gestite da SQL Server o da sistemi software o hardware esterni. Questo permette di indirizzare requisiti di aziende che hanno investito in sistemi avanzati per la gestione di chiavi di sicurezza; • Enhanced Auditing: SQL Server 2008 introduce un sistema per l’auditing dei dati basato sul Transaction Log, che permette di monitorare qualunque accesso e modifica ai dati o lo schema del database. L’Audit può essere specificato in modo granulare e filtrato per uno o più databases. Questo permette di ridurre l’impatto e la dimensione delle informazioni di audit generate e semplifica la amministrazione della configurazione. 30
  • 34. Sul fronte dell’affidabilità SQL Server 2008 migliora le caratteristiche di SQL Server 2005 su alcuni aspetti chiave, in particolare: • Enhanced Database Mirroring: SQL Server 2008 introduce le seguenti funzioni sul mirroring: 1. outgoing log stream compression: è ora possibile abilitare la compressione dei dati scambiati per il mirroring dei 2 nodi; 2. automatic page repair: supporto della correzione automatica dei dati di pagina in caso di corruzione (segnalata da errori 823 e 824), mediante uno speciale protocollo di conversazione tra i server in mirror; 3. nuovi performance counters e managed views: introduzione di performance counter specifici per permettere un controllo del tempo speso nelle varie parti del database. Inclusione inoltre di nuove Management Views Dinamiche ed estensioni a quelle esistenti per esporre informazioni sul mirroring delle sessioni. • Hot Add CPU: SQL Server permette l’aggiunta di CPU a caldo (oltre che di memoria) senza richiedere fermo della applicazione. La nuova versione introduce un insieme di caratteristiche per migliorare scalabilità e predicibilità di performance per ogni profilo di carico: • performance data collection: un nuovo componente, il “data collector” permette di raccogliere informazioni sul funzionamento del sistema in un repository centralizzato, il “management data warehouse”. Il data collector supporta il tuning dinamico, è estensibile ed è uno strumento importante a disposizione dell’amministratore, per troubleshooting e performance tuning; • Resource Governor: SQL Server 2008 introduce il Resource Governor, un nuovo sistema per controllare le risorse allocate (per esempio CPU, memoria, ecc) per le attività in esecuzione sul sistema. Resource Governor permette di impostare limiti e priorità per la allocazione delle risorse in condizioni critiche di utilizzo. Questo consente un comportamento del sistema predicibile in caso di elevato carico di elaborazione o elevato livello di concorrenza; • Extended Events: SQL Server Extended Events è una infrastruttura di eventi che supporta capturing, filtering, ed azioni in corrispondenza di eventi generati nel processo server. Questo permette la analisi di problemi a runtime e di interagire con il server mediante informazioni di contesto come il TSQL call stack o Query Plan handles. Gli eventi possono essere collegati a sistemi di output differenti come Event Tracing for Windows (ETW) per stabilire una correlazione con eventi di sistema operativo; 31
  • 35. • Data & Backup compression: il nuovo supporto alla compressione dei dati permette maggiore efficienza in spazio e riduce i requisiti di storage per i sistemi. La compressione dei dati permette miglioramenti di performance significativi per operazioni IO-bound tipiche del data wharehousing. SQL Server introcuce anche un supporto nativo alla compressione per ridurre disk I/O e storage durante i backup. • Plan Freezing: SQL Server 2008 introduce la possibilità di bloccare query plans per permettere una maggiore predicibilità del comportamento delle queries in scenari limite dove i meccanismi di inferenza automatici possono produrre inefficienze. 3.3.1.2. Contenimento costi di gestione e sviluppo La versione 2008 introduce miglioramenti per ridurre tempi e costi di gestione del sistema e migliorare il supporto allo sviluppo di applicazioni, per mezzo di .NET Framework e Visual Studio® Team System: • Amministrazione basata su Policy: è stato introdotto il Declarative Management Framework (DMF), una nuova infrastruttura di gestione del motore di Database tramite policy dichiarative. Questo permette di controllare o prevenire modifiche al sistema definendo delle semplici regole sulla sua configurazione o dei suoi componenti. La gestione tramite policies semplifica i task di amministrazione e lo sviluppo stesso del database, grazie alla integrazione con SQL Server Management Studio, che è in grado di verificare e segnalare problemi di compliance con le policies impostate. Ogni policy può supportare uno o più modelli di attivazione tra: 1. enforce: la policy è verificata in modo sincrono, al momento del cambiamento. Se la policy non è verificata, la transazione fallisce; 2. check on changes: al momento del cambiamento. Se la policy non è verificata, la transazione termina correttamente e la mancanza di compliance viene segnalata; 3. check on schedale: la policy è verificata all’occorrenza di controllo periodico configurabile. • Deployment e configurazione semplificati: è stata ridefinita l’architettura per il setup e la configurazione del sistema. I bit installati sul computer possono ora essere separati dalla loro configurazione, che può essere gestita in modo centralizzato o parzialmente centralizzato. 32
  • 36. L’integrazione con Visual Studio 2008 rappresenta una svolta per lo sviluppo in ambiente .Net, in quanto introduce una serie di tecnologie specificatamente rivolte ad offrire una maggiore semplicità e flessibilità nell’accesso ai dati, fra cui: ADO.NET Entity Framework: i modelli di sviluppo emergenti tendono a separare il modello • a oggetti utilizzato dalla applicazione (definito in gerarchie di object entities) dal modello relazionale del database (definito in termini di entità e relazioni). Questa separazione porta una maggiore flessibilità dell’applicazione ed indipendenza dalla base dati. ADO.NET Entity Framework introduce una infrastruttura a supporto di questo modello che permette agli sviluppatori di programmare su dati relazionali in termini di object entities. Programmare a questo livello di astrazione migliora radicalmente la produttività e permette agli sviluppatori di trarre il massimo beneficio dal modello Entità relazioni della base dati; Language Integrated Query (LINQ): LINQ è uno strumento di interrogazione dei dati • estremamente flessibile integrato nei linguaggi .Net come C# o Visual Basic.NET. Le queries LINQ si applicano a dataset (LINQ to DataSets), oggetti di ADO.NET Entity Framework (LINQ to Entities), ADO.NET (LINQ to SQL) e custom LINQ providers. SQL Server 2008 include un provider LINQ to SQL che permette di usare LINQ direttamente su tabelle e colonne SQL Server 2008; CLR integration and ADO.NET object services: lo strato ADO.NET object services fornisce • servizi di gestione dello stato, change tracking, identity resolution, caricamento e navigazione di relazioni, propagazione di modifiche a oggetti verso il database, e creazione di queries per Entity SQL che sono alla base dello stesso ADO.Net Entity Framework. SQL Server 2008 offre un supporto ottimizzato a questo tipo di funzionalità; Service Broker Scalability: SQL Server 2008 introduce il concetto di conversation priority • sulle comunicazioni asincrone del service broker. Il nuovo Diagnostic tool permette di analizzare la configurazione del broker per individuare inconsistenze nella configurazione della topologia (es. missing routes) o la sicurezza; Transact-SQL Improvements: SQL Server 2008 Transact-SQL beneficia di vari • miglioramenti significativi che sono in dettaglio: 1. Table Value Parameters (TVP): le quali forniscono un modo semplice ed efficiente per defimire un table types e permettono alle applicazioni di passare parametri a tabella alle stored procedures; 2. Object Dependencies: SQL Server 2008 permette la interrogazione di Object Dependencies in modo completo ed affidabile tramite le nuove catalog views e le 33
  • 37. dynamic management functions. Le dipendenze sono sempre aggiornate sia per oggetti inclusi nello schema corrente o per oggetti esterni; 3. DATE/TIME Data Types: SQL Server 2008 introduce nuovi tipi di dati per la gestione di date e ore: DATE – realizza un tipo data (senza ora); TIME – realizza un tipo ora (senza data); DATETIME2 - realizza un un tipo date/time maggiore range e precisione del vecchio tipo DATETIME type (eq. SQL Standard TIMESTAMP); DATETIMEOFFSET – come DATETIME2, con timezone (eq. SQL Standard TIMESTAMP WITH TIMEZONE). Come noto, esistono tipologie di dati ‘tradizionalmente’ difficili da gestire con database systems di tipo relazionale. Alcuni esempi includono documenti ed immagini, dati di tipo ‘sparso’, dati gerarchici, o altri tipi di dati con particolari algoritmi di gestione, come ad esempio i dati di posizionamento geografico. SQL Server 2008 introduce novità particolarmente rilevanti per il supporto a questo tipo di scenari, come risulta evidente dall’elenco qui di seguito: HIERARCHY ID: è stato introdotto il tipo di dato HierarchyId per memorizzare i nodi di un • albero gerarchico. HierarchyId è implementato come un CLR user-defined type (UDT) che espone alcuni metodi built-in particolarmente efficienti per creare e gestire gerarchie di nodi; FILESTREAM Data: SQL Server 2008 introduce il tipo FILESTREAM per gestire large • binary data come documenti ed immagini. Il tipo filestream, permette lo storage di dati binari, tradizionalmente gestiti dal database utilizzando NTFS streaming API. NTFS streaming API permettono di gestire operazioni sui files in modo efficiente e performante senza perdere i servizi del database come la sicurezza ed il backup. Il tipo filestream supera i limiti di storage dei campi blob (8GB per SQLServer 2008); Sparse columns: il supporto alle sparse columns permette di gestire in modo trasparente ed • efficiente colonne di tipo sparso. Applicando l’attributo SPARSE ad una colonna il database gestirà la colonna come campo “calcolato” a partire da un campo XML, lo Sparse Columns Set. Tale colonna può comunque essere gestita in modo tradizionale per lettura e scrittura. La colonna può essere resa persistente applicando un indice su di essa. Pertanto il database designer non è più costretto vincolare lo schema del database per gestire dati di tipo sparso 34
  • 38. fin dalle fasi iniziali del progetto. Le sparse columns permettono di superare il limite di 1024 colonne per tabella; Integrated Full-Text Search: il Full-Text Search rende trasparente la transizione tra Search e • dati relazionali; abilitando l’utilizzo di indici full-text è possible realizzare ricerche efficientissime su colonne testuali con grandi volumi di dati; Large user-defined types: è stato eliminato il limite di 8kbyte per i tipi di dati user defined • (UDT); • Geographical Information: SQL Server 2008 introduce un support complete a dati di tipo spaziale per gestire informazioni di location tramite i tipi di dati GEOGRAPHY e GEOMETRY. I dati di tipo GEOMETRY rappresentano informazioni di tipo planare conformi allo standard come Open Geospatial Consortium (OGC), mentre i dati di tipo GEOGRAPHY permettono di gestire coordinate geodetiche (latitudine e longitudine) secondo standard come il WGS84 diffuso in soluzioni GPS. I tipi di dati includono una serie di funzioni interessanti applicabili al calcolo di coordinate e supportano una speciale indicizzazione per ottimizzarne il calcolo; supporto a sistemi disconnessi: SQL Server 2008 realizza un supporto alla sincronizzazione • consistente tra applicazioni, data stores e data types, alla base dello sviluppo di applicazioni per dispositivi mobili, connessi solo occasionalmente. In particolare Visual Studio 2008 e SQL server 2008 permettono di realizzare applicazioni disconnesse con i nuovi sincronization services di ADO.NET e l’offline designer di Visual Studio. SQL Server include inoltre un supporto avanzato per il change-tracking che permette agli sviluppatori di realizzare applicazioni basate su cache, notifiche o sincronizzazione con una infrastruttura robusta e di minimo impatto. 3.3.1.3. Accesso immediato alle informazioni SQL Server ha sempre vantato la caratteristica di essere una piattaforma di riferimento per la Business Intelligence (BI). Questo scenario continua ad essere una area chiave di investimento per il mercato e di conseguenza anche per SQL Server, la cui ultima versione introduce alcune migliorie significative nel motore di integrazione dei dati per il data warehousing: Change data capture: sono state introdotte varie tecnologie per l’intercettazione delle • operazioni sul database. Change data capture permette di catturare i cambiamenti ai dati di una o più tabelle all’interno di change tables. Change data capture è asincrono e basato sul transaction log ed ha pertanto una efficienza elevata e basso impatto sul funzionamento OLTP; 35
  • 39. Resource Governor: tramite il resource governor come è stato già accennato in precedenza è • possibile impostare limiti e priorità di allocazione per le varie attività sul database. In questo modo è possibile contenere l’impatto di un picco di carico o concorrenza su una parte della applicazione e le performance del sistema sono globalmente più consistenti e predicabili; Data & Backup compression: la data compression di SQL Server 2008 permette una • maggiore efficienza in spazio e performance riducendo il volume di operazioni di I/O. Benefici analoghi sono ottenibili per mantenere backups online mediante la nuova funzione di backup compression nativa; Partitioned table parallelism: viene affinata la gestione del partitioning introdotto in SQL • Server 2005 migliorando le performance su grosse tabelle partizionate; Star join query optimizations: SQL Server 2008 introduce nuove ottimizzazioni su Star join • queries utilizzate nei data warehouse; MERGE SQL statement: il nuovo MERGE SQL statement permette di gestire in modo • semplice ed efficiente scenari di aggiornamento del data wharehouse. Un singolo merge statement può ora riassumere logiche complesse di confronto tra dati, update, insert e dolete; GROUPING SETS: sono una estensione ISO della clausola GROUP BY che permette di • definire raggruppamenti differenti in una stessa query. I GROUPING SETS producono in modo più efficiente un result set equivalente ad una UNION ALL delle righe raggruppate secondo i diversi criteri; Scalable Integration Services: SQL Server 2008 introduce un nuovo disegno della • architettura di esecuzione delle pipeline SSIS che migliora radicalmente la scalabilità con processori multipli. Un nuovo meccanismo di Persistent lookup permette maggiore efficienza nelle estrazioni e trasformazioni di ETL operations. Sono state estese radicalmente le funzioni di reporting con il preciso obiettivo di permettere che ogni utente possa realizzare e/o fruire dei report più rilevanti in modo semplice e sicuro: Enterprise reporting engine: rappresenta una infrastruttura semplificata di deployment e • configurazione che permette ad ogni utente di creare e condividere reports di ogni dimensione e complessità; Report Designer: il nuovo Report Designer permette di creare report dettagliati per • indirizzare tutte le necessità di reporting. Lo strumento è semplice da usare ed i reports possono avere strutture ed aspetti grafici anche complessi. L’ambiente è utilizzabile da business users anche per modificare report esistenti indipendentemente da dove essi siano stati creati; 36
  • 40. • Powerful visualization: sono stati introdotti nuovi componenti di visualizzazione fruibili all’interno di reports. Nuovi tools come maps, gauges, e charts rendono i reports più accessibili e comprensibili; • Microsoft Office rendering: SQL Server 2008 introduce la nuova funzione di Microsoft Office rendering che permette agli utenti di accedere ai report direttamente da Word ed Excel. Il rendering per Excel è stato molto migliorato per supportare funzioni come nested regions, sub-regions e merged cells; • Microsoft SharePoint® integration: SQL Server 2008 Reporting Services è ora pienamente integrato con Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Services. Gli utenti possono ora accedere facilmente ai reports direttamente dai loro business portals. La versione 2008 di SQL Server ottimizza alcuni aspetti importanti del motore di analisi multidimensionale, che rappresentano uno dei suoi tradizionali maggiori punti di forza: Design to scale: SQL Server 2008 supporta capacità di analisi più vaste con componenti ed • aggregazioni più complesse. I nuovi tool di progettazione dei cubi semplificano lo sviluppo di infrastrutture di analisi ottimizzate. Per esempio il Dimension Designer permette di vedere ed editare attributi e relazioni; i Best Practice Design Alerts avvisano il progettista della compatiblità con best practices nella progettazione dello schema dei dati. Una maggiore flessibilità nelle strutture di datamining permette la creazione di più modelli su dati filtrati; Block computations: Block computations introduce un miglioramento sensibile per le • performance del processing dei dati, permettendo agli utenti di aumentare la profondità delle gerarchie e la complessità delle computazioni; Write-back to MOLAP: SQL Server 2008 fornisce un supporto MOLAP write-back • avanzato che elimina, di fatto, la necessità di utilizzare ROLAP partitions. Questo permette di utilizzare write back senza sacrificare le performance di analisi; Resource Monitor: un nuovo Resource Monitor in SQL Server 2008 fornisce una • visualizzazione efficace dell’utilizzo delle risorse. L’amministratore del database può controllare facilmente il carico di analisi, identificare le queries attive, il tempo di esecuzione e gli utenti che le hanno lanciate. Questo permette di fatto una migliore ottimizzazione dell’utilizzo del server; Predictive Analysis: un algoritmo avanzato estende le capacità di forecast. la possibilità di • interrogazione delle strutture di data mining abilita reports che possono anche includere attributi dall’esterno del mining model. Nuove funzioni di cross-validation realizzano i confronti con i dati per ottenere risultati più affidabili. 37
  • 41. 3.3.1.4. XML Microsoft ha introdotto le funzioni che permettono di manipolare dati in formato XML a partire dalla versione SQL Server 2000 con le parole chiave FOR XML ed OPENXML, che hanno permesso agli sviluppatori di scrivere codice Transact-SQL per sottoporre una query ad un database ed ottenerne la risposta sottoforma di dati contenuti in uno stream XML, oltre alla possibilità di suddividere un documento XML in un rowset. Queste capacità sono state estese in maniera significativa in SQL Server 2005 con l'introduzione di un tipo di dato XML nativo che supporta la validazione XSD Schema, operazioni XQuery-based ed XML indexing. SQL Server 2008 si basa sulle potenzialità dell’ XML delle versioni precedenti e fornisce ulteriori comandi per ottimizzare e velocizzare le operazioni di manipolazione e memorizzazione dei dati in formato XML nel database. Queste nuove funzionalità riguardano: 1. la migliore capacità di convalida dello schema XML; 2. miglioramenti relativi all’ XQuery; 3. maggiori performance nelle funzionalità del data manipulation language (DML). Per quanto riguarda il primo punto, SQL Server 2005 ha introdotto la convalida dei dati XML mediante l'utilizzo di XML schema collection. L'approccio generale è quello di creare uno schema collection che contiene l’insieme delle regole per i dati XML mediante la dichiarazione dello statement CREATE XML SCHEMA COLLECTION, e quindi riferirsi a tale schema quando si definisce un campo o variabile XML, che deve quindi essere conforme alle regole indicate nello schema collection. SQL Server convalida tutti i dati che vengono inseriti o aggiornati nel campo o nella variabile in funzione delle dichiarazioni contenute nello schema collection. SQL Server 2008 estende questo scenario ed aggiunge i seguenti schemi di validazione: • supporto per la lax validation; • supporto completo per la validazione di datetime, time e data, compresa la conservazione delle informazioni sul fuso orario; • migliorato il supporto per i tipi union e list. I miglioramenti relativi all’XQuery riguardano l’aggiunta della clausola LET che può venire utilizzata per assegnare le variabili all’interno di una espressione XQuery. Come già detto SQL Server 2005 ha introdotto il tipo di dato nativo XML che prevede una serie di metodi attraverso i quali è possibile eseguire operazioni sui dati memorizzati in un campo o in una variabile. La maggior parte delle operazioni di navigazione e manipolazione dei dati è resa possibile attraverso l’ XQuery, e l’aggiunta di questa clausola migliora ulteriormente questa possibilità. 38
  • 42. Oltre ad essere in grado di utilizzare espressioni XQuery per eseguire operazioni sui dati XML, l’XML data type supporta le espressioni DML di INSERT, REPLACE VALUE OF e DELETE attraverso il loro metodo MODIFY; tali espressioni possono venire utilizzate per manipolare i dati XML contenuti in un campo o in una variabile. SQL Server 2008 aggiunge la possibilità di utilizzare una variabile di tipo XML in una espressione di INSERT all’interno di una struttura XML esistente. 3.4. Ambiente di sviluppo A seguito del vincolo di progetto imposto dalle API di Google Earth ed alla scelta del DBMS effettuata nel paragrafo 3.3, si è scelto di utilizzare il linguaggio di programmazione C# che risulta il più performante per interagire con il DBMS, scelta giustificata anche dal fatto che Microsoft ha rilasciato contemporaneamente i suoi tre ambienti principali (Visual studio 2008, Windows Server 2008 e Microsoft SQL Sever 2008) ottimizzati proprio per sviluppare applicazioni che fanno uso di queste sue piattaforme. Di conseguenza l’ambiente di sviluppo utilizzato è Visual Studio 2008 professional. 3.4.1. Visual studio 2008 Visual Studio è il tool di sviluppo Microsoft di punta per lo sviluppo su sistemi Microsoft e ambiente principale di tutta la linea di software per sviluppatori sul .NET Framework. Nato negli anni '90 come editor per sviluppatori Visual Basic, ha visto la sua evoluzione con il passare degli anni passando dalla versione per sviluppo in C++ (1993) alle versioni 2002 e 2003 che supportavano le prime versioni del .NET Framework (1.0 e 1.1). Nel 2005 poi, è stata rilasciata una nuova versione del prodotto in corrispondenza alla diffusione della versione 2.0 del .NET Framework, che ha segnato grossi cambiamenti architetturali su tutto l'ambiente di programmazione. A due anni di distanza della versione 2005, Microsoft lancia una nuova versione dell'IDE, anche questa volta in parallelo con il rilascio della nuova edizione del .NET Framework: la 3.5. Nasce così Visual Studio 2008 (noto nelle fasi di sviluppo sotto il nome di quot;Orcasquot;). 39
  • 43. Sia il .NET Framework sia VS2008 presentano molte novità in grado di aumentare la produttività degli sviluppatori e la qualità dei prodotti, grazie alle revisioni sul Framework e alle numerose semplificazioni a livello visuale. Sono presenti infatti strumenti in grado di supportare nella costruzione di nuove applicazioni e servizi basati sulle più recenti tecnologie Microsoft. Il vantaggio è sempre quello di avere tutto integrato in un ambiente unico con funzionalità di collaborazione per lo sviluppo di progetti in team. La versione attuale del prodotto risulta essere la 9.0, mentre per il .NET Framework la versione è la 3.5; al suo interno anche il compilatore di C# segna la versione 3.5, mentre quello di VB.NET la 9.0; i rispettivi linguaggi di sviluppo sono presentati come C# 3.0 e VB 9, mentre la versione di ASP.NET è la 3.5. Si può notare inoltre l'inserimento di librerie già esistenti precedentemente come plug-in esterni, come ad esempio il pacchetto AJAX o come SQL Server Database Publishing Wizard. Molti invece risultano i componenti visuali aggiunti, sia per quanto riguarda lo sviluppo Web, sia per lo sviluppo di applicazioni Windows; in sostanza per supportare tutte le novità presenti all'interno del .NET Framework 3.5 sono stati creati ex-novo dei designer grafici per la creazione e la modifica di pagine Web, per lo sviluppo di applicazioni WPF e per la creazione del modello ad oggetti per gli applicativi software mappato direttamente sulle tabelle del database correlato. Inoltre sono stati aggiunti nuovi wizard per la migrazione dei progetti dalle versioni precedenti e una comoda procedura guidata per l'importazione delle impostazioni da Visual Studio 2005. Come nell'edizione 2005 sono disponibili sia versioni a pagamento (Professional Edition, Team Suite, Team Foundation Server e Test Load Agent), sia versioni Express totalmente gratuite, che possono essere liberamente scaricate ed utilizzate. In questo capitolo sono state analizzate le varie tecnologie informatiche attualmente disponibili per realizzare un Decision Support System (DSS) finalizzato all’obiettivo di questo lavoro. Nel prossimo capitolo verrà descritto in dettaglio il progetto. 40
  • 44. 4. PROGETTO DEL DSS In questo capitolo viene descritto in dettaglio il progetto del DSS orientato alla scelta delle fonti di energia rinnovabili. Come indicato negli obiettivi elencati nel primo capitolo, l’interfaccia uomo-machina deve essere il più possibile intuitiva ed user-friendly, mentre tutta l’architettura deve essere progettata in modo tale che sia quanto più possibile scalabile ed adattabile agli sviluppi futuri, soprattutto in considerazione del fatto che questo settore è appena agli albori. 4.1. Il progetto in dettaglio Il metodo più veloce ed immediato per poter ricavare delle informazioni (in questo caso energetiche) relative ad un’area di interesse dell’ utente è sicuramente quello di poter selezionare tale area su una mappa grafica, o di accedervi digitando il relativo indirizzo o le coordinate geografiche. Per fare questo, ricordando quanto analizzato nel capitolo precedente, si è pensato di sfruttare le nuove API rese disponibili da Google Earth ed integrarle con quelle di Google Maps. L’utente potrebbe anche avere la curiosità di conoscere i possibili valori energetici di un’area all’aperto in cui si trova in quel momento, magari proprio perché la ritiene adatta per la realizzazione di un impianto, e per questo motivo le funzioni ed i metodi propri del DSS devono essere disponibili non solo in ufficio ma in ogni luogo. Per ottenere questo, tenuto conto anche delle ormai consolidate caratteristiche multimediali dei telefoni cellulari o PDA, nonché della disponibilità della rete Internet ovunque, si è pensato di utilizzare i Web Service: essi infatti sono un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori, ed hanno la caratteristica di offrire un'interfaccia software utilizzando la quale altri sistemi possono interagire con il Web Service stesso attivando le operazioni descritte nell'interfaccia tramite appositi quot;messaggiquot; inclusi in una quot;bustaquot; (la più famosa è SOAP): tali messaggi sono, solitamente, trasportati tramite il protocollo HTTP e formattati secondo lo standard XML. 41
  • 45. L’architettura del sistema proposto è di conseguenza quella raffigurata qui di seguito. Fig. 4.1: L’architettura del DSS 4.1.1. Vincoli di progetto I vincoli di progetto vengono dedotti direttamente dall’analisi fatta nel capitolo precedente, e discendono principalmente dal fatto che le API di Google Earth dedicate alle applicazioni stand alone sono scritte per l’ambiente Microsoft e Mac OS X. Questo vincolo ha imposto la scelta del Sistema Operativo e di conseguenza per i motivi indicati nel capitolo precedente la scelta delle altre tecnologie che permettono la realizzazione del DSS. 4.1.2. Progetto del Database Il database è il cuore del DSS. Per evitare ambiguità sui termini utilizzati viene definito il seguente 42
  • 46. glossario, nel quale sono indicati tutti i principali termini utilizzati: TERMINE DESCRIZIONE Indica il tipo di fonte energetica rinnovabile (per Fonte di energia esempio fotovoltaico, eolico, ecc) E’ la rappresentazione matematica di un fenomeno Modello reale, in questo caso di una fonte energetica rinnovabile E’ un valore riferito ad una posizione geografica o meno Parametro che rappresenta una caratteristica saliente per la relativa fonte energetica E’ un valore proveniente dall’importazione di tabelle Scarto esterne al database principale non valido Rappresenta l’attrezzatura necessaria per la Tecnologia trasformazione di una data materia prima in energia (per esempio il pannello fotovoltaico o la pala eolica) Tab. 4.1: Il glossario Come noto, la progettazione del database avviene attraverso tre fasi: 1. Progettazione concettuale; 2. progettazione logica; 3. progettazione fisica. Qui di seguito sono spiegate nel dettaglio queste tre fasi riferite a questo progetto. 4.1.2.1. Progettazione concettuale Lo scopo della progettazione concettuale è quello di rappresentare la realtà in termini di una descrizione formale e completa indipendentemente dai criteri di rappresentazione utilizzati nei DBMS. Il prodotto di questa fase prende il nome di schema concettuale. Per giungere alla definizione dello schema concettuale, vengono analizzati innanzitutto i requisiti del sistema: esso deve contenere principalmente tutte le informazioni relative alle tecnologie disponibili per le varie fonti di energia ed i valori dei vari parametri caratteristici che possono sia dipendere dal particolare punto sulla terra (e per questo il DBMS deve possibilmente supportare il tipo di dato geografico), sia essere indipendenti da esso ma dipendere dalla particolare tecnologia adottata per la produzione di energia. Oltre a queste informazioni ed a quelle di supporto come ad esempio le varie unità di misura caratteristiche dei vari parametri, è necessario che sia possibile inserire facilmente nuovi valori sia riferiti alle tecnologie (perché queste sicuramente evolveranno nel breve periodo) sia riferiti alle posizioni geografiche (infatti man mano che vengono realizzati questi tipi di impianti si renderanno disponibili delle misure di valori di energia in diverse località non presenti nel DB) e questo permetterà al DSS di fornire informazioni sempre più precise e dettagliate. 43
  • 47. L’analisi di questi requisiti porta alla definizione delle seguenti tabelle: • TEnergie: contiene le varie fonti di energia rinnovabili; • TTipoTecnologia: contiene i vari tipi di tecnologia delle fonti (per esempio in questa tabella sono presenti le varie marche / modelli dei pannelli fotovoltaici); • TParametriTecnologie: contiene l’elenco dei parametri caratteristici delle tecnologie (per esempio la potenza nominale, il rendimento, le tensioni e le correnti di corto circuito, ecc.); • TValoriParTecnologie: contiene i valori dei parametri caratteristici delle tecnologie riferito ad ogni singola marca / modello; • TEnergieDettaglio: contiene l’elenco dei sottoinsiemi di ogni fonte di energia rinnovabile ed i nomi delle DLL e delle funzioni che contengono i modelli di calcolo; • TParametriDettaglio: contiene l’elenco dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile; • TValoriParametri: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile; • TUdM: contiene la lista delle unità di misura utilizzate per i valori contenuti nelle altre tabelle; • TValoriParametriX: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile importati dal file in formato XML; • TParametriScartiX: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile importati dal file in formato XML e scartati dalla funzione di analisi di tali dati. 4.1.2.2. Progettazione logica La progettazione logica consiste nella traduzione dello schema concettuale (definito nel paragrafo precedente) in un modello di rappresentazione dei dati adottato dal DBMS scelto. Il prodotto di questa fase prende il nome di schema logico, e fa riferimento ad un modello logico dei dati. In questa fase le scelte progettuali si basano su criteri di ottimizzazione delle operazioni da effettuarsi sui dati, tenendo in considerazione fra gli altri parametri anche le prestazioni, ed è spesso 44
  • 48. conveniente articolare la progettazione i due fasi: 1. ristrutturazione dello schema E-R: è una fase indipendente dal modello logico e si basa su criteri di ottimizzazione dello schema; 2. traduzione verso il modello logico: fa riferimento ad uno specifico modello logico, in questo caso nel modello relazionale. La ristrutturazione dello schema E-R che ha come scopo la semplificazione della traduzione in schema fisico e l’ottimizzazione delle prestazioni ha portato al seguente schema Entità-Relazioni contenente le rispettive cardinalità: Fig. 4.2: Lo schema E-R Per giungere a tale schema si sono seguiti i seguenti passi: • analisi delle ridondanze; • eliminazione delle generalizzazioni; • partizionamento ed accorpamento delle entità e delle relationship; • scelta degli identificatori primari. 45
  • 49. Per la traduzione verso il modello relazionale si è sfruttata l’idea di base che le entità diventano relazioni sugli stessi attributi e che le associazioni (ovvero le relazioni E-R) diventano relazioni sugli identificatori delle entità coinvolte. 4.1.2.3. Progettazione fisica In questa fase lo schema logico viene completato con le specifiche dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici). Il prodotto di questa fase viene definito come schema fisico e fa riferimento ad un modello fisico dei dati. Tale modello dipende dallo specifico DBMS scelto. La traduzione dello schema E-R in schema fisico, in cui le entità diventano le tabelle del database, le quali per mezzo della identificazione delle chiavi primarie e chiavi esterne permettono di aggiungere le relazioni, porta alla definizione delle seguenti tabelle: • TEnergie: contiene le varie fonti di energia rinnovabili Nome campo Tipo dati Id int TipoFonte varchar(20) Note varchar(max) • TTipoTecnologia: contiene i vari tipi di tecnologia delle fonti (per esempio in questa tabella sono presenti le varie marche / modelli dei pannelli fotovoltaici) Nome campo Tipo dati Id int IdEnergia int esterna Descrizione varchar(30) Ottimo bit Livello int Note varchar(max) In particolare si fa notare la presenza di due campi: il campo Ottimo ed il campo Livello. Il primo permette di visualizzare come primo della lista (ad esempio all’interno di una combobox) il modello ottimo di apparato riferito alle varie fonti di energia. Questo sia per identificare facilmente tali apparati che per permettere agevolmente la variazione dell’associazione in quanto verosimilmente tali apparati evolvono con molta frequenza. Il campo Livello invece può essere utilizzato per permettere di visualizzare gli apparati in funzione del livello associato all’utente, per esempio si può pensare di fornire solo alcuni 46
  • 50. modelli agli utenti che utilizzano il DSS in maniera gratuita, un insieme più ampio agli utenti che si registrano e tutti i modelli disponibili a quelli utenti che pagano tale servizio. • TParametriTecnologie: contiene l’elenco dei parametri caratteristici delle tecnologie (per esempio la potenza nominale, il rendimento, le tensioni e le correnti di corto circuito, ecc.) Nome campo Tipo dati Id int Descrizione varchar(30) Note varchar(max) • TValoriParTecnologie: contiene i valori dei parametri caratteristici delle tecnologie riferito ad ogni singola marca / modello Nome campo Tipo dati Id int IdParTecnologia int esterna IdTipoTecnologia int esterna IdUdM int esterna Valore float Data date Note varchar(max) • TEnergieDettaglio: contiene l’elenco dei sottoinsiemi di ogni fonte di energia rinnovabile ed i nomi delle DLL e delle funzioni che contengono i modelli di calcolo Nome campo Tipo dati Id int IdEnergia int esterna IdParametro int esterna Descrizione varchar(30) DLL varchar(15) ModelloDLL varchar(30) NumParametri smallint Note varchar(max) 47
  • 51. • TParametriDettaglio: contiene l’elenco dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile Nome campo Tipo dati Id int Descrizione varchar(50) Note varchar(max) • TValoriParametri: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile Nome campo Tipo dati Id int IdParDettaglio int esterna IdUdM int esterna Valore float Coordinate geography NomeLocalita varchar(40) Livello int Data date Note varchar(max) In questa tabella viene utilizzato il tipo di dato “geography” più volte menzionato. Tale tipo permette di gestire le coordinate geodetiche (latitudine e longitudine), infatti ogni record possiede un prefisso denominato Spatial Reference ID (SRID) che corrisponde a un sistema di riferimento spaziale basato sullo specifico ellissoide utilizzato per il mapping terra piatta o terra rotonda. Un campo spaziale può contenere oggetti con identificatori SRID, ma solo le istanze spaziali con lo stesso identificatore SRID possono essere utilizzate se si eseguono operazioni con i metodi dei dati spaziali di SQL Server. Il risultato di qualsiasi metodo spaziale derivato da due istanze dei dati spaziali è valido solo se quelle istanze hanno lo stesso identificatore SRID basato sulla stessa unità di misura, data e proiezione utilizzata per determinare le coordinate delle istanze. Le unità di misura più comuni di un identificatore SRID sono metri o metri quadrati. Se due istanze spaziali non hanno lo stesso SRID, i risultati di un calcolo su questo tipo di dati restituirà NULL, mentre il valore di default è 48
  • 52. 4326 che corrisponde al sistema di riferimento WGS 84. I dati vengono memorizzati in formato binario (esempio: 0xE6100000010CCAFD0E45818E2B4026A77686A9D34640). Si fa notare inoltre analogamente a quanto previsto nella tabella TTipoTecnologia il campo Livello che può essere utilizzato per permettere di rendere visibili i valori in funzione del livello di accesso assegnato all’utente. • TUdM: contiene la lista delle unità di misura utilizzate per i valori contenuti nelle altre tabelle Nome campo Tipo dati Id int Descrizione varchar(20) Fattore float Note varchar(max) 4.1.2.4. L’importazione di nuovi valori in formato XML In riferimento alla possibilità di inserire nuovi valori, attualmente i datalogger degli impianti di produzione non presentano un formato standard dei dati di output, alcuni permettono una uscita in formato csv ma la maggior parte ha un formato proprietario. Accanto ai valori provenienti dagli impianti di produzione, si deve prevedere la possibilità di inserimento di dati che provengono dalle più disparate fonti, e per questo motivo si è pensato di prevedere un input di dati strutturati secondo lo standard XML. La tabella interessata a questa transazione è la TValoriParametri, però si è deciso di non effettuare un input diretto in tale tabella bensì inserire i valori in una tabella di appoggio denominata TValoriParametriX ed effettuare l’import a mezzo di una stored procedure che in caso di non congruità dei dati provvede ad inserirli in una tabella denominata TParametriScartiX che contiene 49
  • 53. gli scarti secondo il seguente schema: Fig. 4.3: Lo schema per l’import dei dati XML Le tabelle necessarie a questa parte sono le seguenti: • TValoriParametriX: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile importati dal file in formato XML Nome campo Tipo dati Id int IdParDettaglio int IdUdM int Valore float Lat float Lon float SRID int NomeLocalita varchar(40) Data date Note varchar(max) A differenza della tabella precedente, non è presente il campo Livello in quanto questo verrà definito in fase di analisi ed inserimento dei valori nella tabella principale, per lo stesso 50
  • 54. motivo i campi IdParDettaglio e IdUdM non sono campi chiave, mentre non è presente il campo Coordinate di tipo geography in quanto lo standard XML non lo prevede; al suo posto sono presenti due campi di tipo float ed uno di tipo int, rispettivamente Lat e Lon che rappresentano le coordinate ed il campo SRID che rappresenta il Spatial Reference ID. • TParametriScartiX: contiene i valori dei parametri che dipendono dalle coordinate geografiche caratteristici di ogni fonte di energia rinnovabile importati dal file in formato XML e scartati dalla funzione di analisi di tali dati Nome campo Tipo dati Id int IdParDettaglio int IdUdM int Valore float Lat float Lon float SRID int NomeLocalita varchar(40) Data date Note varchar(max) Il campo Note di questa tabella conterrà il motivo dello scarto. Ricordando le features offerte da Sql Server 2008 e descritte nel paragrafo 3.3.1.4, si procede quindi alla definizione dell’ XML Schema secondo la seguente metodologia: definire gli elementi (tag) che possono apparire in un documento; • definire gli attributi che possono apparire in un elemento; • definire quali elementi devono essere inseriti in altri elementi (child); • definire il numero degli elementi child; • definire quando un elemento dev'essere vuoto o può contenere testo, elementi, oppure • entrambi; definire il tipo per ogni elemento e per gli attributi (intero, stringa, ecc o tipi personalizzati); • definire i valori di default o fissi per elementi ed attributi. • 51
  • 55. L’XML Schema è quindi il seguente: <?xml version =”1.0”)> <!- - Inizio definizione schema - -> <xs: schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” targetNamespace =“http://localhost/DSSRinovabiliSchema” elementFormDefault=“qualified”> <- - Definizione dell’elemento Valore> <xs: element name = “valore”> <xs: complexType> <xs: all> <! - - Elementi child del valore - -> <xs: element name=”IdParDettaglio” type = “xs: int” /> <xs: element name=”Valore” type = “xs: float” /> <xs: element name=”Lat” type = “xs: float” /> <xs: element name=”Lon” type = “xs: float” /> <xs: element name=”SRID” type = “xs: int” /> <xs: element name=”NomeLocalita” type = “xs: string” /> <xs: element name=”IdUdM” type = “xs: int” /> <xs: element name=”Data ” type = “xs: date” /> <xs: element name=”Note” type = “xs: string” /> </xs: all> </xs: complexType> </xs: element> </xs: schema> 4.1.3. Classi e metodi Come si evince dallo schema di fig. 4.1, il web service fa da fornitore dei servizi alle applicazioni, sia che esse siano di tipo stand alone che implementate su dispositivi mobili che facenti parte di siti web. Per ottemperare a questa funzionalità i metodi propri del web service sono costituiti da pochissime righe di codice e risultano quindi molto semplici, in quanto tutta l’implementazione è contenuta nelle classi relative ai vari modelli di calcolo e nelle classi di utilità che per rendere snello, leggibile e facilmente manutenibile il codice sono state scritte in modo da essere compilate in librerie (DLL) diverse: una per ogni modello di calcolo, una contenente tutti i metodi di utilità e le strutture dati ed una contenente i metodi per accedere al DBMS, costituendo nell’insieme quello che viene definito implementaton hiding. 52
  • 56. Il diagramma a blocchi delle classi è quello rappresentato nello schema qui di seguito. DBUtility DBMS Stored Procedure Web Service Applicativi WSEnergieRinnovabili Utility LibrerieGE Fig. 4.4: Il diagramma a blocchi delle classi e librerie del progetto Nella pagina seguente sono invece rappresentati i metodi delle singole classi. 53
  • 57. frmViewCapture Class Form Campi Metodi cap t u reToolStripMenuItem_… cbAbilita_CheckedChanged DeterminaCoordinate Dispose FormImpianti Class FRisposta fileToolStripMenuItem_Click Form Class frmViewCapture Form frmViewCapture_MouseUp Campi GetGeocodeUri Campi Metodi GeViewGO Metodi InitializeComponent Dispose FormImpianti Dispose moveGE FRisposta In i tializeCompo … PVai_Click PAnn_Click SetParent In i tializeCompo … POk_Click ShowWindowAsync POk_Click WSRinnovabili dbUtility Class Class WebService Campi Campi DoublePoint Class Metodi Metodi ChiudiConn DatiPala Campi Connetti Dummy Metodi DatiPala ModelliEolico PnFV DoublePoint (ol … ModelliFV SottoponiSP GetX ModelloEolico SPLocDMin GetY ModelloFV0 SetX SpParametro Pn sSP SetY EolicoVelM edia FVGiornM edioA… CalcolaCoordinate Class Class Class Metodi Metodi Metodi CalcolaEnergia CalcolaEnergia Calcola Fig. 4.5: I metodi delle classi 54
  • 58. Nella figura qui di seguito sono rappresentate le strutture dati: DatiPalaEolica FV0Data Struct Struct DatiParametro Struct Campi Campi Campi hTorre inclinazione Pn lat distanza VI lon lat VO orientamento localita VR Pn parametro Metodi Metodi Metodi DatiPalaEolica FV0Data DatiParametro EolicoData Struct Campi cForma cScabr DatiResponse hTorre Struct lat lon Campi P0 distanza VI energia VO localita VR Metodi Metodi DatiResponse EolicoData Fig. 4.6: Le strutture dati 4.1.4. L’applicativo A corredo di questo progetto viene realizzato un applicativo stand alone che implementa tutti i concetti e gli obiettivi posti fino a qui. Per rendere l’interfaccia semplice ed intuitiva l’applicativo integra sia Google Earth che Google Maps attraverso i quali l’utente può, digitando l’indirizzo, le coordinate o semplicemente navigando nel Mondo per mezzo dei tools caratteristici di Google Earth, identificare l’area di suo interesse e con un semplice click ottenere i valori di energia annua prodotta dai pannelli fotovoltaici o da un impianto eolico. 55
  • 59. 4.2. I modelli di calcolo I modelli descritti qui di seguito sono oggetto di tesi da parte di un laureando di questa stessa sessione. In questo paragrafo sono riportate le parti salienti di tale studio, mentre per un approfondimento si rimanda alla tesi i cui estremi sono reperibili in bibliografia. 4.2.1. Modello eolico medio annuo Questa procedura di calcolo effettua una stima del quantitativo di energia prodotto annualmente da parte di una turbina eolica. I dati necessari ad implementare la procedura sono: - velocità media annua del vento della località di riferimento; - altezza di misura dell’anemometro; - valori caratteristici della curva di potenza della turbina. I valori caratteristici della curva di potenza sono: - velocità di avvio Vc; - velocità corrispondente all’erogazione della potenza nominale Vn; - velocità di uscita della turbina Vf; - potenza nominale della macchina Pn. La procedura si basa sulla definizione di una curva di potenza semplificata sulla base di tali valori caratteristici. In figura è rappresentato tale andamento. Fig. 4.7: La curva di potenza semplificata 56
  • 60. La curva semplificata è composta da quattro intervalli: 0, 1, 2, 3. Ai fini del calcolo vengono considerati i range 1 e 2. Nel range 1, per il quale Vc < V < Vn, la curva assume un’evoluzione quadratica sulla base della relazione: V 2 − Vc2 P = Pn Vn2 − Vc2 Nel range 2 si ha invece che la potenza erogata risulta pari a quella nominale: P = Pn Allo scopo di calcolare l’energia resa, la funzione che esprime la curva di potenza P(V) deve essere integrata nel periodo T (1 anno). Tale legge varia nei diversi campi e pertanto è necessario separare tali contributi. Nel range 1 si farà uso della percentuale f1 relativa al periodo di tempo in cui la velocità risulta compresa in questo range. Questa percentuale risulta pari a: Vc Vn Vn T ∫ ∫ ∫ f1 = 1 = f(V)dV = f(V)dV − f(V)dV = C(Vn ) − C(Vc ) TV 0 0 c per cui l’energia E1 resa nel periodo T1 è rappresentata da:  T1 2  T1 T1 T1 P (V − V )dt = 2 Pn 2 ∫ ∫ ∫ ∫  V dt − V 2 dt  = E1 = Pdt = 2 n 2 2 2   c c Vn − Vc Vn − Vc 0  0 0 0 Pn (T1Vm2,1 − T1Vc2 ) = 2 Pn 2 f1T (Vm2,1 − Vc2 ) = 2 2 Vn2 − Vc2 Vn − Vc dove Vm2,1 è la velocità media quadratica calcolata nel range 1 e pari a 1 1  T1 2 ∫ = V 2 dt  Vm2,1  T1    0 Nel range 2 si avrà: Vf Vf Vn T ∫ ∫ ∫ f2 = 2 = f(V)dV = f(V)dV − f(V)dV = C(Vf ) − C(Vn ) TV 0 0 n e quindi l’energia resa in questo periodo sarà pari a: T2 T2 ∫ ∫ E 2 = Pdt = Pn dt = Pn f2 T 0 0 L’energia resa totale nel periodo T sarà pari alla somma di E1 ed E2. 57
  • 61. In questa procedura non si considerano le perdite dovute a schermatura, periodi di fermo e degradazione della turbina. Inoltre non viene stimato l’effetto della variazione di densità dovuta alla temperatura di esercizio ed alla quota a cui è posto il rotore. La prima operazione eseguita dal modello consiste nel riportare i valori di velocità media giornaliera misurati ad una certa quota z0, ai valori corrispondenti all’altezza della torre. Per fare ciò è necessario ipotizzare un valore di scabrezza m al fine di applicare la legge logaritmica di evoluzione del profilo di velocità. In tabella è riportata la classificazione utilizzata nell’implementazione del modello: tale suddivisione è stata definita dal Risø National Laboratory (Denmark) nell’ambito del progetto European Wind Atlas. Caratteristiche del terreno Classe m superficie d’acqua ferma 0 0.0002 terreni completamente aperti con 0.5 0.0024 superficie liscia (piste d’aeroporto, prati sfalciati, ecc.) aree agricole aperte senza recinzioni e 1 0.03 siepi e con edifici molto radi; colline a declivio dolce terreni agricoli con qualche casa e filari 1.5 0.055 di recinzione alti 8 m a distanza di circa 1250 m terreni agricoli con qualche casa e filari 2 0.1 di recinzione alti 8 m a distanza di circa 500 m terreni agricoli con molte case, arbusti 2.5 0.2 e piante o filari di recinzione alti 8 m a crica 250 m villaggi, piccoli paesi, terreni agricoli 3 0.4 con molte o alte siepi, foreste e terreni molto scabri ed irregolari grandi città con edifici alti 3.5 0.8 metropoli con edifici alti e grattacieli 4 1.6 Tab. 4.2: Valori di scabrezza Si è scelto di utilizzare questa classificazione in relazione all’univocità dei coefficienti proposti, alla chiarezza nelle descrizioni delle caratteristiche del terreno associate ed in relazione alla sua adozione largamente diffusa in Europa. L’adozione del coefficiente di scabrezza sulla base di una conoscenza qualitativa del sito oggetto di studio permette di calcolare i valori di velocità del vento all’altezza della torre mediante la 58
  • 62. relazione: () ln z m Vz = V0 ln z 0   m   in cui V0 e z0 son rispettivamente velocità misurata ed altezza dello strumento di misura. Il parametro di forma k è una caratteristica del sito che deve essere assunta orientativamente nel caso non si dispongano delle misurazioni necessarie alla sua corretta definizione. Per effettuarne una stima corretta ci si può basare sulle caratteristiche dell’area climatica e sulla similitudine con altri siti analoghi. È importante ricordare che il parametro di forma è un indice dell’irregolarità del regime dei venti: a maggiore irregolarità corrispondono maggiori valori di k. In tabella è riportata una classificazione indicativa dei siti definita da R. Pallabazzer. Descrizione località k Aree montuose ed urbane con venti molto irregolari 1 – 1.5 Aree costiere delle zone temperate 1.5 – 2.5 Aree oceaniche caratterizzate da clima aliseo monsonico 2.5 - 4 con venti regolari Tab. 4.3: Parametro di forma La velocità media da considerare in questa applicazione può risultare da una serie di misure anche su larga scala temporale e quindi è lecito utilizzare i valori medi annui forniti dalle stazioni meteorologiche. La definizione della distribuzione di Weibull si basa sull’introduzione di velocità adimensionali riferite alla velocità media sulla base della relazione: Vi vi = Vm con il pedice i che diviene c, n, f, m2,1, rispettivamente per la valutazione delle velocità adimensionali di cut-in, nominale, di cut-off, e media quadratica. Definendo tali velocità le funzioni di Weibull assumono la seguente forma:  1  1   f (v ) = kv k −1Γ k 1 +  exp  − v k Γ k  1 +    k  k    1   C(v ) = 1 − exp  − v k Γ k 1 +    k   59
  • 63. e quindi le percentuali di permanenza della velocità nei range 1 e 2 risultano rispettivamente:  1   1    f1 = C(Vn ) − C(Vc ) = exp − v kΓ k 1 +   − exp  − v k Γk 1 +   c n  k   k    e  k 1   1   f2 = C(Vf ) − C(Vn ) = exp − v n Γ k 1 +   − exp  − v k Γ k 1 +   f k  k      Risulta così possibile calcolare il fattore di utilizzazione che, in forma adimensionale, diventa v m2,1 − v 2 2 Fu = f1 c f2 vn − v2 2 c e quindi l’energia resa sarà E = Fu TPn Tutte le funzioni sopraindicate possono essere calcolate noti il parametro di forma ed i valori delle velocità adimensionali. Il fattore di utilizzazione rappresenta il rapporto tra l’energia prodotta in condizioni di servizio e quella ipoteticamente generata dalla turbina nel periodo considerato per una potenza pari a quella nominale. La funzione gamma può esser calcolata mediante la formulazione empirica: 1  1  0.434  k Γ1 +  =  0.568 +   k  k La velocità media quadratica viene calcolata facendo uso dell’espressione generale: 1  vn 2  2 ∫  v f(v)dv  1   1  T1 2 ∫ = v dt  =  cvn  v 2 v m2,1  T1      ∫  f(v)dv  0 v  c  L’ espressione precedente viene calcolata ricorrendo ad un calcolo numerico mediante la formula di Simpson. La formula di Simpson per l'integrazione numerica interpola la funzione da integrare 60
  • 64. impiegando archi di parabola per tre punti. La formula di Simpson è: b h [f(x 0 ) + 4 f(x 1) + 2f(x 2 ) + ... + 4 f(x n−1) + f(x n )] ∫ f(x)dx ≅ 3 a La formula richiede che l'intervallo [a, b] sia diviso in un numero pari di sotto-intervalli di ampiezza h. L’errore associabile a tale procedimento risulta più che trascurabile in questa applicazione in quanto per un numero di nodi di calcolo prossimo a cento l’errore si riduce già ad un ordine di grandezza di 10-9. 4.2.2. Modello fotovoltaico medio annuo L’implementazione di questo modello di calcolo dell’energia media annua prodotta da un sistema fotovoltaico necessita della conoscenza delle seguenti informazioni riguardo la località dell’installazione: - latitudine, espressa in gradi sessadecimali; - valore di radiazione giornaliera media annua misurato su di una superficie orizzontale, fornito in kWh/mq. Per quanto riguarda l’impianto è necessario definire: - la potenza nominale dei moduli che si desidera impiegare, espressa in kW; - la potenza massima dell’inverter, espressa in kW; - l’inclinazione dei moduli, variabile tra 0º (orizzontale) e 90º (verticale); - l’orientazione dei moduli, variabile da – 90º a + 90º, essendo 0º il valore corrispondente alla direzione Sud. Questa procedura effettua una stima dell’energia prodotta annualmente dal sistema fotovoltaico sulla base della metodologia proposta da E. Caamaño e E. Lorenzo e su di una serie di opportune integrazioni. Il metodo analitico impiegato si basa sulla valutazione della produzione media annua di un sistema fotovoltaico, avente moduli comunque orientati ed inclinati, a partire dal valore di produzione attesa in condizioni ottimali di inclinazione ed orientamento definite in relazione alle coordinate geografiche della località considerata. L’energia annua generata da un impianto fotovoltaico in condizioni ottimali di utilizzo, Ey,opt, può essere calcolata mediante la seguente espressione: E y ,opt = Pn ⋅ PSH y ⋅ PR 61
  • 65. in cui Pn corrisponde alla potenza nominale dell’impianto in condizioni standard4 e risulta pari alla somma delle potenze nominali dei moduli che lo compongono. PR è un parametro, denominato Performance Ratio, definito come energia generata dal sistema in rapporto alla potenza installata ed alla radiazione incidente. PR è variabile tra 0.6 e 0.8 e nel modello si è assunto un valore pari a 0.7. PSH è il valore numerico associato al concetto di Peak Solar Hours (PSH). Il parametro temporale PSH corrisponde alla durata di un giorno equivalente in cui il sistema analizzato risulti soggetto ad una radiazione costante pari ad 1 kW/mq. Tale valore viene utilizzato nella definizione delle condizioni standard in rispetto alle quali viene definita la potenza nominale dei moduli. La convenienza nell’utilizzare questo parametro consiste nel fatto che, se esso viene misurato in ore, il suo valore numerico corrisponde a quello della radiazione globale giornaliera sulla superficie considerata, espressa in kWh/mq. Da questa approssimazione deriva una sottostima della produzione compresa tra il 2 ed il 15 %. I valori massimi di errore si riscontrano alle latitudini in cui la radiazione annua e la temperatura media sono maggiori. Nel modello si impiega PSHy, quale valore annuale delle ore equivalenti di produzione di energia in condizioni di irraggiamento standard. G y,opt PSHy = G y ,0 Gy,opt è il valore della radiazione globale media annua incidente su di una superficie inclinata in maniera ottimale; Gy,0 è il valore di irraggiamento in condizioni standard. Il calcolo di Gy,opt presuppone la definizione delle condizioni ottimali di inclinazione ed orientamento dei moduli. L’orientamento ottimale è rappresentato da un angolo di 0º che corrisponde ala direzione Sud. L’inclinazione ottimale viene stimata in base alla procedura proposta da E. Lorenzo. Tale procedura si basa su di uno studio eseguito su 30 località comprese in un intervallo di latitudine che si estende da + 80º N a – 78º S. Tali siti differiscono sia in termini di localizzazione geografica che di caratteristiche climatiche. Le superfici risultano orientate a Sud. L’analisi della relazione tra l’inclinazione ottimale e la latitudine ha permesso di ricavare l’espressione seguente: β opt = 3.7 + 0.69 Φ in cui βopt rappresenta l’inclinazione ottimale e Φ la latitudine geografica. 4 irraggiamento pari a 1000 W/m2 e temperatura pari a 25°C. 62
  • 66. Dallo studio risulta che errori pari al 20% nel calcolo dell’inclinazione ottimale portano a differenze nei valori di radiazione media annua non al di sopra dell’1%, pertanto la correlazione risulta valida a fini pratici. Per le medesime località è stato studiato anche l’andamento del quantitativo di radiazione media annua, Gdy, in funzione dell’inclinazione ottimale. È stata così ricavata un’espressione che ne permette il calcolo a partire dal valore di radiazione giornaliera media annua incidente su di una superficie orizzontale. L’andamento è riportato in figura per quattro delle 30 località considerate. Fig. 4.8: Andamento della radiazione media annua L’inclinazione dei moduli riferita al valore assoluto della latitudine Φ rappresenta la variabile indipendente mentre Gdy, rapportato al valore ottimale massimo della radiazione giornaliera media annua, corrisponde alla variabile indipendente. Tali curve risultano descritte in maniera soddisfacente dal seguente polinomio di secondo grado: G dy (β) = 1 + 4.46 ⋅ 10 − 4 (β − β opt ) − 1.19 ⋅ 10 − 4 (β − β opt ) G dy (β opt ) che permette di ottenere un coefficiente di correlazione R2 pari a 0.98. Tale polinomio permette di calcolare la radiazione giornaliera media annua incidente una superficie disposta in condizioni ottimali di inclinazione ed orientamento. Pertanto il valore della radiazione globale media annua in condizioni ottimali è pari a: G dy,0 G y,opt = ⋅ 365 1 − 4.46 ⋅ 10 β opt + 1.19 ⋅ 10 −4 β opt −4 dove Gdy,0 è la radiazione giornaliera media annua incidente su di una superficie orizzontale. 63
  • 67. Dopo aver calcolato Ey,opt è necessario valutare in che modo le reali condizioni di inclinazione ed orientamento dei moduli influiscono sulla produzione di energia. Applicando il metodo proposto da Caamaño e Lorenzo l’energia utile media annua generata da un sistema fotovoltaico, Ey, risulta pari a: E y = E y ,opt ⋅ GF ⋅ IAMF ⋅ PRF ⋅ SF dove GF, IAMF, PRF ed SF sono fattori che permettono di tener conto delle deviazioni dalle condizioni ideali. Nello specifico: - GF rappresenta la variazione nel quantitativo di radiazione incidente dalle condizioni ottimali a quelle di servizio; - IAMF è indicativo delle perdite dovute a fenomeni di riflessione, sporcizia e bassa efficienza dei moduli in corrispondenza di bassi valori di radiazione; - PRF corrisponde alla variazione di PR dalle condizioni ottimali a quelle di servizio. - SF rappresenta le perdite annuali indotte dall’effetto degli ombreggiamenti prodotti dagli ostacoli in prossimità dell’impianto. La definizione dei valori da attribuire a questi coefficienti avviene mediante una serie di espressioni analitiche definite in base all’analisi effettuata da Caamaño e Lorenzo per diversi sistemi fotovoltaici nelle località di Madrid (Spagna) e Trappes (Francia). Nella figura della pagina seguente è illustrato a titolo esemplificativo l’andamento del coefficiente GF in funzione della differenza tra l’inclinazione dei moduli e quella ottimale per la località considerata. Fig. 4.9: Andamento del coefficiente GF Il coefficiente di perdita legato alle ombre, SF, viene considerato dalla procedura come un fattore costante di riduzione della produzione stimata pari a - 7 %. Tale valore può essere modificato in relazione alle caratteristiche specifiche dell’installazione. 64
  • 68. In questo capitolo è stato descritta in dettaglio l’analisi del progetto del Decision Support System orientato alla scelta delle fonti di energia rinnovabili. Nel prossimo capitolo viene esplicitata l’implementazione e le interfacce del DSS. 65
  • 69. 5. L’IMPLEMENTAZIONE E LE INTERFACCE In questo capitolo viene descritta l’implementazione e le interfacce che costituiscono il DSS. Tutto il codice delle classi, dei metodi, delle funzioni, strutture ecc. sono stati scritti interamente dall’autore. Qui di seguito vengono descritte a fondo quelle tabelle e parti di codice che costituiscono il cuore del DSS e che forniscono valore aggiunto al sistema, mentre vengono tralasciate tutte le righe di codice che servono a rendere più piacevole la grafica o che rappresentano funzioni ormai assodate come ad esempio il popolamento di combo box, l’accesso al database, le stored procedure che non interessano dati o calcoli con tipo di dati geografici, ecc. Sono altresì omessi i blocchi try-catch- finally relativi alla gestione delle eccezioni. Tali righe sono comunque commentate in maniera esaustiva nel listato sorgente. 5.1. L’implementazione Come punto di partenza è stato creato il database denominato DBRinnovabili, tutte le sue tabelle, le relazioni, le viste e le stored procedure. 5.1.1. Il DBMS Fra tutte le stored procedure scritte, spiccano in particolare quelle che permettono di calcolare la distanza minima del punto scelto dall’utente rispetto a quello che ha dei dati di consuntivo o misurati, che vengono utilizzati dai modelli di calcolo. Qui di seguito è riportata la stored procedure denominata spFV0 che restituisce la denominazione, distanza, latitudine e valore di radiazione giornaliera media annua del punto più vicino a quello 66
  • 70. selezionato necessari al modello FV0: USE [DBRinnovabili] GO ALTER PROCEDURE [dbo].[spFV0] -- Parametri della SP @latPoint float = 0, -- Latitudine punto in ingresso @lonPoint float = 0, -- Longitudine punto in ingresso @NomeLoc varchar(40) OUTPUT, @Valore float OUTPUT, @distMin float OUTPUT, @lat float OUTPUT AS BEGIN SET NOCOUNT ON; DECLARE @NomeLocPark varchar(40) -- Nome località temporanea DECLARE @ValorePark float; -- Valore parametro temporaneo DECLARE @g geography -- Coordinate in formato geography del punto in input set @g = geography::STGeomFromText('POINT(' + cast(@latPoint as varchar(MAX)) + ' ' + cast(@lonPoint as varchar(MAX)) +')', 4326) DECLARE @distPark float -- Distanza di ogni riga dal punto in ingresso SET @distMin = 1e99 -- La setto a +inf DECLARE @gPark geography DECLARE myCursor CURSOR FOR select NomeLocalita, Coordinate, Valore from TValoriParametri where IdParDettaglio = 1 OPEN myCursor FETCH NEXT FROM myCursor INTO @NomeLocPark, @gPark, @ValorePark WHILE @@FETCH_STATUS = 0 BEGIN SET @distPark = @g.STDistance(@gPark) / 1000 -- SELECT @distPark as [distpark] -- Sremmare per Test Mode IF @distPark < @distMin BEGIN SET @distMin = @distPark SET @NomeLoc = @NomeLocPark SET @Valore = @ValorePark SET @lat = @gPark .Lat --SELECT @distPark as [distpark] -- Sremmare per Test Mode END -- If FETCH NEXT FROM myCursor INTO @NomeLocPark, @gPark, @ValorePark END -- While CLOSE myCursor DEALLOCATE myCursor SELECT @NomeLoc as [Nome Località dist min], @Valore as [Valore parametro], @distMin as [Distanza], @lat as [Latitudine] END 67
  • 71. In particolare il calcolo della distanza (in kilometri) del punto selezionato dall’utente da ogni punto con valore misurato presente nella tabella viene eseguito dalla seguente riga di codice: SET @distPark = @g.STDistance(@gPark) / 1000 Dove STDistance è la funzione presente in SQL Server 2008 che restituisce la distanza più breve tra un punto in un'istanza geography e un punto in un'altra istanza geography. Il diagramma E-R fisico è il seguente: TParametriDettaglio Nome colonna Tipo di dati TEnergie Id int Nome colonna Tipo di dati Descrizione... varchar(50) Id int Note varchar(MAX) TipoFonte varchar(20) Note varchar(MAX) FK TEnergieDettagio TParametriDettaglio FK_TValoriParametri_TParametriDettaglio FK TEnergieDettagio TEnergie TValoriParametri FK_TTipoTecnologia_TEnergie Nome colonna Tipo di dati TEnergieDettagio Id int Nome colonna Tipo di dati IdParDetta... int Id int Valore float TTipoTecnologia IdEnergia int Coordinate geography Nome colonna Tipo di da IdParametro int NomeLocalita varchar(40) Id int Descrizione varchar(30) IdUdM int IdEnergia int DLL varchar(15) Data date Descrizione varchar(30) ModelloDLL varchar(30) Note varchar(MAX) Ottimo bit NumParametri smallint NumParamI... smallint Note varchar(MAX) FK_TValoriParametri_TUdM FK TValoriParTecnologie TTipoTecnologia TValoriParTecnologie FK_TValoriParTecnologie_TUdM Nome colonna Tipo di dati TUdM Id int Nome colonna Tipo di dati IdParTecnologia int Id int IdTipoTecnologia int Descrizione varchar(20) Valore float Fattore float IdUdM int Note varchar(MAX) Data date TParametriTecnologie ValoreOttimo bit Nome colonna Tipo di dati Id int Note varchar(MAX) Descrizione varchar(30) Note varchar(MAX) FK_TValoriParTecnologie_TParametriTecnologie Fig. 5.1: Il diagramma E-R fisico 5.1.2. Il Web Service Il Web Service denominato WSEnergieRinnovabili costituisce per le applicazioni la “porta” di accesso al DSS fornendone i servizi necessari. 68
  • 72. Al fine di rendere il più snello, leggibile, facilmente manutenibile ed integrabile il Web Service si è scelto di scrivere i relativi metodi utilizzando meno righe di codice possibile, demandando tutto il funzionamento alle librerie, le quali contengono l’implementazione vera e propria. Un esempio di metodo disponibile nel Web Service è il seguente: // Calcola usando il Modello FV0: radiazione giornaliera media annua public DatiResponse ModelloFV0(double lat, double lon) { // Connessione al database dbUtility connDB = new dbUtility(); SqlConnection myConn = connDB.Connetti(); // *** Modello FV0: radiazione giornaliera media annua DatiParFV0 dp = new DatiParFV0(); // Istanzio la struttura dati per i valori di ritorno dp = connDB.SPFV0(myConn, lat, lon); // Richiamo la SP FVGiornMedioAnn FV0 = new FVGiornMedioAnn(); // Richiamo il modello dr.energia = Math.Round (FV0.CalcolaEnergia(dp.lat, dp.radiazione, 100),0); dr.localita = dp.localita; dr.distanza = dp.distanza; return dr; } // Fine metodo ModelloFV0(.) 5.1.3. La libreria Utilità Questa libreria contiene le funzioni di utilità e le strutture dati necessarie al DSS. Non essendo queste parti di codice particolarmente interessanti, si rimanda la consultazione al listato sorgente. 5.1.4. La libreria LibrerieGE In questa libreria sono state implementate le funzioni e le strutture dati necessarie all’interazione con le API di Google Earth. In particolare è presente la funzione che permette di mappare il punto cliccato sulla mappa di Google Earth nelle rispettive coordinate spaziali georeferenziate. Le coordinate della finestra di visualizzazione di Google Earth infatti sono diverse da quelle che vengono restituite quando si clicca in un punto nella finestra di Windows, come indicato nella figura seguente: Fig. 5.1: L’origine degli assi di Google Earth 69
  • 73. e quindi è necessario mappare il punto cliccato dall’utente in un punto che sia compreso all’interno della griglia rappresentata in fig. 5.1, valido per poter essere elaborato correttamente dalla funzione GetPointOnTerrainFromScreenCoords presente nella libreria messa a disposizione da Google che restituisce le coordinate spaziali georeferenziate. Le parti salienti della funzione che permette questa mappatura sono le seguenti: DoublePoint dptScreen = new DoublePoint(-2, -2); Try { double screenX = x - pGE.Location.X; double screenY = y - pGE.Location.Y; double midX = pGE.Width / 2; double midY = pGE.Height / 2; double outX = 0.0; double outY = 0.0; if (screenX < midX) { dptScreen.SetX((screenX / midX) - 1); outX = (screenX / midX) - 1; } else if (screenX > midX) { dptScreen.SetX((screenX - midX) / midX); outX = (screenX - midX) / midX; } else if (screenX == midX) dptScreen.SetX(0.0); if (screenY < midY) { dptScreen.SetY(1 - (screenY / midY)); outY = 1 - (screenY / midY); } else if (screenY > midY) { dptScreen.SetY(((pGE.Height - screenY) / midY) - 1); outY = ((pGE.Height - screenY) / midY) - 1; } else if (screenY == midY) { dptScreen.SetY(0.0); return dptScreen; La classe DoublePoint è la classica classe contenente i metodi di set / get: public class DoublePoint { private double x; private double y; public void SetX(double i) { x = i; } public double GetX() { return x; } public void SetY(double i) { y = i; } 70
  • 74. public double GetY() { return y; } public DoublePoint() { x = -1; y = -1; } public DoublePoint(double dx, double dy) { x = dx; y = dy; } } // Fine classe DoublePoint 5.1.5. L’applicativo Per verificare la bontà e la rispondenza agli obiettivi del progetto nonché per poter effettuare un test di tutte le classi e rispettivi metodi, si è deciso di realizzare un applicativo stand alone che permetta la valutazione obiettiva di tutto quando analizzato fino a qui e degli obiettivi posti. Come prefissato negli obiettivi, per rendere semplice ed immediato l’utilizzo è stato pensato di utilizzare Google Maps per quanto riguarda la possibilità di individuare l’area di interesse conoscendo l’indirizzo, mentre Google Earth per poter navigare e visualizzare il punto preciso. Il maggiore problema che si è presentato è stato quello di come integrare l’interfaccia di Google Earth nel form dell’applicativo. La documentazione disponibile è molto lacunosa e mirata soprattutto alle applicazioni web, inoltre non esistono degli esempi applicativi a tal riguardo, quindi è stato necessario studiare in maniera approfondita le API messe a disposizione dal Sistema Operativo nonché la tecnologia dei form presenti nell’ambiente di sviluppo per trovare i metodi che permettono questa integrazione. MS Windows infatti mette a disposizione alcune API costituite da un gruppo di DLL standard che fornisco funzioni a basso livello al Sistema Operativo. Le principali sono le seguenti: • KERNEL32.DLL: funzioni operative di basso livello. (gestione della memoria, dei task, delle risorse e operazioni correlate); • USER32.DLL: funzioni relative alla gestione di Windows (messaggi, menu, cursori, timer, caret, comunicazioni e la maggior parte delle altre funzioni che riguardano la visualizzazione); • GDI32.DLL: funzioni che hanno a che fare con l'output dei dispositivi; 71
  • 75. • COMDLG.DLL, LZ32.DLL, VERSION.DLL: supporto per le finestre di dialogo comuni, la compressione dei file e il controllo della versione. In alcuni casi sono accessibili direttamente in altri è necessario ricorrere alla APIGID32.DLL; • APIGID32.DLL: fornisce a VB l'interfaccia ad alcune funzioni non compatibili; • ODBC32.DLL: una delle DLL che implementano l'Open Database Connectivy. Queste funzioni forniscono un API standard per diversi tipi di DataBase; • COMCTL32.DLL: implementa il nuovo gruppo di controlli delle finestre (elenco ad albero, ecc.); • MAPI32.DLL: forniscono le API che permettono a qualsiasi applicazione di operare sulla posta elettronica; • NETAPI.DLL: funzioni di accesso e controllo delle reti; • WINMM.DLL: funzionalità multimediali di un sistema. La libreria di interesse è senza dubbio la KERNEL32.DLL, infatti contiene al suo interno i metodi ShowWindowAsync() e SetParent() che permettono rispettivamente di nascondere la finestra relativa ad un istanza (applicazione) e di gestire una applicazione esterna al proprio programma integrando tale applicazione all’interno del Panel della propria applicazione. La porzione di codice che permette questa funzionalità è la seguente: // Import necessari per la gestione delle finestre di GE / applicazione [DllImport(quot;User32.dllquot;)] private static extern bool ShowWindowAsync(int hWnd, int nCmdShow); [DllImport(quot;User32.dllquot;)] private static extern int SetParent(int hWndChild, int hWndParent); //Aggiungo un riferimento alla Google Earth Library private EARTHLib.ApplicationGEClass ge = new EARTHLib.ApplicationGEClass(); ShowWindowAsync(ge.GetMainHwnd(), 0); // Nascondo la finestra di Google Earth SetParent(ge.GetRenderHwnd(), (int)pGE.Handle); // Inserisco Google Earth nel mio panel Un altra porzione di codice degna di menzione è quella che permette di spostare il punto di visualizzazione ubicandolo nelle coordinate o nell’indirizzo inserito nella apposita text box. Questo viene eseguito grazie all’interazione con Google Maps che contiene appunto gli indirizzi toponomastici. Infine in fase di test è emerso il mancato inserimento nel panel dell’applicativo della finestra di Google Earth quando l’applicativo stesso veniva rieseguito dopo una chiusura. Si è scoperto che questo è dovuto alla mancata chiusura dell’istanza di Google Earth all’uscita dell’applicativo dovuta alla funzione indicata sopra che nasconde tale istanza. La soluzione è stata ovviamente quella di chiudere l’istanza all’uscita dell’applicativo, e per fare ciò è stato aggiunto il 72
  • 76. seguente codice: Process[ ] procGE = Process.GetProcessesByName(quot;googleearthquot;); foreach (Process p in procGE) { p.Kill() ; } nel quale è stato utilizzato precauzionalmente il costrutto foreach nel caso sia presente più di una istanza. 5.2. L’interfaccia: un applicativo demo Un ulteriore obiettivo dell’ applicativo demo realizzato a corredo di questo lavoro è quello di illustrare l’interfaccia del sistema. In questo paragrafo sono riportati alcuni screen shot di tale applicativo, per la cui installazione è sufficiente ciccare sull’icona Setup. Una volta aperta l’applicazione, si presenterà la videata principale contenente Google Earth ed i tools necessari per interagire con essa: per primo si identifica l’area di interesse digitando in questo caso l’indirizzo nell’apposita casella e cliccando sul pulsante Vai: Fig. 5.1: La scelta del punto da analizzare 73
  • 77. A questo punto si possono utilizzare i tools posti sulla destra e contornati in colore rosso per zoommare e navigare fino al punto preciso di interesse. Una volta identificata l’area si commuta dalla modalità di selezione sulla mappa alla modalità di selezione del punto di cui si vuole effettuare l’analisi fleggando la casella denominata Abilita la selezione del punto per il calcolo (identificata dalla cornice di colore arancione) e cliccando sul punto voluto sull’immagine satellitare: Fig. 5.2: La navigazione fino al punto voluto 74
  • 78. Dopo aver cliccato sul punto voluto compare una maschera che contiene nell’ordine le coordinate di tale punto e per ogni tipo di impianto i parametri tecnologici caratteristici, presentando come default quelli che sono i valori ottimi. Fig. 5.3: I parametri impiantistici A questo punto l’utente può confermare tali valori oppure modificarli secondo la propria esperienza o esigenza. Al termine si clicca sul pulsante Ok per procedere oppure Annulla per ritornare alla maschera precedente e scegliere un altro punto sulla mappa satellitare. 75
  • 79. Se nel form precedente è stato premuto il pulsante Ok, compare la maschera che restituisce i dati del calcolo assieme alla denominazione della località più vicina in cui è presente il valore misurato (indispensabile per i modelli di calcolo) nonché la distanza in linea d’aria di tale punto rispetto a quello scelto dall’utente: queste due indicazioni sono molto utili per poter capire il grado di attendibilità dei valori restituiti dai modelli. Fig. 5.4: I risultati dei calcoli dei modelli Premendo il pulsante Esci si ritorna alla videata iniziale e si può ripetere il calcolo scegliendo un'altra area sul globo. In questo capitolo sono state descritte l’implementazione e le interfacce che costituiscono il DSS, nonché il funzionamento dell’applicativo demo. Nel prossimo capitolo verranno tratte le conclusioni del lavoro svolto, i risultati ottenuti ed i possibili sviluppi futuri. 76
  • 80. 6. CONCLUSIONI In questo lavoro ci si era posto l’obiettivo di realizzare uno strumento che fosse in grado di fornire dei dati oggettivi circa la quantità di energia proveniente da fonti rinnovabili che si può produrre in una determinata località. Tale strumento vuole essere rivolto alla più ampia possibile platea di utenti, i quali di conseguenza posseggono diverse competenze e diversi gradi di conoscenze. Per questo motivo lo strumento non deve essere complicato in maniera che gli utenti neofiti possano utilizzarlo senza problemi, ma nello stesso tempo non deve contenere troppe semplificazioni perché in questo caso i risultati non sarebbero attendibili. Accanto a questo anche l’interfaccia uomo-macchina deve essere invitante ed immediata, e possedere una grafica accattivante in modo tale da suscitare curiosità nell’utenza. Infine tutto il sistema deve essere aperto, nel senso che deve essere progettato in modo tale da: • permettere l’integrazione di future fonti energetiche; • permettere l’importazione di nuovi dati di consuntivo provenienti da impianti in fase di realizzazione o che verranno realizzati nel futuro utili per affinare le risposte dei modelli di calcolo; • permettere l’implementazione di nuovi modelli di calcolo; • permettere l’accesso alle informazioni da parte di più sistemi operativi e dispositivi, siano essi fissi che mobili. 6.1. Risultati ottenuti Nell’ ottica indicata qui sopra e tenendo conto di quello che è attualmente disponibile sul mercato, è stato progettato e realizzato il Decision Support System di ausilio alla scelta delle fonti di energia rinnovabili. Il progetto ha visto la creazione di un’intera struttura informativa, partendo dall’analisi dei requisiti, dalla definizione delle necessità che hanno portato al progetto del DSS fino allo studio dell’usabilità passando attraverso una analisi molto accurata delle caratteristiche proprie del sistema e la realizzazione di un applicazione stand alone dimostrativa di un possibile funzionamento. 77
  • 81. E’ stato realizzato così un DSS completo e strutturato in modo da fornire una user experience elevata assieme ad un alto livello di accessibilità. Per ottenere questo obiettivo sono state utilizzate le ultime versioni delle tecnologie informatiche necessarie al DSS nonché per rendere il più semplice e naturale possibile la ricerca dell’area da analizzare è stato utilizzato Google Earth assieme a Google Maps. La realizzazione di un applicativo demo ha permesso inoltre di identificare e correggere alcuni problemi evidenziati attraverso lo user testing, ed ha così concluso il lavoro svolto. In considerazione di tutto ciò ed a seguito dell’estrema semplicità dell’applicativo che con un semplice click permette di ottenere i valori energetici riferiti a più fonti di energia rinnovabile assieme al loro grado di attendibilità, si può certamente affermare che l’obiettivo del lavoro è stato raggiunto. 6.2. Lavoro svolto Sono riportati qui di seguito i valori caratteristici che consentono la valutazione della quantità di lavoro svolto: • tecnologie utilizzate: 5; • classi: 12 • strutture dati: 5; • metodi: 47; • righe di codice: 1552; • tabelle: 8; • Stored Procedure: 9 6.3. Sviluppi futuri Il DSS è stato progettato tenendo in particolare considerazione il fatto che il settore delle fonti energetiche rinnovabili è un settore nuovo ed in forte espansione per numerosi motivi. Per questo motivo i suoi possibili sviluppi futuri sono innumerevoli, per esempio si possono implementare nel Web Service dei nuovi metodi per poter stampare i risultati ottenuti o per 78
  • 82. archiviare le analisi fatte, oppure creare un applicazione web per permettere un primo punto di partenza per quegli utenti che vorrebbero realizzare un impianto che sfrutti le fonti energetiche rinnovabili, magari prevedendo dei livelli diversi di consultazione che permettono per esempio in maniera gratuita di avere a disposizione un singolo modello di calcolo o dei parametri semplificati, mentre a fronte di una registrazione ed eventualmente a pagamento di poter scegliere fra diversi modelli di calcolo, avere a disposizione una grigia di dati più fitta in modo da avere un attendibilità dei valori energetici maggiore ed altri parametri di selezione. Un ulteriore sviluppo è quello di ottimizzazione le pagine web per i motori di ricerca. Questo fattore può essere determinante per il successo del DSS, infatti i visitatori provenienti dai motori di ricerca sono una percentuale molto alta di molti siti internet. Altri sviluppi potrebbero riguardare la realizzazione delle procedure che permettono l’importazione dei dati di impianti già realizzati oppure di dati disponibili in Rete, utilizzando quanto già studiato e progettato nei capitoli precedenti a tal riguardo. 79
  • 83. 7. BIBLIOGRAFIA • “C# - Guida per lo sviluppatore” - Robinson, Cornes, Glynn, Harvey, McQueen, Moemeka, Nagel, Skinner, Watson - Ulrico Hoepli Editori S.p.A. 2001 - Ristampa n. 4, anno 2005. • “Introduzione a Microsoft SQL Server 2008 per sviluppatori” - DeBetta - Mondadori Informatica - Edizione n. 1, anno 2008. • “Sistemi eolici”; Rodolfo Pallabazzer - Soveria Mannelli : Rubbettino, 2004. • R. Pallabazzer, “Previsional estimation of the energy output ofwindgenerators”, Renewable Energy Volume 29, Issue 3, Marzo 2004, pp. 413-420. • R. Pallabazzer, “Parametric analysis of wind siting efficiency”, Journal of wind engineering and industrial aerodynamics, 2003, vol. 91, n. 11, pp. 1329-1352. • “Handbook of photovoltaic science and engineering”; A. Luque, Steven Hegedus; Chichester WILEY, 2003. • “Practical handbook of photovoltaics: fundamentals and applications”; T. Markvart, L. Castañer; Oxford, Amsterdam, Elsevier, 2003. • E. Caamaño, E. Lorenzo “Modelling and financial analysis tools for PV grid-connected systems”, Progress in Photovoltaics: Research and Applications, Volume 4, Issue 4, 1998, pp. 295 – 305. • Handbook on decision support system; Frada Burstein, Clyde W. Holsapple, Springer February 2008. 7.1. Risorse on-line • http://msdn.microsoft.com/it-it/library/kx37x362.aspx • http://msdn.microsoft.com/it-it/library/ms310242.aspx • http://earth.google.it/userguide/v4/ • http://code.google.com/intl/it/apis/kml/documentation/ • http://www.gse.it/Pagine/default.aspx 80