UNIVERSITÀ DEGLI STUDI DI TRENTO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI TRENTO"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea (triennale) in INFORMATICA Elaborato finale Funzionalità Avanzate per la Visualizzazione e Trasmissione di Dati Georeferenziati Relatore: Prof. Ronchetti Marco Correlatori: Laureando: Andreolli Michele Ing. De Amicis Raffaele Ing. Conti Giuseppe Ing. Piffer Stefano Anno Accademico

2 L unica difesa contro il Mondo è conoscerlo Bene John Locke ( ) Ai miei Genitori 2

3 Ringraziamenti Ormai è più di un anno che sono in GraphiTech. É stato un anno impegnativo, trascorso tra gli ultimi esami, tra uno stage interminabile, tra la EuroGraphics Conference, l insegnamento alla scuola elementare e conclusosi con questa tesi. Un anno di grandi cambiamenti, costellato da nuove preoccupazioni, nuovi impegni e responsabilità, ma anche da momenti belli ed intensi che non sarebbero stati tali senza la presenza di persone veramente speciali. Per prima cosa voglio ringraziare la mia famiglia, che mi ha sempre appoggiato durante questi anni, che ha sopportato i miei (altalenanti) ritmi di studio e che ha reso finanziariamente possibile questo risultato, quindi grazie a mamma Lorenza e papà Pier Giorgio. Per quanto riguarda la stesura di questa tesi vorrei ringraziare il mio professore Marco Ronchetti che mi ha fatto conoscere GraphiTech. Un grazie enorme va a Raffaele De Amicis e Giuseppe Conti, per avermi accettato, prima come stagista, nonostante le mie pressoché nulle conoscenze di Computer Graphics, e dopo come tesista. Non posso dimenticare di ringraziare Stefano Piffer e Gabrio Girardi, per l aiuto indispensabile che mi hanno dato, sia durante lo sviluppo del progetto, che nella fase di scrittura dell elaborato e per i tanti consigli. Un grazie anche a Martin Witzel, per aver sopportato le mie lacune ad inizio stage e per avermi invogliato e inserito nei progetti, rispondendo alle molte, forse troppe, domande. Un grazie a tutti gli amici conosciuti Olga, Bita, Gianpaolo, Consuelo, Michael, Augusta, Arben, e Andrea con i quali ho trascorso, con chi più e con chi meno, questo anno di lavoro, tra stage e tesi. Ed eccoci ai ringraziamenti meno formali e più goliardici verso gli amici di università e non. Grazie a Secco, Perzem, Paru compagni inseparabili nelle lunghe e troppo mattutine trasferte verso la facoltà di Povo e nei lunghi e troppo mattutini rientri a casa post-serata. Grazie a tutta la Calimocho Boys Band (+Giò) e ai Daft Punk (il più bel concerto di sempre ) per aver trasformato questa estate, all inizio poco invitante, in una estate indimenticabile. Grazie a Cesenatico Grazie agli amici ormai di vecchia data, quelli veri, che hanno arricchito la mia vita e che continuano a farlo: Massimella, Mit, Toss, Mecchenzie, Otzi, Bettina, Matteo, Giulia, Cannamozza, le sorelle Gamberinus, Toldo Veramente grazie a Giulia, per esserci sempre (o quasi), per ricordarmi la bellezza delle piccole cose, per l entusiasmo che sai metter in tutto, ma soprattutto Grazie per le traduzioni. Potrei continuare con i ringraziamenti per molte pagine, ma sono sicuro che chi non ho citato non se la prenderà se lo segni e me lo ricordi alla prossima Laurea! Michele 3

4 Indice 1. Introduzione Definizioni, Acronimi e Abbreviazioni Riferimenti Anteprima Requisiti e Tools di Sviluppo Java e IDE Utilizzati Eclipse JBuilder PostgreSQL OpenGL JOGL Stato dell Arte GIS Applicativi GoogleEarth API WorldWind Funzionalità Avanazate per la Trasmissione di Dati Georeferenziati Introduzione allo Standard GeoRSS Specifiche GeoRSS Applicazione per la Gestione di Dati GeoRSS attraverso Database OpenGL Introduzione a OpenGL Modello di Macchina a Stati 5.3. Principali Primitive Texturing Blending JOGL OpenGL per Java Personalizzazione Ambiente Tridimensionale Gestione Trasparenze Tematismo Gestione Informazioni GeoRSS Conclusioni Campi d Impiego Possibili Sviluppi ScreenShots Bibliografia 87 4

5 1. Introduzione Il corso di studi in Informatica dell Università di Trento, prevede lo svolgimento di uno stage, per permettere agli studenti una più completa formazione universitaria in vista di un futuro inserimento nel campo lavorativo. Dopo un interessante colloquio con il mio tutor universitario, professor Ronchetti Marco, ed aver deciso l ambito del tirocinio, su suggerimento dello stesso, mi sono messo in contatto con la Fondazione GraphiTech. La Fondazione GraphiTech, Center for Advanced Computer Graphics Technologies, è stata costituita come joint venture tra la Fondazione INI- GraphicsNet (www.inigraphics.net), il Centro per la Ricerca Scientifica e Tecnologica (ITC-irst) (www.itc.it) e l'università di Trento (www.unitn.it) al fine di incentivare sul territorio trentino iniziative di ricerca scientifica e tecnologica nel campo della computer graphics e di favorire il trasferimento tecnologico e lo sviluppo della cultura imprenditoriale in questo settore disciplinare. La Fondazione, collabora con enti, società sia pubblici che privati, sia italiani che stranieri, per promuovere e organizzare attività ed iniziative di ricerca scientifica e tecnologica, di trasferimento delle conoscenze, di promozione e sviluppo della cultura imprenditoriale, dello sviluppo economico, sociale e culturale, il tutto con preminente riferimento all area della Provincia Autonoma di Trento, ma senza che ciò comporti limitazioni territoriali. Le attività ed iniziative spaziano anche nel campo imprenditoriale, volte ad agevolare ed incentivare l implementazione, l applicazione e l industrializzazione, sia nel mondo delle imprese sia della pubblica amministrazione, di idee, innovazioni, konw-how, tecnologie, esperienze e competenze sviluppati dall Università, da altri istituti o enti che abbiano svolto attività di ricerca. A tale fine, l azienda partecipa anche a progetti finanziati dall Unione Europea (UE), dalla Repubblica Italiana (RI) e da altri enti e organizzazioni, sia pubblici che privati che mirano a favorire il trasferimento tecnologico alle imprese facilitandone l avviamento e lo sviluppo. GraphiTech è un azienda orientata principalmente all innovazione, Ricerca e Sviluppo nella vasta area della Advanced Computer Graphics (ACG), della Virtual Reality (VR), della Mixed Reality (MR) e delle tecnologie dell informazione e della comunicazione Information and Comunication Systems (ICS). Dopo aver svolto l attività di stage sul progetto europeo Improve, riguardante la visualizzazione e la comunicazione tra clients in ambiente virtuale collaborativo ( ), ho deciso di continuare il mio percorso di formazione in GraphiTech, svolgendo anche il mio progetto di tesi. L ambito progettuale sul quale ci si è indirizzati è stata la modifica e implementazione di alcune funzionalità del software base World Wind per permettere la visualizzazione e la trasmissione di dati georeferenziati. Il prodotto derivato prenderà nome di Project Anna. Project Anna è una personalizzazione e ottimizzazione della libreria open-source World Wind, sviluppata dalla NASA, che permette di visualizzare immagini e oggetti tridimensionali di qualsiasi zona del pianeta, combinando foto satellitari, aeree e dati SRTM (Shuttle Radar Topography Mission). 5

6 Numerosi sono i software per la visione e navigazione delle mappe satellitari, La parte riguardante la trasmissione dei dati georeferenziati, invece, avviene grazie al supporto dell innovativo formato GeoRSS. Si tratta di un formato leggero e basato su XML ideato con lo scopo di georeferenziare il contenuto dei feed RSS. Il percorso di sviluppo di tesi è stato sostanzialmente diviso in due parti: 1. La fase di implementazione dell applicazione per la gestione di un database di dati GeoRSS. 2. La fase di sviluppo di Project Anna per supportare alcune nuove funzionalità rispetto alla versione base. Entrambi le fasi sono state precedute da un periodo di ricerca e comprensione degli obiettivi finali da raggiungere e delle tecniche migliori da adottare per affrontare lo sviluppo dell applicazione. Nella prima parte le lacune su alcuni concetti dell interazione tra linguaggio Java e database sono stato abbastanza rapidamente colmate, invece le difficoltà pervenute in Project Anna sono state decisamente più consistenti e sono state superate con diversi tentativi pratici e con lo studio del codice, molto vasto e a tratti complicato. Gli obiettivi preposti sono stati, comunque, raggiunti e saranno una buona base per un ulteriore sviluppo del progetto che GraphiTech continuerà a portare avanti Definizioni, Acronimi e Abbreviazioni API (Application Programming Interface): insieme di procedure disponibili al programmatore, raggruppate a formare un set di strumenti specifici per un determinato compito. ARB (Architectural Review Board): consorzio indipendente fondato nel 1992 che governa le specifiche OpenGL e che ha approvato la più famosa ed utilizzata tra le librerie di estensioni, denominata appunto ARB. Essa comprende funzioni e comandi stabili, supportati dalla maggior parte degli hardware. BSD (Berkeley Software Distribution): famiglia di licenze permissive per software. Molte sono considerate libere ed open source. Il loro nome deriva dal fatto che la licenza BSD originale fu usata originariamente per distribuire il sistema operativo Unix Berkeley Software Distribution, una revisione libera di UNIX sviluppata presso l'università di Berkeley. CVS (Concurrent Versioning System): sistema per il controllo delle versioni di un progetto software. Molto utilizzato in ambiente GNU/Unix, ed ovviamente in ambiente Linux, sta acquistando molta popolarità tra gli sviluppatori di tutto il mondo in quanto utilizzato da tutti i maggiori team di sviluppo dei progetti GNU. CVS permette di creare una history di tutti i sorgenti, registrando ogni modifica, ed associando ad ogni sorgente un numero di revisione comprensivo di un breve commento sulle modifiche apportate. Con CVS, è inoltre possibile recuperare, in ogni momento, qualsiasi versione precedente del progetto per poterla modificare, ed è stato disegnato per essere utilizzato da un team di sviluppo, garantendo che i sorgenti restino sempre consistenti, impedendo che le modifiche apportate da uno sviluppatore vengano soprascritte da altri. Infine, permette di esportare le differenze fra due release diverse dello stesso progetto, creando i famosi file di patch. DBMS (Database Management System): sistema software progettato per consentire la creazione e manipolazione efficiente di database, ovvero di collezioni di dati strutturati. 6

7 DirectX (in origine chiamata "Game SDK"): è una collezione di API per lo sviluppo semplificato di videogiochi per Windows. Il kit di sviluppo (SDK) è disponibile gratuitamente sul sito della Microsoft. Le DirectX venivano distribuite dai produttori di giochi stessi insieme al videogioco, ma sono ora incluse direttamente in Windows. DOM (Document Object Model): un interfaccia neutrale che permette ai programmi e agli script di accedere dinamicamente ai documenti. Tale interfaccia permette di aggiornare il contenuto, la struttura e lo stile dei documenti. DTM (Digital Terrain Model): modello digitale del terreno, raster (griglia) o vettoriale, ricavato dalla scansione di fotografie aeree o satellitari. GEORSS (Geographically Encoded Objects for RSS feeds): formato leggero e basato anch esso su XML ideato con lo scopo di georeferenziare il contenuto dei feed RSS. GIS (Geographic Information System): sistema informativo computerizzato che permette l'acquisizione, la registrazione, l'analisi, la visualizzazione e la restituzione di informazioni derivanti da dati geografici georeferenziati. GL (Graphics Library): libreria OpenGL di base, contiene codice per oggetti geometrici primitivi, attributi, trasformazioni, colore, illuminazione... GLU (Graphics Library Utilities): contiene codice per oggetti non primitivi di uso comune (es. sfere), ed altre funzioni di utilita', implementate su GL. GLUT (Graphics Library Utility Toolkit): funzionalità minimali per dotare un programma che fa grafica in OpenGL di un'interfaccia utente in un ambiente a finestre. GML (Geography Markup Language): grammatica XML definita dal OGC per esprimere oggetti geografici. Serve come linguaggio di modellazione e di interscambio di dati via Internet. Molto più ampio del formato GeoRSS. GUI (Graphical User Interface): paradigma di sviluppo che mira a consentire all'utente di interagire col calcolatore manipolando graficamente degli oggetti, svincolandolo dall'obbligo di imparare una serie di comandi da impartire con la tastiera. È lo strato di un'applicazione software che si occupa del dialogo con l'utente del sistema utilizzando un ambiente grafico. IDE (Integrated Development Environment): software che aiuta i programmatori nello sviluppo del software. Normalmente consiste in un editor di codice sorgente, un compilatore e/o un interprete, un tool di building automatico, (solitamente) un debugger e designer per GUI. 7

8 JDBC (Java DataBase Connectivity): middleware per database che consente l'accesso alle basi di dati da qualsiasi programma scritto con il linguaggio di programmazione Java, indipendentemente dal tipo di DBMS utilizzato. È costituito da una API, raggruppata nel package java.sql, che serve ai client per connettersi a un database. Fornisce metodi per interrogare e modificare i dati. È orientata ai database relazionali ed è Object Oriented. JDK (Java Development Kit): è il corredo di sviluppo del Java, comprende compilatore Java e alcuni applicativi che permettono agli utenti di generare le applicazioni in Java. JOGL (Java OpenGL): libreria a basso livello per la programmazione OpenGL con supporto Java simile alla libreria GLUT per il C++. Khronos Group: consorzio industriale focalizzato nella creazione di API a standard aperto COLLAD, OpenGL ES, OpenMAX, OpenVG, OpenSL ES e OpenML per rendere possibile l'authoring e l'accelerazione di elementi multimediali dinamici su una grande varietà di piattaforme e dispositivi. KML (Keyhole Markup Language):un linguaggio basato su XML creato per gestire dati geospaziali in tre dimensioni nei programmi Google Earth, Google Maps e Google Mobile. La parola keyhole è un vecchio nome che viene dal software da cui deriva Google Earth. NASA (National Aeronautics and Space Administration): agenzia governativa civile responsabile per il programma spaziale degli Stati Uniti d'america e per la ricerca aerospaziale civile e militare. Obiettivo delle API è ottenere un'astrazione, di solito tra l'hardware e il programmatore, o tra software a basso ed alto livello. OGC (Open Geospatial Consortium): organizzazione internazionale no-profit, basata sul consenso volontario, che si occupa di definire specifiche tecniche per i servizi geospaziali e di localizzazione (location based). OGC è formato da oltre 280 membri (governi, industria privata, università) con l'obiettivo di sviluppare ed implementare standard per il contenuto, i servizi e l'interscambio di dati geografici che siano "aperti ed estensibili. OpenGL (Open Graphics Library): specifica che definisce una API per più linguaggi e per più piattaforme per scrivere applicazioni che producono computer grafica 2D e 3D. Pipeline: Il termine pipeline in informatica e in elettronica si riferisce a un manufatto composto da più elementi. Ogni elemento provvede a ricevere in ingresso un dato o un segnale, ad elaborarlo e poi a trasmetterlo all'elemento successivo. RAD (Rapid Application Development): metodologia di sviluppo del software introdotta inizialmente da James Martin negli anni ottanta. Questa metodologia coinvolge modelli di sviluppo iterativi, la costruzione di prototipi e l'utilizzo di strumenti CASE 8

9 Raster: Metodologia per la codifica delle informazioni che utilizza come elemento base una matrice ordinata di righe e colonne composta da celle (o pixel) aventi forma regolare (generalmente quadrata). A ogni cella viene associato un valore relativo a un determinato attributo. Le immagini digitali hanno struttura raster. Rasterizing: La rasterizzazione è il lavoro di convertire un immagine bidimensionale descritta da vettori (in grafica vettoriale), in un immagine raster o bitmap, ovvero formata da pixels. Questo lavoro è effettuato sia per ottenere un immagine proiettabile su dispositivi video, come i monitors, sia per la stampa. RDF(Resource Description Framework.): formato strutturato per la diffusione delle informazioni sul web. Creato secondo le direttive del W3C per la descrizione dei metadati relativi alle risorse. Questa struttura è una delle proposte alla base del cosiddetto web semantico e permette la condivisione di informazioni via web. RSS (RDF Site Summary e Really Simple Syndication): uno dei più popolari formati, per la distribuzione di contenuti Web, basati su XML, da cui ha ereditato semplicità, l'estensibilità e la flessibilità. SAX (Simple API for XML): interfaccia standard per il parsing XML basato su eventi, sviluppato in collaborazione dai membri della mailing list XML-DEV, attualmente presentato da OASIS. Shapefile ESRI: è un popolare formato vettoriale per sistemi informativi geografici. Emesso come (quasi) open source, allo scopo di accrescere l'interoperabilità fra i sistemi ESRI e altri GIS. Di fatto è diventato uno standard per il dato vettoriale spaziale, e viene usato da una grande varietà di sistemi GIS. SQL (Structured Query Language): linguaggio creato per l'accesso e la manipolazione delle informazioni memorizzate in database. SWT (Standard Widget Toolkit): libreria di classi Java derivata da Eclipse che permette di creare interfaccie grafiche native, utilizzando quindi oggetti del sistema operativo utilizzato. Syndication: usato in termini giornalistici indica la vendita attraverso un agenzia di stampa. In termini informatici indica il contratto tra chi pubblica e chi diffonde notizie via web. TIN (Triangulated Irregular Networks): è una struttura dati vettoriale basata su triangoli con maglia irregolare, capace di fornire elevata risoluzione solo dove questa è necessaria. UML (Unified Modeling Language): linguaggio di modellazione e specifica basato sul paradigma objectoriented. USGS (United States Geological Survey): è un'agenzia scientifica del Governo degli Stati Uniti. Gli scienziati dell'usgs studiano il territorio degli USA, le sue risorse naturali e i rischi naturali che lo minacciano. L'organismo si suddivide in dipartimenti che trattano quattro maggiori discipline scientifiche, biologia, geografia, geologia e idrologia. 9

10 W3C(World Wide Web Consortium): associazione, di circa 300 membri, tra cui le più famose multinazionali informatiche, con lo scopo di migliorare i protocolli e linguaggi esistenti per il World Wide Web e favorire lo sviluppo del Web stesso aiutandolo a mettere in mostra tutte le sue potenzialità. WMS (Web Map Service): con WMS si intende una specifica tecnica definita dall'ogc: OpenGIS Web Map Service Implementation Specification. Un OGC Web Map Service (WMS) produce dinamicamente mappe di dati spazialmente riferiti a partire da informazioni geografiche. Questo standard internazionale definisce una "mappa" come rappresentazione di informazioni geografiche restituendo un'immagine digitale idonea ad essere visualizzata sullo schermo di un computer. XML (extensible Markup Language): metalinguaggio creato e gestito dal W3C. La struttura dell'xml è composta da tag creati dallo sviluppatore, che hanno due caratteristiche: devono essere comprensibili e devono rispettare le regole di assegnazione dei nomi alle variabili, comuni a tutti i linguaggi di programmazione. XSD (XML Schema Definition): schema di definizione della struttura di un documento XML realizzato dal W3C. In pratica un documento XML rispetterà la struttura, definita nello Schema XML Riferimenti Descrizione del progetto. A cura della Fondazione GraphiTech. Documentazione per Sviluppatori del progetto World Wind. A cura della NASA. 10

11 1.3. Anteprima In sezione 2, si riportano i Requisiti da soddisfare per utilizzare l applicazione e i Tools di sviluppo adottati. In sezione 3, si illustra lo Stato dell Arte del progetto. In sezione 4, si illustra il formato GeoRSS e l applicazione sviluppata per la gestione del Database. In sezione 5, si riportano le caratteristiche principali della libreria grafica OpenGL e di quella JOGL per Java. In sezione 6, si descrive la Personalizzazione dell Ambiente Tridimensionale sviluppato. In sezione 7, si traggono le Conclusioni, i Futuri Sviluppi e i possibili Campi d Impiego. In sezione 8, vengono riportati alcuni ScreenShot dell applicazione. In sezione 9, si delinea la Bibliografia di riferimento. 2. Requisiti e Tools di Sviluppo Di seguito vengono riportate caratteristiche principali, requisiti e tools utilizzati durante la fase implementativa del progetto di tesi. Alcune caratteristiche elencate vengono riportate per una completa visione d insieme degli strumenti adottati, ma non rientrando nell ambito del progetto non sono state utilizzate Java e IDE Utilizzati Il modello classico di programmazione, conosciuto come paradigma procedurale, può essere riassunto in due parole: Divide et Impera ossia dividi e conquista. Difatti secondo questa filosofia, un problema complesso viene suddiviso in problemi più semplici in modo che siano facilmente risolvibili mediante programmi procedurali. E chiaro che in questo caso, l attenzione del programmatore è accentrata al problema con le limitazioni che l architettura del calcolatore impone. A differenza del primo, il paradigma Object Oriented accentra l attenzione verso i dati. L applicazione viene suddivisa in un insieme di oggetti in grado di interagire tra di loro e codificati in modo tale che la macchina sia in gradi di comprenderli. Il primo cambiamento evidente è quindi a livello di disegno della applicazione. Di fatto l approccio Object Oriented non è limitato a linguaggi come Java o C++. Molte applicazione basate su questo modello sono state scritte con linguaggi tipo C o Assembler. Un linguaggio Object Oriented semplifica il meccanismo di creazione degli Oggetti allo stesso modo con cui un linguaggio procedurale semplifica la decomposizione in funzioni. Gli elementi fondamentali di tale paradigma sono gli oggetti che vengono, in un primo momento definiti, descrivendone le caratteristiche, poi creati e allocati in memoria ed infine vengono usati in relazione l'uno con l'altro. L analisi delle modalità di interazione tra gli oggetti permetterà di riunire gli oggetti a formare l applicazione. È possibile, quindi, stabilire una basilare distinzione tra i due metodi di programmazione: Nella programmazione tradizionale (o imperativa), i problemi vengono affrontati rivolgendo l'attenzione alle operazioni da svolgere: si cerca una decomposizione funzionale del problema. 11

12 Nella programmazione ad oggetti, si vuole innanzitutto stabilire quali sono le entità che interagiranno tra loro, ricreando un modello adatto per descrivere il problema da risolvere. Tali entità sono gli oggetti con determinate caratteristiche (attributi) e determinate funzionalità (metodi). Con l aumento delle prestazione dei calcolatori e di conseguenza con l aumento della complessità delle applicazioni, l approccio procedurale ha iniziato a mostrare i propri limiti rendendo necessario definire un nuovo modello e nuovi linguaggi di programmazione. I linguaggi come Java e C++ forniscono il supporto ideale al disegno ad oggetti di applicazioni fornendo un insieme di regole sintattiche e semantiche che aiutano nello sviluppo di oggetti. Evoluzione del Modello di Programmazione Il linguaggio Java inizia la sua evoluzione durante l aprile del 1991, quando un gruppo di impiegati della Sun Microsystem, conosciuti come Green Group, iniziarono a studiare la possibilità di creare una tecnologia in grado di integrare le allora attuali conoscenze nel campo del software con l elettronica di consumo. Avendo subito focalizzato il problema sulla necessità di avere un linguaggio indipendente dalla piattaforma (il software non doveva essere legato ad un particolare processore) il gruppo iniziò i lavori nel tentativo di creare un linguaggio che estendesse il C++ (la sintassi infatti è simile). La prima versione del linguaggio fu chiamata Oak e, successivamente per motivi di royalty??, Java. Cronologia Versioni Java Rilasciate JDK Settembre 1997 J2SE Maggio 2000 JDK Dicembre 1997 J2SE Maggio 2001 JDK Aprile 1998 J2SE Febbraio 2002 JDK Settembre 1998 J2SE Settembre 2002 JDK Aprile 1999 J2SE Giugno 2003 J2SE Dicembre 1998 J2SE 5.0(1.5.0) 29 Settembre 2004 J2SE Marzo 1999 Java SE 6 (1.6.0) 11 Dicembre 2006 J2SE Luglio 1999 Java SE 7 (1.7.0) Prevista per il 2008 Attraverso una serie di eventi, quella che era la direzione originale del progetto subì vari cambiamenti ed il target fu spostato dall elettronica di consumo al world wide web. Il 23 Maggio del 1995 la Sun ha prsentato formalmente Java. Da quel momento in poi il linguaggio è stato adottato da tutti i maggiori vendors di software incluse IBM, Hewlett Packard e Microsoft. 12

13 Java fu inizialmente rilasciato come Java Development Kit 1.0 (JDK 1.0). Java Development Kit è un insieme di strumenti ed utilità ed è messo a disposizione gratuitamente da tanti produttori di software. L insieme base o standard delle funzionalità è supportato direttamente da Sun Microsystem ed include un compilatore (javac), una Java Virtual Machine (java), un debugger e tanti altri strumenti necessari allo sviluppo di applicazioni Java. Inoltre il JDK comprende, oltre alle utilità a linea di comando, un completo insieme di classi pre-compilate e relativo codice sorgente. Successivamente, Sun fornì un pacchetto che comprendeva solo Java Runtime, chiamato Java RunTime Environment (JRE) che permetteva agli utenti finali di far girare applicazioni scritte in Java. Normalmente gli utenti si riferiscono ad una particolare versione di Java attraverso la versione del JDK (es. JDK 1.4) Le versioni JDK 1.2 e successive sono spesso chiamate Java 2. il nome ufficiale è quindi diventato Java(TM) 2 Platform, Standard editino (J2SE). Dalla prima versione del JDK il linguaggio non è stato sottoposto a grandi cambiamenti, ma la libreria di classi che viene fornita con JDK è stata progressivamente ampliata e modificata in alcune parti ed è stata creata una grande quantità di documentazione per poter usufruire al meglio della vastità di classi già implementate. La documentazione è generalmente distribuita separatamente, è rilasciata in formato HTML e scaricabile dal sito: e copre tutto l insieme delle classi rilasciate con il JDK. Java è stato creato cercando di tenere presente alcuni concetti fondamentali che stavano emergendo agli inizi di quegli anni e che sono, successivamente, diventati suoi punti di forza. Diamo ora una veduta d insieme delle principali e più famose caratteristiche di Java: 1. Affinità con il C e il C++ La similitudine sintattica con il più diffuso linguaggio di programmazione è grande; per esempio, le istruzioni for, if, else sono del tutto analoghe a quelle del C. Inoltre, per rendere il linguaggio più semplice e lineare, sono state eliminate in Java alcune caratteristiche del C e del C++, come le funzioni di allocazione e di liberazione della memoria e l'ereditarietà multipla. Altra caratteristica di Java sono le dimensioni ridotte del software, in modo che esso possa funzionare anche su sistemi molto piccoli. L'interprete, le classi e le "librerie" Java di base non superano nel loro complesso i 250 Kbytes. 2. Semplicità Il linguaggio Java è stato progettato per essere semplice. I programmatori della Sun ritengono che il C++ sia un linguaggio ridondante. Esso infatti deriva dal C, che non è orientato all'oggetto, a cui sono state aggiunte le classi al fine di creare un linguaggio orientato all'oggetto. La conseguenza di ciò è che inevitabilmente il C++ possiede caratteristiche che appartengono al C e che non rientrano nella filosofia dei linguaggi orientati all'oggetto. Per questa ragione, tutte le caratteristiche del C++ ritenute ridondanti sono state tolte da Java, in modo che quest'ultimo potesse divenire un linguaggio di programmazione più snello e facile da leggere. 3. Linguaggio orientato all'oggetto (Object-oriented) Per essere considerato orientato all'oggetto, un linguaggio di programmazione in linea di principio deve possedere almeno questi quattro requisiti: Incapsulamento: è possibile rendere riservata o astratta parte dell'informazione. Polimorfismo: gli stessi dati passati a oggetti differenti hanno effetti diversi a seconda dell'oggetto coinvolto. Ereditarietà: si possono definire classi sulla base di altre classi. Collegamento dinamico: gli oggetti possono provenire da qualsiasi luogo, compresa la rete. Java soddisfa piuttosto bene a queste quattro esigenze. 13

14 4. Gestione automatica della memoria In ogni programma Java è sempre attivo un thread a bassa priorità, detto Automatic Garbage Collection, che provvede ad analizzare la memoria e a liberare quella che non è utilizzata. Una volta che un oggetto è stato creato, il Garbage Collector in fase di esecuzione osserva la vita dell'oggetto e provvede a liberare la memoria occupata quando essa non viene più utilizzata dall'oggetto in questione. Ciò solleva il programmatore dal provvedere alla gestione della memoria, compito questo che in C e C++ conduce spesso all'introdurre errori che si verificano in fase di esecuzione dei programmi. 5. Neutralità all'architettura La neutralità dell'architettura rappresenta una caratteristica importante in un mondo informatico sempre maggiormente popolato dai più svariati sistemi hardware e sistemi operativi. Con la fortissima crescita delle reti telematiche questa esigenza è divenuta ancora più pressante. Inoltre, per sviluppare prodotti software per il World Wide Web, la neutralità dall'architettura costituisce un parametro assolutamente indispensabile. Java tenta di risolvere il problema adottando lo slogan: Write once, Run everywhere e affida l'esecuzione dei suoi programmi ad una macchina virtuale. Più specificatamente, un sorgente Java viene tradotto dal compilatore Java (javac) non in istruzioni macchina reali, ma in istruzioni macchina virtuali, i bytecodes. Sarà compito poi della macchina virtuale Java (l'interprete Java) di leggere ed eseguire queste istruzioni tramite la generazione "run time" del codice macchina reale specifico per il sistema su cui il programma Java viene eseguito. Portabilità del Codice Java 6. Linguaggio Robusto L'assenza di puntatori, il fatto che stringhe e array siano oggetti e la gestione automatica della memoria, conferiscono a Java una robustezza particolare. Oltre a ciò, il compilatore Java individua molte situazioni in cui un programma potrebbe provocare problemi e grazie ad un sistema per la gestione delle eccezioni riesce ad evitare moltissimi errori di esecuzione. 7. Dinamicità Java, permette di aggiornare le "librerie" di classi senza costringere gli utenti alla ricompilazione dei programmi. Alle classi in "libreria" si possono infatti aggiungere metodi e variabili senza che questo abbia effetto sui vecchi programmi. Ciò è possibile grazie al fatto che ogni classe in Java ha anche una rappresentazione "runtime" (bytecodes), la quale permette di individuare comunque il tipo di oggetti che l'utente richiede. 14

15 8. Sicurezza Siccome Java è stato progettato per funzionare in ambienti distribuiti o di rete, la sicurezza è un parametro molto importante. In fatto di sicurezza, Java offre innanzitutto la sue caratteristiche strutturali, ma oltre a ciò, Java è stato dotato di altre caratteristiche che provvedono ad aumentarne la sicurezza: la verifica dei bytecodes, la verifica durante il caricamento delle classi, l interfacciamento sicuro con i protocolli Internet ed in fine la crittografia. 9. Linguaggio distribuito Java possiede molte librerie (class java.net.*) che permettono facilmente l'accesso a risorse remote tramite protocolli basati sul TCP/IP, come lo HTTP. Tramite URL (class java.net.url) una applicazione Java può accedere a oggetti remoti come se essi fossero collocati su file presenti nel sistema ove essa funziona. 10. Linguaggio MultiThreading Java è un linguaggio Multi-Threaded. Il Multi-Threading consente ad applicazioni Java di sfruttare il meccanismo di concorrenza logica. Parti separate di un programma possono essere eseguite come se fossero (dal punto di vista del programmatore) processate parallelamente. 11. Interazione con i Browser per Internet Java possiede una classe apposita classe (class Applet) che permette di inserire in un documento HTML riferimenti ad applicativi (Applet) che possono essere eseguiti a distanza dai più diffusi browser. 12. Vasta scelta di Librerie e Standardizzazione Java possiede un enorme libreria di classi standard che forniscono al programmatore la possibilità di operare su funzioni comuni di sistema come la gestione delle finestre, dei collegamenti in rete e dell input/output. Il pregio fondamentale di queste classi sta nel fatto che rappresentano un astrazione indipendente dalla piattaforma, per un ampia gamma di interfacce di sistema utilizzate comunemente. Grazie ad alcune delle caratteristiche che il linguaggio offre, soprattutto per quel che riguarda la distribuzione su World Wide Web e grazie alla scelta di numerose librerie utilizzabili, GraphiTech ha deciso di appoggiarsi a Java per sviluppare il suo progetto e di conseguenza il lavoro di tesi si è basato su questo linguaggio. La versione Java adottata è l ultima finora rilasciata J2SE 6 con JRE scaricabile dal sito ufficiale della Sun Microsystem: Per sviluppare programmi in Java è teoricamente sufficiente un qualsiasi editor di testo. Per un programmazione abbastanza estesa e complicata esistono diversi IDE (Integrated Development Environment, ambiente di sviluppo integrato), alcuni gratuiti ed altri a pagamento Eclipse Eclipse è un progetto open source legato alla creazione e allo sviluppo di una piattaforma di sviluppo ideata da un consorzio di grandi società quali Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP e Serena Software, chiamato Eclipse Foundation, e creata da una comunità strutturata sullo stile dell'open source. Pur essendo orientata allo sviluppo del progetto stesso, questo IDE è utilizzato anche per la produzione di software di vario genere. Si passa infatti da un completo IDE per il linguaggio Java ad un ambiente di sviluppo per il linguaggio C++ e a plug-in che permettono di gestire XML, PHP e persino di progettare graficamente una GUI per un applicazione JAVA, rendendo di fatto Eclipse un ambiente RAD. 15

16 Il programma è scritto in linguaggio Java, ma anziché basare la sua GUI sulla libreria Swing di Java, il toolkit grafico di Sun Microsystems, si appoggia sul SWT, librerie di nuova concezione che conferiscono ad Eclipse una straordinaria reattività. Eclipse è strutturato con un'architettura a plug-in che permette l'aggiunta di ulteriori funzionalità semplicemente scaricando ed installando il relativo pacchetto. Inoltre grazie alla sua licenza open source chiunque può sviluppare e modificare i vari plug-in apportando così migliorie e nuove caratteristiche ad una piattaforma già notevolmente avanzata. Nella versione base è possibile programmare in Java, usufruendo di comode funzioni di aiuto quali: completamento automatico, suggerimento dei tipi di parametri o dei metodi, possibilità di accesso diretto a CVS e riscrittura automatica del codice in caso di cambiamenti nelle classi. Nel progetto di tesi, Eclipse è stato utilizzato come software principale per la personalizzazione dell ambiente virtuale di Project Anna, in quanto già adottato da GraphiTech per altri progetti. Essendo scritto in Java, Eclipse è disponibile per le piattaforme Linux, HP-UX, AIX, MacOSX e Windows. La versione di Eclipse è scaricabile dalla pagina web: JBuilder Uno degli IDE commerciali più diffusi è JBuilder prodotto dalla Borland. JBuilder è un IDE per lo sviluppo in Java prodotto da Borland e disponibile per i sistemi operativi Windows, Linux e Solaris. Fu introdotto sul mercato nel 1997, e da allora ha ricevuto numerosi premi internazionali come IDE più avanzato per lo sviluppo in Java. Dal progetto JBuilder sono anche derivati altri strumenti di successo, come JDeveloper di Oracle (basato su JBuilder) e Together (inizialmente concepito come plug-in di JBuilder e poi evoluto a prodotto indipendente). Per lo sviluppo della gestione database, contenente i dati georeferenziati, e per la creazione dell interfaccia grafica dell applicazione è stato utilizzato, grazie al suo designer integrato, Borland JBuilder 2006 in licenza gratuita Personal Edition e scaricabile dal sito: Al già avanzato IDE di JBuilder, in questa versione si aggiungono, capacità di collaborazione peer-to-peer che consentono ai team sempre più distribuiti di utilizzare la "programmazione tra colleghi virtuali", un importante aggiornamento del suo ambiente, leader di mercato, progettato per velocizzare lo sviluppo di applicazioni Java aziendali di classe industriale. JBuilder inoltre consente agli sviluppatori di ottimizzare migliaia di plug-in di terze parti, nonché di creare miglioramenti personalizzati. È possibile creare processi di workflow flessibili e personalizzati per attività quali change management o individuazione dei difetti, in modo da ottimizzare la produttività senza l'imposizione di rigide strutture. I team possono inoltre configurare personalità IDE per semplificare e personalizzare l'interfaccia di ogni progetto. La famosa case produttrice di JBuilder, la Borland è stata fra i membri fondatori della Eclipse Foundation, infatti la nuova versione di JBuilder 2007 è basata sulla piattaforma open source Eclipse, nonostante resti un prodotto commerciale a tutti gli effetti. 16

17 2.2. PostgreSQL PostgreSQL è un completo database relazionale ad oggetti con licenza libera stile (BSD). PostgreSQL è un'ottima alternativa rispetto ad altri prodotti a codice chiuso come Oracle, Informix o DB2. Offre caratteristiche uniche nel suo genere che lo pone per alcuni aspetti all'avanguardia nel settore dei database. PostgreSQL usa il linguaggio SQL per eseguire delle query sui dati. Questi sono conservati come una serie di tabelle con chiavi esterne che servono a collegare i dati correlati. La programmabilità di PostgreSQL è il suo principale punto di forza ed il principale vantaggio verso i suoi concorrenti: PostgreSQL rende più semplice costruire applicazioni per il mondo reale, utilizzando i dati prelevati dal database. I database SQL conservano dati semplici in tabelle, richiedendo che sia l'utente a prelevare e raggruppare le informazioni correlate utilizzando le query. PostgreSQL permette agli utenti di definire nuovi tipi basati sui normali tipi di dato SQL, permettendo al database stesso di comprendere dati complessi. PostgreSQL, inoltre, permette l'ereditarietà dei tipi, uno dei principali concetti della programmazione orientata agli oggetti. Inoltre la logica relazionale viene applicata direttamente dal server di database in una volta, riducendo il passaggio di informazioni tra il client ed il server incrementando le prestazioni. L incremento dell'affidabilità, è dovuto, invece alla centralizzazione del codice di controllo sul server, non dovendo gestire la sincronizzazione della logica tra molteplici client e i dati memorizzati sul server. Inserendo livelli di astrazione dei dati direttamente sul server, il codice del client può essere più snello e semplice. Questi vantaggi fanno di PostgreSQL, probabilmente, il più avanzato sistema database dal punto di vista della programmabilità, il che aiuta a spiegare il suo successo. Utilizzare PostgreSQL può ridurre fortemente il tempo totale di programmazione di molti progetti, con i vantaggi suddetti che crescono con la complessità del progetto stesso. In particolare, nel caso affrontato, PostgreSQL è stato introdotto sia per la sua caratteristica di avvicinamento alla programmazione ad oggetti, sia per la plug-in di supporto per la dichiarazione di dati georeferenziati, PostGIS. Grazie a PostGIS, sviluppato dalla Refractions Research Inc. come progetto di ricerca sulla tecnologia spaziale per i database, si possono manipolare ed usare diverse geometrie: point, line, polygon, multipoint, multiline, multipolygon e geometrycollections. Attualmente PostGis è integrato al database PostgreSQL scaricabile dal sito ufficiale: La plug-in per la georeferenziazione è scaricabile anche separatamente dalla pagina web: Per il progetto di tesi, si è deciso di avvalersi anche di PGAdminIII, software per la visualizzazione e gestione grafica dei database PostgreSQL. PGAdminIII è un tool gratuito ad interfaccia grafica, sviluppato da una comunità di esperti PostgreSQL, scaricabile dal sito: di notevole aiuto per la facilità d uso e la velocità di inserimento dei dati OpenGL OpenGL è una potente libreria grafica che risolve si pone il compito di interfacciarsi con l'hardware e fornire al programma client una serie di primitive, più o meno essenziali, per lo sviluppo di applicazioni nel campo del rendering tridimensionale. 17

18 Queste primitive comprendono funzioni per la manipolazione dei pixel, per la proiezione di poligoni in 3D e per la gestione del movimento degli stessi, per la rappresentazione di luci e colori, per il Texture mapping etc. Il prefisso Open sta ad indicare che OpenGL è una architettura aperta, ciò significa che il suo sviluppo è curato non da una singola azienda, ma da una associazione di industrie leader del settore (ATI, Compaq, IBM, nvidia, Hewlett- Packard, Silicon Graphics) che hanno dato vita all'arb (Architectural Review Board). Questa organizzazione, nata nel 1992, ha avuto il compito di sviluppare e standardizzare gli aggiornamenti di OpenGL fino al 2006, quando gli standards OpenGL sono entrati a far aperte del Khornos Group che sostituisce la funzione della precedente associazione ARB. Una delle peculiarità di OpenGL che la distingue immediatamente dalle sue rivali (ad esempio DirectX di Microsoft) è la portabilità. Infatti è disponibile su tutte le piattaforme più diffuse, Unix, Linux, Windows, Mac, Solaris etc. OpenGL è oggi una delle più valide e potenti librerie grafiche disponibili e lo dimostra il fatto che grandi Software House specializzate nel campo dei videogames l'hanno scelta per sviluppare i propri prodotti. Tra i titoli targati OpenGL troviamo Quake2, Quake3 e Doom III della ID Software, Unreal Tournament 1 e 2 della Epic Games, oppure Half Life e tanti altri. Per quanto riguarda la possibilità di utilizzare OpenGL nel proprio linguaggio preferito, nonostante essa sia stata sviluppata inizialmente per essere utilizzata attraverso il linguaggio C, è disponibile in un'ampia varietà di linguaggi tra i quali C++, Java, Delphi e il neonato C# (C sharp di Microsoft). OpenGL è scaricabile gratuitamente dai siti ufficiali delle aziende facenti parte dell ARB, ovviamente ogni azienda ha personalizzato le versioni della libreria a seconda delle proprie esigenze lasciando comunque inalterate le funzionalità base della specifica JOGL Jogl è una libreria wrapper che consente l uso delle librerie OpenGL con il linguaggio di programmazione Java. Il progetto Jogl deve essere ancora completato e la libreria è ancora sotto sviluppo da parte del Game Technology Group presso la Sun Microsystem. Jogl è l implementazione di riferimento per JSR-231 (Java Binding for OpenGL), un API disegnata a supporto delle versioni più recenti di Java dalla release J2SE 1.4 alle successive. L albero sorgente di JOGL nella sua forma corrente è, appunto, uno spazio di lavoro sperimentale per il JSR-231 Java Bindings per OpenGL. JOGL quindi, non è l implementazione ufficiale di riferimento, ma uno spazio di lavoro in evoluzione. Questa è stata la libreria di riferimento per il progetto di tesi, scaricabile dal sito web: https://jogl.dev.java.net con una vasta documentazione, numerosi esempi di utilizzo e forum. 3. Stato dell Arte Lo sviluppo continuo di tecnologie informatiche ed elettroniche permettono oggi, ad un numero sempre più elevato di persone, di utilizzare sistemi basati su realtà virtuale sempre più complessi. L utilizzo di tali ambienti spazia dai più articolati software di simulazione scientifica ai comuni videogiochi. 18

19 Sono sempre più, i campi applicativi che richiedono l ausilio di particolari software in grado di rappresentare diverse tipologie di dati all interno di scenari tridimensionali virtuali. Quest ultima area, grazie ad un enorme diffusione e un conseguente abbattimento dei costi, ha permesso di sviluppare sistemi per la simulazione di ambienti virtuali con scenari di ampi spazi aperti. Oggi questi sistemi permettono la visualizzazione d informazioni territoriali finora accessibili solo in maniera cartacea e con uno spreco di risorse elevato. Attualmente, grazie all integrazione di dati GIS con informazioni correlate a luoghi od elementi presenti su un determinato territorio, è possibile ottenere sistemi in grado di legare tali dati alla corrispettiva area geografica. La navigazione tridimensionale, la visualizzazione di mappe tematiche, la pianificazione di business in determinate regioni, sono solo alcuni aspetti facenti parte di una vasta gamma di applicazioni connesse all informazione georeferenziata. Uno dei settori che ha tratto un sicuro vantaggio dallo sviluppo di queste tecnologie è il settore turistico, che utilizza questi software per pubblicizzare e valorizzare luoghi naturali e culturali poco conosciuti GIS La definizione per delineare caratteristiche, componenti e funzionalità di un sistema GIS non è mai stata univoca, ma ha subito diverse variazioni, anche a seconda delle nuove tecnologie sviluppate e dei nuovi concetti di lavoro collaborativo tra diversi sistemi. Quella che forse esprime meglio un sistema GIS è quella di P.A.Burrough del 1986: Il GIS è composto da una serie di strumenti software per acquisire, memorizzare, estrarre, trasformare e visualizzare dati spaziali dal mondo reale. Dagli anni 80 fino ad oggi il concetto di Sistema Informativo Geografico si è evoluto, dando così di volta in volta un diverso significato alla S finale dell acronimo GIS, e cambiando anche l ambito di utilizzo del sistema: Anni 1980: Geographic Information Systems. Tecnologia per l acquisizione e la gestione di dati spaziali. software per uso professionale, es. cartografi Anni 1990s: Geographic Information Science. messa a punto dei modelli concettuali di descrizione dei dati e dei processi nello spazio e nel tempo. Teoria e modelli concettuali su cui si basa la tecnologia. Anni 1990s: Geographic Information Studies. Definizione degli aspetti sociali, legali ed etici associati all uso e all applicazione dei GIS. Anni 2000s: Geographic Information Services. Siti Web e servizi web per gli utenti (es. Siti cartografici delle regioni, interrogazioni su percorsi, ecc ). L acronimo GIS (Geographic Information System), è possibile ormai definirlo come un ambiente informativo in grado di rappresentare, organizzare e processare dati georeferenziati. Il GIS offre uno strumento completo adatto alla rappresentazione del territorio ed al trattamento delle informazioni associate agli oggetti georeferenziati: 19

20 Geographic: tratta oggetti per i quali è possibile stabilire una localizzazione sulla superficie terreste. A questi oggetti (punti, linee, aree) sono assegnate le coordinate spaziali congruenti con la base cartografica di riferimento. Information: gestisce dati relativi agli oggetti geografici e consente di recuperare informazioni (analisi, valori, ecc ). System: la sua struttura è costituita da numerosi elementi che si integrano e concorrono al raggiungimento degli obiettivi finali. Esempio di Struttura GIS In particolare un applicazione GIS è un prodotto che permette di visualizzare delle informazioni tipo: Modelli digitali del terreno (DTM); Ortofoto satellitari o aeree; Geometrie. Prima di poter essere utilizzate, tali informazioni devono subire un processo di geo-referenziazione,vengono trovate delle corrispondenze e successivamente sfruttate per poter eseguire una perfetta sovrapposizione. Il mondo reale può essere rappresentato in un sistema informativo geografico attraverso due tipologie principali di dato: il dato vettoriale e il dato raster: Il dato raster permette di rappresentare il mondo reale attraverso una matrice di celle, generalmente di forma quadrata o rettangolare, dette pixel. A ciascun pixel sono associate le informazione relative a ciò che esso rappresenta sul territorio. La dimensione del pixel (detta anche pixel size), generalmente espressa nell'unità di misura della carta (metri, chilometri etc.), è strettamente relazionata alla precisione del dato.generalmente vengono rappresentati in questo formato il DTM e le immagini. I dati vettoriali sono costituiti da elementi semplici quali punti, linee e poligoni, codificati e memorizzati sulla base delle loro coordinate. Un punto viene individuato in un sistema informativo geografico attraverso le sue coordinate reali (x1, y1); una linea o un poligono attraverso la posizione dei sui nodi (x1, y1; x2, y2;...). A ciascun elemento è associato un record del database informativo che contiene tutti gli attributi dell'oggetto rappresentato. Questo formato è utile per rappresentare oggetti e percorsi. I dati vettoriali e i dati raster si adattano ad usi diversi. La cartografia vettoriale è particolarmente adatta alla rappresentazione di dati che variano in modo discreto (ad esempio l'ubicazione dei cassonetti dei rifiuti di una città o la rappresentazione delle strade o una carta dell'uso del suolo), la cartografia raster è più adatta alla rappresentazione di dati con variabilità continua (ad esempio un modello digitale di elevazione o una carta di acclività del versante). Per la rappresentazione dei dati in un GIS occorre formalizzare un modello rappresentativo flessibile che si adatti ai fenomeni reali, ne esistono difatti diverse tipologie di informazioni per una più facile strutturazione del modello: Geometrica: relative alla rappresentazione cartografica degli oggetti rappresentati; quali la forma (punto, linea, poligono), la dimensione e la posizione geografica; Topologica: riferite alle relazioni reciproche tra gli oggetti (connessione, adiacenza, inclusione ecc ); Informativa: riguardanti i dati (numerici, testuali ecc ) associati ad ogni oggetto. 20

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource I servizi OGC Forestello Luca - Niccoli Tommaso - Sistema Informativo Ambientale AT01 http://webgis.arpa.piemonte.it

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

www.epsilon-italia.ititalia.it

www.epsilon-italia.ititalia.it Provincia di Cosenza Settore Programmazione e Gestione Territoriale SIPITEC2 - Sistema Informativo Territoriale per la Gestione del P.T.C.P. www.epsilon-italia.ititalia.it MACRO ARGOMENTI Che cos è un

Dettagli

Prima Lezione: Costruire una mappa

Prima Lezione: Costruire una mappa Prima Lezione: Costruire una mappa I tipi di informazione geografica disponibili Navigazione nella mappa Coordinate e scala Vista panoramica Introduzione ai GIS GIS significa Sistema Informativo Geografico

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Informatica I per la. Fisica

Informatica I per la. Fisica Corso di Laurea in Fisica Informatica I per la Fisica Lezione: Software applicativo II Fogli elettronici e Data Base Software: software di sistema (BIOS) sistema operativo software applicativo ROM Dischi

Dettagli

WebGis Comune di Novara

WebGis Comune di Novara 1 / 12 Progetto GeoCivit@s 2 / 12 Premesse Con il presente documento si descrive sinteticamente la nuova applicazione personalizzata per la pubblicazione dei dati geografici. Tale documento contiene una

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Relazione introduttiva Febbraio 2006

Relazione introduttiva Febbraio 2006 Amministrazione Provincia di Rieti Febbraio 2006 1 Progetto Sistema Informativo Territoriale Amministrazione Provincia di Rieti Premessa L aumento della qualità e quantità dei servizi che ha caratterizzato

Dettagli

InfoTecna ITCube Web

InfoTecna ITCube Web InfoTecna ITCubeWeb ITCubeWeb è un software avanzato per la consultazione tramite interfaccia Web di dati analitici organizzati in forma multidimensionale. L analisi multidimensionale è il sistema più

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper.

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. M. Comelli IFAC-CNR (Istituto di Fisica Applicata Nello Carrara del

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

I Sistemi Informativi Geografici. Laboratorio GIS 1

I Sistemi Informativi Geografici. Laboratorio GIS 1 I Sistemi Informativi Geografici Laboratorio GIS 1 Sistema Informativo Geografico Strumento computerizzato che permette di posizionare ed analizzare oggetti ed eventi che esistono e si verificano sulla

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

ORDINE REGIONALE GEOLOGI SARDEGNA PROGRAMMA

ORDINE REGIONALE GEOLOGI SARDEGNA PROGRAMMA ORDINE REGIONALE GEOLOGI SARDEGNA PROGRAMMA CORSO E-LEARNING dal titolo GEOGIS Il GIS per i Geologi A.) CORSO E-LEARNING dal titolo GEOGIS Il GIS per i Geologi Il Corso GEOGIS, utilizza la piattaforma

Dettagli

1) Una periferica di input è: A) il mouse B) il monitor C) la stampante

1) Una periferica di input è: A) il mouse B) il monitor C) la stampante CONOSCENZE DI INFORMATICA 1) Una periferica di input è: A) il mouse B) il monitor C) la stampante 2) Una memoria in sola lettura con la particolarità di essere cancellata in particolari condizioni è detta:

Dettagli

Corso Programmazione Java Android. Programma

Corso Programmazione Java Android. Programma Corso Programmazione Java Android Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H

Liceo Scientifico  C. CATTANEO  PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H Sommario PIANO DI LAVORO DI INFORMATICA... 1 INDICAZIONI GENERALI... 2 PREREQUISITI... 2 CONOSCENZE, COMPETENZE E CAPACITA...

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Installazione del Software. per lo Sviluppo di Applicazioni Java

Installazione del Software. per lo Sviluppo di Applicazioni Java Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Sergio Loddo, Luca Devola GFOSS - Cagliari, 27 febbraio 2009 Indice 1. Presentazione 2. Progetto 3. Architettura, metodologia

Dettagli

Il Geoportale dei Progetti Sismologici DPC-INGV 2012-2013

Il Geoportale dei Progetti Sismologici DPC-INGV 2012-2013 Il Geoportale dei Progetti Sismologici DPC-INGV 2012-2013 AUTORI Maurizio Pignone - Istituto Nazionale di Geofisica e Vulcanologia - maurizio.pignone@ingv.it Pierluigi Cara - Dipartimento della Protezione

Dettagli

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete Sistemi Operativi di Rete Estensione dei Sistemi Operativi standard con servizi per la gestione di risorse in rete locale Risorse gestite: uno o più server di rete più stampanti di rete una o più reti

Dettagli

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi Il progetto del sistema di ricerca delle informazioni L'esigenza del sistema di ricerca

Dettagli

Alfresco ECM. La gestione documentale on-demand

Alfresco ECM. La gestione documentale on-demand Alfresco ECM La gestione documentale on-demand Alfresco 3.2 La gestione documentale on-demand Oltre alla possibilità di agire sull efficienza dei processi, riducendone i costi, è oggi universalmente conosciuto

Dettagli

1. FINALITA DELLA DISCIPLINA

1. FINALITA DELLA DISCIPLINA Ministero dell Istruzione dell Università e della Ricerca LICEO SCIENTIFICO STATALE Donato Bramante Via Trieste, 70-20013 MAGENTA (MI) - MIUR: MIPS25000Q Tel.: +39 02 97290563/4/5 Fax: 02 97220275 Sito:

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006 tesi di laurea Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Anno Accademico 2005/2006 relatore Ch.mo prof. Stefano Russo correlatore Ing. Massimo Ficco candidato Giorgio

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

I servizi di accesso e di gestione dell informazione geografica della Regione Abruzzo

I servizi di accesso e di gestione dell informazione geografica della Regione Abruzzo I servizi di accesso e di gestione dell informazione geografica della Regione Abruzzo Filippo DEL GUZZO (*), Valentina VALLERIANI (*), Alessandro CACCHIONE (*) (*) Regione Abruzzo, Struttura Speciale di

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

Cad e Gis: i formati (wiki) Computer-Aided Drafting, supporto dell'attività di disegno tecnico (drafting) creazione di un modello, tipicamente 2D

Cad e Gis: i formati (wiki) Computer-Aided Drafting, supporto dell'attività di disegno tecnico (drafting) creazione di un modello, tipicamente 2D Cad e Gis: i formati (wiki) Computer-Aided Drafting, supporto dell'attività di disegno tecnico (drafting) creazione di un modello, tipicamente 2D Computer-Aided Design, supporto dell'attività di progettazione

Dettagli

Alveo KML connector. Uno strumento per la pubblicazione di dati geografici in Google Earth.

Alveo KML connector. Uno strumento per la pubblicazione di dati geografici in Google Earth. Alveo KML connector Uno strumento per la pubblicazione di dati geografici in Google Earth. Autori Francesco Marucci, Claudio Zoppellari Settore GIS Cooperativa Alveo, Territorio e geoinformatica via Guerrazzi,

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE Curriculum: Esperto di formazione a distanza DISSERTAZIONE FINALE Raccontami :

Dettagli

Vantaggi dell'utilizzo dei database

Vantaggi dell'utilizzo dei database Vantaggi dell'utilizzo dei database Access consente di sfruttare appieno il valore dei propri dati. Un database è molto di più di un semplice elenco o tabella. Offre la possibilità di gestire appieno i

Dettagli

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2012-2013 Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Architettura e funzionalità di una piattaforma GIS. Parte seconda:

Dettagli

.EVERYWHERE LOGIN. entra nel futuro. partnership signed

.EVERYWHERE LOGIN. entra nel futuro. partnership signed .EVERYWHERE LOGIN entra nel futuro. partnership signed Sinergia per l innovazione. Studio Ferroli e Acknow Per essere competitivi e vincenti in un mercato sempre più dinamico e globalizzato, che richiede

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A2 Introduzione ai database 1 Prerequisiti Concetto di sistema File system Archivi File e record 2 1 Introduzione Nella gestione di una attività, ad esempio un azienda, la

Dettagli

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci

Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2012-2013 Telerilevamento e SIT Prof. Ing. Giuseppe Mussumeci Introduzione ai GIS Le attività dell uomo...... hanno sempre un

Dettagli

Tecnologie dell Informazione e della Comunicazione (TIC) IPSIA San Benedetto del Tronto (AP)

Tecnologie dell Informazione e della Comunicazione (TIC) IPSIA San Benedetto del Tronto (AP) Le diverse componenti HARDWARE, pur opportunamente connesse ed alimentate dalla corrette elettrica, non sono in grado, di per sé, di elaborare, trasformare e trasmettere le informazioni. Per il funzionamento

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

TU METTI LE IDEE.. NOI LE SOLUZIONI!!

TU METTI LE IDEE.. NOI LE SOLUZIONI!! TU METTI LE IDEE.. NOI LE SOLUZIONI!! MISSION La mission di CSR Solution è quella di supportare soluzioni software avanzate nei settori della progettazione e della produzione industriale per le aziende

Dettagli

02 L Informatica oggi. Dott.ssa Ramona Congiu

02 L Informatica oggi. Dott.ssa Ramona Congiu 02 L Informatica oggi Dott.ssa Ramona Congiu 1 Introduzione all Informatica Dott.ssa Ramona Congiu 2 Che cos è l Informatica? Con il termine Informatica si indica l insieme dei processi e delle tecnologie

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

VII meeting utenti italiani di GRASS Genova, 23-24 febbraio 2006 MapServer e servizi web: introduzione e prime verifiche

VII meeting utenti italiani di GRASS Genova, 23-24 febbraio 2006 MapServer e servizi web: introduzione e prime verifiche VII meeting utenti italiani di GRASS Genova, 23-24 febbraio 2006 MapServer e servizi web: introduzione e prime verifiche Maria Antonia Brovelli maria.brovelli@polimi.it Marco Negretti marco.negretti@polimi.it

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Software AutoCAD Map 3D - lezione 0 Introduzione al software

Software AutoCAD Map 3D - lezione 0 Introduzione al software Software AutoCAD Map 3D - lezione 0 Introduzione al software 1) Nome del software AutoCAD Map 3D 2) Genealogia del software Software sviluppato da Autodesk e basato su AutoCAD, di cui contiene tutte le

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

GUIDA OPERATIVA AI SERVIZI WEBGIS MEDIANTE ARCGIS

GUIDA OPERATIVA AI SERVIZI WEBGIS MEDIANTE ARCGIS GUIDA OPERATIVA AI SERVIZI WEBGIS MEDIANTE ARCGIS Data 28/02/2012 A- I Servizi WebGIS 1 Introduzione I Servizi WebGIS I servizi di webmapping o WebGIS sono sistemi informativi geografici (GIS) pubblicati

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Introduzione alla famiglia di soluzioni Windows Small Business Server

Introduzione alla famiglia di soluzioni Windows Small Business Server Introduzione alla famiglia di soluzioni Windows Small Business Server La nuova generazione di soluzioni per le piccole imprese Vantaggi per le piccole imprese Progettato per le piccole imprese e commercializzato

Dettagli

Corso Android Corso Online Programmatore Android

Corso Android Corso Online Programmatore Android Corso Android Corso Online Programmatore Android Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso Modulo Uno - Programmazione J2ee 1) Programmazione

Dettagli

Introduzione alle basi di dati (prima parte)

Introduzione alle basi di dati (prima parte) Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008

Dettagli

Sistemi Informativi Geografici

Sistemi Informativi Geografici Sistemi Informativi Geografici Introduzione ai dati geografici Alberto Belussi Anno accademico 2007-08 08 Sistemi Informativi Territoriali (SIT) o Geografici I Sistemi Informativi Territoriali (SIT) gestiscono

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

Processo di Sviluppo delle Applicazioni

Processo di Sviluppo delle Applicazioni Processo di Sviluppo delle Applicazioni La realizzazione di un applicazione come Vivere Ateneo App Domenico Zarcone Ognuno ha il suo ambiente Quali sono gli ambienti integrati di sviluppo più utilizzati?

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Gestione WEB Viaggi e Turismo

Gestione WEB Viaggi e Turismo Pag. 1 di 11 Gestione WEB Viaggi e Turismo Pag. 2 di 11 SOMMARIO 1. INTRODUZIONE...3 2. CARATTERISTICHE E VANTAGGI DI IN.TOUR...4 3. FUNZIONALITA E STRUTTURA SOFTWARE E HARDWARE...6 4. STRUTTURA E CONTENUTI

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI

TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE EDILIZIA TECNICO SUPERIORE PER I RILEVAMENTI TERRITORIALI INFORMATIZZATI STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI TECNICO SUPERIORE PER I

Dettagli

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete)

Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Installazione di IBM SPSS Modeler 14.2 Client (licenza di rete) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza di rete. Questo documento è stato

Dettagli

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi La grafica 3D ed il WEB Lezione 20: La grafica 3D ed il WEB Lo sviluppo che ha avuto Internet negli ultimi anni e' principalmente dovuto al WWW. Uno dei punto di forza del WWW e' la possibilita' di distribuire

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Hydrica 2011, Salone Internazionale Tecnologie Acqua e Ambiente

Hydrica 2011, Salone Internazionale Tecnologie Acqua e Ambiente Applicazioni GIS per il ciclo integrato delle acque: implementazione usando JGrassTools, udig, BeeGIS e EPANET Introduzione Andrea Bosoni, Silvia Franceschi, Davide Righetti andrea.bosoni@gmail.com, silvia.franceschi@hydrologis.eu,

Dettagli