77 resultados para Java bytecodes
Resumo:
I Big Data hanno forgiato nuove tecnologie che migliorano la qualità della vita utilizzando la combinazione di rappresentazioni eterogenee di dati in varie discipline. Occorre, quindi, un sistema realtime in grado di computare i dati in tempo reale. Tale sistema viene denominato speed layer, come si evince dal nome si è pensato a garantire che i nuovi dati siano restituiti dalle query funcions con la rapidità in cui essi arrivano. Il lavoro di tesi verte sulla realizzazione di un’architettura che si rifaccia allo Speed Layer della Lambda Architecture e che sia in grado di ricevere dati metereologici pubblicati su una coda MQTT, elaborarli in tempo reale e memorizzarli in un database per renderli disponibili ai Data Scientist. L’ambiente di programmazione utilizzato è JAVA, il progetto è stato installato sulla piattaforma Hortonworks che si basa sul framework Hadoop e sul sistema di computazione Storm, che permette di lavorare con flussi di dati illimitati, effettuando l’elaborazione in tempo reale. A differenza dei tradizionali approcci di stream-processing con reti di code e workers, Storm è fault-tolerance e scalabile. Gli sforzi dedicati al suo sviluppo da parte della Apache Software Foundation, il crescente utilizzo in ambito di produzione di importanti aziende, il supporto da parte delle compagnie di cloud hosting sono segnali che questa tecnologia prenderà sempre più piede come soluzione per la gestione di computazioni distribuite orientate agli eventi. Per poter memorizzare e analizzare queste moli di dati, che da sempre hanno costituito una problematica non superabile con i database tradizionali, è stato utilizzato un database non relazionale: HBase.
Resumo:
Relazione completa delle scelte progettuali e implementative di un applicativo ad agenti sviluppato nel contesto Smart Home. Essa contiene un veloce riassunto dello scenario e dello stato attuale dell'applicazione, unitamente a un'introduzione sul middeware su cui si appoggia l'applicativo (TuCSoN). Segue quindi un'analisi delle scelte di modeling delle entita da gestire, le metodologie di supporto alla persistenza e un'ampia descrizione su come gli agenti comunichino tra loro e attraverso quali mezzi (centri di tuple). Quindi viene analizzata l'implementazione partendo dalle scelte implementative sino ad esaminare cosa avviene nel programma a seguito dell'interazione con l'utente. Infine le conclusioni a cui si e giunti e due appendici sulla terminologia e le classi presenti nel prototipo attuale.