837 resultados para Long-Polling, GCM, Google Cloud Messaging, RESTful Web services, Push, Notifiche
Resumo:
La descrizione di un'applicazione sviluppata per la visualizzazione di shapefile in google map e openstreetmap
Resumo:
L'obbiettivo della tesi è quello di sviluppare una semplice web application per la creazione di fatture. La caratteristica principale è l'integrazione delle funzionalità di Google Drive permettendo all'utente di archiviare e condividere con pochi click le fatture con i clienti. L'utente potrà creare, personalizzare, salvare, archiviare e condividere le proprie ricevute in tempo reale. In questo documento verrà analizzato il processo di sviluppo del software che comprenderà: analisi dei requisiti, progettazione, sviluppo (scelte implementative), test e sviluppi futuri. Verranno anche documentate le tecnologie utilizzate al fine di raggiungere il prodotto finale.
Resumo:
Lo scopo di questo lavoro è realizzare, in ambito web, un'applicazione client-server database-independent, ovvero un'applicazione il cui funzionamento non è vincolato da uno specifico tipo di base di dati.
Resumo:
Educare le nuove generazioni all'uso consapevole del web è un'attività di notevole importanza, visto l'utilizzo sempre più intenso che la società contemporanea fa di questo insieme numeroso e variegato di tecnologie, identificato dalla parola "rete''. La rete quindi non è più paragonabile soltanto a un luogo virtuale da visitare ma quasi ad un'"atmosfera" che circonda la realtà stessa, rendendo costantemente vicine possibilità e preoccupazioni sempre nuove. Gli utenti della rete, siano essi "nativi" o "immigrati", si trovano a contatto con questo ambiente mutevole e rapidissimo e ne apprendono regole e usi, riportandoli a volte anche sulla realtà, con maggiore o minore disinvoltura. Le giovani generazioni sono particolarmente permeabili a questo tipo di apprendimento e dimostrano sempre maggiore affinità con lo strumento web, a volte rischiando di confondere il virtuale con il reale. La deriva valoriale e ideologica della società europea ed italiana lascia però dei vuoti che vengono spesso colmati dalle relazioni che sono loro più prossime. Anche quelle on the cloud, nel bene e nel male. Il rischio di scambiare il mezzo con il fine, poi, è sempre presente. La sfida per il sistema educativo, familiare, sociale, è dimostrarsi attento, essere aggiornato sulle tecnologie, è saper valutare attentamente, saper discernere e riconoscere le opere dai loro frutti, per poter condividere l'esperienza umana in tutti i suoi aspetti con coloro che, più di tutti, vanno in cerca di risposte profonde alle loro domande. Non bisogna aver paura di mettersi in gioco, talvolta anche di rischiare, perché la posta in gioco è altissima, è in gioco lo stesso rapporto di scambio e di fiducia tra generazioni differenti. Le maglie delle nostra "rete" di relazioni, di rapporti, di comunicazione, crescono sempre di numero, ma non bisogna promuovere la sola quantità a scapito della qualità della loro sostanza, soprattutto nel caso degli adolescenti. Concludendo, ritengo che nell'educazione al web siano fondamentali: l'attenzione, l'ascolto reciproco, la cura dei dettagli e l'attenzione al rispetto delle regole. La precisione del controllo, il senso del limite e il valore prospettico delle aspettative sono strumenti imprescindibili per costruire giorno dopo giorno una "rete" formata per le persone e non soltanto delle persone formate per la rete.
Resumo:
Uno dei temi più discussi ed interessanti nel mondo dell’informatica al giorno d’oggi è sicuramente il Cloud Computing. Nuove organizzazioni che offrono servizi di questo tipo stanno nascendo ovunque e molte aziende oggi desiderano imparare ad utilizzarli, migrando i loro centri di dati e le loro applicazioni nel Cloud. Ciò sta avvenendo anche grazie alla spinta sempre più forte che stanno imprimendo le grandi compagnie nella comunità informatica: Google, Amazon, Microsoft, Apple e tante altre ancora parlano sempre più frequentemente di Cloud Computing e si stanno a loro volta ristrutturando profondamente per poter offrire servizi Cloud adeguandosi così a questo grande cambiamento che sta avvenendo nel settore dell’informatica. Tuttavia il grande movimento di energie, capitali, investimenti ed interesse che l’avvento del Cloud Computing sta causando non aiuta a comprendere in realtà che cosa esso sia, al punto tale che oggi non ne esiste ancora una definizione univoca e condivisa. La grande pressione inoltre che esso subisce da parte del mondo del mercato fa sì che molte delle sue più peculiari caratteristiche, dal punto di vista dell’ingegneria del software, vengano nascoste e soverchiate da altre sue proprietà, architetturalmente meno importanti, ma con un più grande impatto sul pubblico di potenziali clienti. Lo scopo che mi propongo con questa tesi è quello quindi di cercare di fare chiarezza in quello che è il mondo del Cloud computing, focalizzandomi particolarmente su quelli che sono i design pattern più utilizzati nello sviluppo di applicazioni di tipo cloud e presentando quelle che oggi rappresentano le principali tecnologie che vengono utilizzate sia in ambito professionale, che in ambito di ricerca, per realizzare le applicazioni cloud, concentrandomi in maniera particolare su Microsoft Orleans.
Resumo:
Coastal flooding poses serious threats to coastal areas around the world, billions of dollars in damage to property and infrastructure, and threatens the lives of millions of people. Therefore, disaster management and risk assessment aims at detecting vulnerability and capacities in order to reduce coastal flood disaster risk. In particular, non-specialized researchers, emergency management personnel, and land use planners require an accurate, inexpensive method to determine and map risk associated with storm surge events and long-term sea level rise associated with climate change. This study contributes to the spatially evaluation and mapping of social-economic-environmental vulnerability and risk at sub-national scale through the development of appropriate tools and methods successfully embedded in a Web-GIS Decision Support System. A new set of raster-based models were studied and developed in order to be easily implemented in the Web-GIS framework with the purpose to quickly assess and map flood hazards characteristics, damage and vulnerability in a Multi-criteria approach. The Web-GIS DSS is developed recurring to open source software and programming language and its main peculiarity is to be available and usable by coastal managers and land use planners without requiring high scientific background in hydraulic engineering. The effectiveness of the system in the coastal risk assessment is evaluated trough its application to a real case study.
Machine Learning applicato al Web Semantico: Statistical Relational Learning vs Tensor Factorization
Resumo:
Obiettivo della tesi è analizzare e testare i principali approcci di Machine Learning applicabili in contesti semantici, partendo da algoritmi di Statistical Relational Learning, quali Relational Probability Trees, Relational Bayesian Classifiers e Relational Dependency Networks, per poi passare ad approcci basati su fattorizzazione tensori, in particolare CANDECOMP/PARAFAC, Tucker e RESCAL.
Resumo:
Il Data Distribution Management (DDM) è un componente dello standard High Level Architecture. Il suo compito è quello di rilevare le sovrapposizioni tra update e subscription extent in modo efficiente. All'interno di questa tesi si discute la necessità di avere un framework e per quali motivi è stato implementato. Il testing di algoritmi per un confronto equo, librerie per facilitare la realizzazione di algoritmi, automatizzazione della fase di compilazione, sono motivi che sono stati fondamentali per iniziare la realizzazione framework. Il motivo portante è stato che esplorando articoli scientifici sul DDM e sui vari algoritmi si è notato che in ogni articolo si creavano dei dati appositi per fare dei test. L'obiettivo di questo framework è anche quello di riuscire a confrontare gli algoritmi con un insieme di dati coerente. Si è deciso di testare il framework sul Cloud per avere un confronto più affidabile tra esecuzioni di utenti diversi. Si sono presi in considerazione due dei servizi più utilizzati: Amazon AWS EC2 e Google App Engine. Sono stati mostrati i vantaggi e gli svantaggi dell'uno e dell'altro e il motivo per cui si è scelto di utilizzare Google App Engine. Si sono sviluppati quattro algoritmi: Brute Force, Binary Partition, Improved Sort, Interval Tree Matching. Sono stati svolti dei test sul tempo di esecuzione e sulla memoria di picco utilizzata. Dai risultati si evince che l'Interval Tree Matching e l'Improved Sort sono i più efficienti. Tutti i test sono stati svolti sulle versioni sequenziali degli algoritmi e che quindi ci può essere un riduzione nel tempo di esecuzione per l'algoritmo Interval Tree Matching.
Resumo:
La diffusione dei servizi cloud ha spinto anche il mondo degli IDE verso questa direzione. Recentemente si sta assistendo allo spostamento degli IDE da ambienti desktop ad ambienti Web. Questo è determinante per quanto riguarda gli aspetti legati alla collaborazione perchè permette di sfruttare tutti i vantaggi del cloud per dotare questi sistemi di chat, integrazione con i social network, strumenti di editing condiviso e molte altre funzionalità collaborative. Questi IDE sono detti browser-based in quanto i servizi che mettono a disposizione sono accessibili via Web tramite un browser. Ne esistono di diversi tipi e con caratteristiche molto diverse tra di loro. Alcuni sono semplici piattaforme sulle quali è possibile effettuare test di codice o utilizzare tutorial forniti per imparare nuovi linguaggi di programmazione; altri invece sono ambienti di sviluppo completi dotati delle più comuni funzionalità presenti in un IDE desktop, oltre a quelle specifiche legate al Web. Dallo studio di questi ambienti di sviluppo di nuova generazione è emerso che sono pochi quelli che dispongono di un sistema di collaborazione completo e che non tutti sfruttano le nuove tecnologie che il Web mette a disposizione. Per esempio, alcuni sono dotati di editor collaborativi, ma non offrono un servizio di chat ai collaboratori; altri mettono a disposizione una chat e il supporto per la scrittura simultanea di codice, ma non sono dotati di sistemi per la condivisione del display. Dopo l'analisi dei pregi e dei difetti della collaborazione fornita dagli strumenti presi in considerazione ho deciso di realizzare delle funzionalità collaborative inserendomi nel contesto di un IDE browser-based chiamato InDe RT sviluppato dall'azienda Pro Gamma SpA.
Resumo:
Cloud services are becoming ever more important for everyone's life. Cloud storage? Web mails? Yes, we don't need to be working in big IT companies to be surrounded by cloud services. Another thing that's growing in importance, or at least that should be considered ever more important, is the concept of privacy. The more we rely on services of which we know close to nothing about, the more we should be worried about our privacy. In this work, I will analyze a prototype software based on a peer to peer architecture for the offering of cloud services, to see if it's possible to make it completely anonymous, meaning that not only the users using it will be anonymous, but also the Peers composing it will not know the real identity of each others. To make it possible, I will make use of anonymizing networks like Tor. I will start by studying the state of art of Cloud Computing, by looking at some real example, followed by analyzing the architecture of the prototype, trying to expose the differences between its distributed nature and the somehow centralized solutions offered by the famous vendors. After that, I will get as deep as possible into the working principle of the anonymizing networks, because they are not something that can just be 'applied' mindlessly. Some de-anonymizing techniques are very subtle so things must be studied carefully. I will then implement the required changes, and test the new anonymized prototype to see how its performances differ from those of the standard one. The prototype will be run on many machines, orchestrated by a tester script that will automatically start, stop and do all the required API calls. As to where to find all these machines, I will make use of Amazon EC2 cloud services and their on-demand instances.
Resumo:
La costante evoluzione tecnologica sta portando alla luce nuove possibilità, che un tempo non erano nemmeno immaginabili. Uno dei settori che si è rivoluzionato maggiormente negli ultimi anni è quello delle telecomunicazioni e questo ha portato sia a una riduzione dei costi per le connessioni a Internet, sia ad un aumento delle loro capacità e prestazioni; di conseguenza queste connessioni sono diventate più accessibili e affidabili permettendo alle persone e alle cose di accedere a Internet quasi ininterrottamente. Questo sviluppo sta portando innumerevoli benefici, ma come ciascuna innovazione tecnologica, tuttavia, i benefici si accompagnano a nuove sfide. In questo elaborato viene dapprima analizzato lo stato dell’arte, i benefici, le problematiche e gli attuali interessi da parte di alcuni dei maggiori player verso l’Internet of Things. Vengono poi prese in considerazione due problematiche: l'individuazione e l'interazione con gli oggetti connessi a Internet, portando come esempio l'utilizzo e la ricerca di una vending machine, un distributore automatico. Proponendo una soluzione, in primo luogo è stato effettuato lo sviluppo di un ecosistema che sfrutta le potenzialità del Physical Web, implementando ad hoc ogni componente, dall'emissione del beacon Eddystone-URL alla visualizzazione della pagina ad esso associata. In secondo luogo questa è stata creata un'applicazione Android che sfrutta l'altro tipo di frame offerto dalla piattaforma beacon di Google, l'Eddystone-UID. Queste due applicazioni vengono quindi analizzate e messe a confronto, per individuare i punti forti e le mancanze delle rispettive piattaforme.
Resumo:
Internet of Things (IoT): tre parole che sintetizzano al meglio come la tecnologia abbia pervaso quasi ogni ambito della nostra vita. In questa tesi andrò a esplorare le soluzioni hardware e soprattutto software che si celano dietro allo sviluppo di questa nuova frontiera tecnologica, dalla cui combinazione con il web nasce il Web of Things, ovvero una visione globale, accessibile da qualsiasi utente attraverso i comuni mezzi di navigazione, dei servizi che ogni singolo smart device può offrire. Sarà seguito un percorso bottom-up partendo dalla descrizione fisica dei device e delle tecnologie abilitanti alla comunicazione thing to thing ed i protocolli che instaurano fra i device le connessioni. Proseguendo per l’introduzione di concetti quali middleware e smart gateway, sarà illustrata l’integrazione nel web 2.0 di tali device menzionando durante il percorso quali saranno gli scenari applicativi e le prospettive di sviluppo auspicabili.
Resumo:
Lo scopo dell'elaborato di tesi è l'analisi, progettazione e sviluppo di un prototipo di una infrastruttura cloud in grado di gestire un grande flusso di eventi generati da dispositivi mobili. Questi utilizzano informazioni come la posizione assunta e il valore dei sensori locali di cui possono essere equipaggiati al fine di realizzare il proprio funzionamento. Le informazioni così ottenute vengono trasmesse in modo da ottenere una rete di device in grado di acquisire autonomamente informazioni sull'ambiente ed auto-organizzarsi. La costruzione di tale struttura si colloca in un più ampio ambito di ricerca che punta a integrare metodi per la comunicazione ravvicinata con il cloud al fine di permettere la comunicazione tra dispositivi vicini in qualsiasi situazione che si potrebbe presentare in una situazione reale. A definire le specifiche della infrastruttura e quindi a impersonare il ruolo di committente è stato il relatore, Prof. Mirko Viroli, mentre lo sviluppo è stato portato avanti da me e dal correlatore, Ing. Pietro Brunetti. Visti gli studi precedenti riguardanti il cloud computing nell'area dei sistemi complessi distribuiti, Brunetti ha dato il maggiore contributo nella fase di analisi del problema e di progettazione mentre la parte riguardante la effettiva gestione degli eventi, le computazioni in cloud e lo storage dei dati è stata maggiormente affrontata da me. In particolare mi sono occupato dello studio e della implementazione del backend computazionale, basato sulla tecnologia Apache Storm, della componente di storage dei dati, basata su Neo4j, e della costruzione di un pannello di visualizzazione basato su AJAX e Linkurious. A questo va aggiunto lo studio su Apache Kafka, utilizzato come tecnologia per realizzare la comunicazione asincrona ad alte performance tra le componenti. Si è reso necessario costruire un simulatore al fine di condurre i test per verificare il funzionamento della infrastruttura prototipale e per saggiarne l'effettiva scalabilità, considerato il potenziale numero di dispositivi da sostenere che può andare dalle decine alle migliaia. La sfida più importante riguarda la gestione della vicinanza tra dispositivi e la possibilità di scalare la computazione su più macchine. Per questo motivo è stato necessario far uso di tecnologie per l'esecuzione delle operazioni di memorizzazione, calcolo e trasmissione dei dati in grado di essere eseguite su un cluster e garantire una accettabile fault-tolerancy. Da questo punto di vista i lavori che hanno portato alla costruzione della infrastruttura sono risultati essere un'ottima occasione per prendere familiarità con tecnologie prima sconosciute. Quasi tutte le tecnologie utilizzate fanno parte dell'ecosistema Apache e, come esposto all'interno della tesi, stanno ricevendo una grande attenzione da importanti realtà proprio in questo periodo, specialmente Apache Storm e Kafka. Il software prodotto per la costruzione della infrastruttura è completamente sviluppato in Java a cui si aggiunge la componente web di visualizzazione sviluppata in Javascript.
Resumo:
Questa tesi esamina la progettazione e lo sviluppo di un'applicazione mobile Android che è in grado di gestire l'attività sportiva di un utente. L'applicazione offre numerose funzionalità, che permettono all'utente di eseguire allenamenti per il fitness e allenamenti per la corsa, tenendo sempre sotto controllo i risultati ottenuti e tutte le informazioni necessarie. Oltre ad eseguire allenamenti l'utente può crearne di propri e modificarli a suo piacimento, in più nell'App è inserito lo shop dove l'utilizzatore può comprare allenamenti messi a disposizione direttamente da FitBody. Gli aspetti visti sopra saranno descritti attraverso un'analisi del problema e un'analisi sulla progettazione architetturale. In particolare verranno sottolineati aspetti riguardanti l'interazione tra utenti e l'utilizzo di API che permetteranno all'utilizzatore di condividere le proprie esperienze sul social network Facebook e di avere un'esperienza completa con l'app. In questo scritto si parlerà anche della comunicazione tra applicazione e server, che avviene grazie a chiamate HTTP con metodo POST. Attraverso queste chiamate l'applicazione leggerà e scriverà informazioni sul database online, 'hostato' sulla piattaforma Altervista. L'applicazione web, di cui sarà data solamente un'infarinatura, è stata sviluppata utilizzando il linguaggio di programmazione PHP. Ogni 'response' inviata dal server al client è composta da uno o più oggetti JSON.
Resumo:
Surface based measurements systems play a key role in defining the ground truth for climate modeling and satellite product validation. The Italian-French station of Concordia is operative year round since 2005 at Dome C (75°S, 123°E, 3230 m) on the East Antarctic Plateau. A Baseline Surface Radiation Network (BSRN) site was deployed and became operational since January 2006 to measure downwelling components of the radiation budget, and successively was expanded in April 2007 to measure upwelling radiation. Hence, almost a decade of measurement is now available and suitable to define a statistically significant climatology for the radiation budget of Concordia including eventual trends, by specifically assessing the effects of clouds and water vapor on SW and LW net radiation. A well known and robust clear sky-id algorithm (Long and Ackerman, 2000) has been operationally applied on downwelling SW components to identify cloud free events and to fit a parametric equation to determine clear-sky reference along the Antarctic daylight periods (September to April). A new model for surface broadband albedo has been developed in order to better describe the features the area. Then, a novel clear-sky LW parametrization, based on a-priori assumption about inversion layer structure, combined with daily and annual oscillations of the surface temperature, have been adopted and validated. The longwave based method is successively exploited to extend cloud radiative forcing studies to nighttime period (winter). Results indicated inter-annual and intra-annual warming behaviour, i.e. 13.70 W/m2 on the average, specifically approaching neutral effect in summer, when SW CRF compensates LW CRF, and warming along the rest of the year due prevalentely to CRF induced on the LW component.