110 resultados para Internet Things Web Middleware Cloud Computing
Resumo:
Il Cloud Computing è una realtà sempre più diffusa e discussa nel nostro periodo storico, ma probabilmente non è ancora chiaro a tutti di cosa si tratta e le potenzialità che possiede. Infatti, non esiste ancora una definizione univoca e condivisa e questo può creare confusione. Oggi le grandi compagnie nella comunità informatica spingono sempre di più per affermare i servizi Cloud a livello mondiale, non solo per le aziende del settore, ma anche per tutte le altre. Ed è così che le aziende di tutto il mondo si muovono per imparare e adottare questa nuova tecnologia, per spostare i loro centri dati e le loro applicazioni nel Cloud. Ma dove e quando nasce il Cloud Computing? Quali sono realmente i benefici per le aziende che adottano questa tecnologia? Questo è l'obiettivo della mia tesi: cercare di far chiarezza sulla sua definizione, indagare sulla sua nascita e fare un quadro economico del suo sviluppo, analizzando i benefici per le aziende e le opportunità offerte. Come caso di studio ho scelto la piattaforma Cloud Foundry perchè in questo momento è in forte espansione e sta facendo un grosso lavoro per cercare di rendere il suo prodotto uno standard per il Cloud Computing. Come esempio particolare di piattaforma basata su Cloud Foundry si parlerà di Bluemix, la piattaforma Cloud offerta da IBM, una delle più grandi aziende nel settore informatico.
Resumo:
Questa tesi si prefigge l’obiettivo di analizzare alcuni aspetti critici della sicurezza in ambito cloud. In particolare, i problemi legati alla privacy, dai termini di utilizzo alla sicurezza dei dati personali più o meno sensibili. L’aumento esponenziale di dati memorizzati nei sistemi di cloud storage (es. Dropbox, Amazon S3) pone il problema della sensibilità dei dati su un piano tutt'altro che banale, dovuto anche a non ben chiare politiche di utilizzo dei dati, sia in termini di cessione degli stessi a società di terze parti, sia per quanto riguarda le responsabilità legali. Questa tesi cerca di approfondire ed esaminare le mancanze più preoccupanti degli stessi. Oltre ad analizzare le principali criticità e i punti deboli dei servizi cloud, l’obiettivo di questo lavoro sarà quello di fare chiarezza sui passi e le infrastrutture che alcune aziende (es. Amazon) hanno implementato per avvicinarsi all’idea di 'safeness' nel cloud. Infine, l’ultimo obiettivo posto sarà l’individuazione di criteri per la valutazione/misura del grado di fiducia che l’utente può porre in questo contesto, distinguendo diversi criteri per classi di utenti. La tesi è strutturata in 4 capitoli: nel primo sarà effettuata una tassonomia dei problemi presenti nei sistemi cloud. Verranno presentati anche alcuni avvenimenti della storia recente, in cui queste problematiche sono affiorate. Nel secondo capitolo saranno trattate le strategie di 'safeness' adottate da alcune aziende, in ambito cloud. Inoltre, saranno presentate alcune possibili soluzioni, dal punto di vista architetturale. Si vedrà come il ruolo dell'utente sarà di estrema importanza. Il terzo capitolo sarà incentrato sulla ricerca di strumenti e metodi di valutazione che un utente, o gruppo di utenti, può utilizzare nei confronti di questi sistemi. Infine, il quarto capitolo conterrà alcune considerazioni conlusive sul lavoro svolto e sui possibili sviluppi di questa tesi.
Resumo:
Mobile devices are now capable of supporting a wide range of applications, many of which demand an ever increasing computational power. To this end, mobile cloud computing (MCC) has been proposed to address the limited computation power, memory, storage, and energy of such devices. An important challenge in MCC is to guarantee seamless discovery of services. To this end, this thesis proposes an architecture that provides user-transparent and low-latency service discovery, as well as automated service selection. Experimental results on a real cloud computing testbed demonstrated that the proposed work outperforms state of-the-art approaches by achieving extremely low discovery delay.
Resumo:
Con il lancio di nuove applicazioni tecnologiche come l'Internet of Things, Big Data, Cloud computing e tecnologie mobili che stanno accelerando in maniera spropositata la velocità di cambiamento, i comportamenti, le abitudini e i modi di vivere sono completamente mutati nel favorire un mondo di tecnologie digitali che agevolino le operazioni quotidiane. Questi progressi stanno velocemente cambiando il modo in cui le aziende fanno business, con grandi ripercussioni in tutto quello che è il contesto aziendale, ma non solo. L’avvento della Digital Transformation ha incrementato questi fenomeni e la si potrebbe definire come causa scatenante di tutti i mutamenti che stiamo vivendo. La velocità e l’intensità del cambiamento ha effetti disruptive rispetto al passato, colpendo numerosi settori economici ed abitudini dei consumatori. L’obiettivo di questo elaborato è di analizzare la trasformazione digitale applicata al caso dell’azienda Alfa, comprendendone le potenzialità. In particolare, si vogliono studiare i principali risvolti portati da tale innovazione, le più importanti iniziative adottate in merito alle nuove tecnologie implementate e i benefici che queste portano in campo strategico, di business e cultura aziendale.
Resumo:
Nella tesi vengono descritte le caratteristiche principali del linguaggio di programmazione service-oriented Jolie, analizzandone ampiamente la sintassi e proponendo esempi di utilizzo degli operatori e dei costrutti. Viene fatta una panoramica di SOC, SOA, Web Services, Cloud Computing, Orchestrazione, Coreografia, Deployment e Behaviour, gli ultimi due analizzati in diversi capitoli. La tesi si conclude con un esempio di conversione di servizi WSDL in Jolie, producendo un esempio di utilizzo del Web Service convertito. Nel documento vengono accennati i progressi storici del linguaggio ed i loro sviluppatori, nonché le API fornite dal linguaggio.
Resumo:
Grazie al progresso dell'elettronica, ai giorni nostri, è possibile costruire dispositivi elettronici molto piccoli, che col passare del tempo lo sono sempre più. Questo ci permette di poter imboccare nuove strade nel mondo dell'informatica, sfruttando proprio questo fatto. Le dimensioni ridotte dei dispositivi in commercio, come sensori, attuatori, tag e tanto altro, sono particolarmente adatte a nuovi scenari applicativi. Internet of Things è una visione in cui Internet viene esteso alle cose. Facendo largo uso di dispositivi come sensori e tag è possibile realizzare sistemi intelligenti che possono avere riscontri positivi nella vita di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati sull'ambiente per realizzare sistemi automatici (ad esempio regolare automaticamente la luce o la temperatura di una stanza) sono solo alcuni esempi. Internet of Things è la naturale evoluzione di Internet, ed è destinato a cambiare radicalmente la nostra vita futura, poichè la tecnologia sarà sempre più parte integrante della nostra vita, aumentando sempre più il nostro benessere e riducendo sempre più il numero delle azioni quotidiane da compiere. Sempre più sono middleware, le piattaforme e i sistemi operativi che nascono per cercare di eliminare o ridurre le problematiche relative allo sviluppo di sistemi di questo genere, e lo scopo di questa tesi è proprio sottolinearne l'importanza e di analizzare gli aspetti che questi middleware devono affrontare. La tesi è strutturata in questo modo: nel capitolo uno verrà fatta una introduzione a Internet of Things, analizzando alcuni degli innumerevoli scenari applicativi che ne derivano, insieme però alle inevitabili problematiche di tipo tecnologico e sociale. Nel secondo capitolo verranno illustrate le tecnologie abilitanti di Internet of Things, grazie alle quali è possibile realizzare sistemi intelligenti. Nel terzo capitolo verranno analizzati gli aspetti relativi ai middleware, sottolineandone l'importanza e prestando attenzione alle funzioni che devono svolgere, il tutto riportando anche degli esempi di middleware esistenti. Nel quarto capitolo verrà approfondito il middleware Java Embedded di Oracle.
Resumo:
Con la crescita in complessità delle infrastrutture IT e la pervasività degli scenari di Internet of Things (IoT) emerge il bisogno di nuovi modelli computazionali basati su entità autonome capaci di portare a termine obiettivi di alto livello interagendo tra loro grazie al supporto di infrastrutture come il Fog Computing, per la vicinanza alle sorgenti dei dati, e del Cloud Computing per offrire servizi analitici complessi di back-end in grado di fornire risultati per milioni di utenti. Questi nuovi scenarii portano a ripensare il modo in cui il software viene progettato e sviluppato in una prospettiva agile. Le attività dei team di sviluppatori (Dev) dovrebbero essere strettamente legate alle attività dei team che supportano il Cloud (Ops) secondo nuove metodologie oggi note come DevOps. Tuttavia, data la mancanza di astrazioni adeguata a livello di linguaggio di programmazione, gli sviluppatori IoT sono spesso indotti a seguire approcci di sviluppo bottom-up che spesso risulta non adeguato ad affrontare la compessità delle applicazione del settore e l'eterogeneità dei compomenti software che le formano. Poichè le applicazioni monolitiche del passato appaiono difficilmente scalabili e gestibili in un ambiente Cloud con molteplici utenti, molti ritengono necessaria l'adozione di un nuovo stile architetturale, in cui un'applicazione dovrebbe essere vista come una composizione di micro-servizi, ciascuno dedicato a uno specifica funzionalità applicativa e ciascuno sotto la responsabilità di un piccolo team di sviluppatori, dall'analisi del problema al deployment e al management. Poichè al momento non si è ancora giunti a una definizione univoca e condivisa dei microservices e di altri concetti che emergono da IoT e dal Cloud, nè tantomento alla definzione di linguaggi sepcializzati per questo settore, la definzione di metamodelli custom associati alla produzione automatica del software di raccordo con le infrastrutture potrebbe aiutare un team di sviluppo ad elevare il livello di astrazione, incapsulando in una software factory aziendale i dettagli implementativi. Grazie a sistemi di produzione del sofware basati sul Model Driven Software Development (MDSD), l'approccio top-down attualmente carente può essere recuperato, permettendo di focalizzare l'attenzione sulla business logic delle applicazioni. Nella tesi viene mostrato un esempio di questo possibile approccio, partendo dall'idea che un'applicazione IoT sia in primo luogo un sistema software distribuito in cui l'interazione tra componenti attivi (modellati come attori) gioca un ruolo fondamentale.
Resumo:
Negli ultimi anni le Web application stanno assumendo un ruolo sempre più importante nella vita di ognuno di noi. Se fino a qualche anno fa eravamo abituati ad utilizzare quasi solamente delle applicazioni “native”, che venivano eseguite completamente all’interno del nostro Personal Computer, oggi invece molti utenti utilizzano i loro vari dispositivi quasi esclusivamente per accedere a delle Web application. Grazie alle applicazioni Web si sono potuti creare i cosiddetti social network come Facebook, che sta avendo un enorme successo in tutto il mondo ed ha rivoluzionato il modo di comunicare di molte persone. Inoltre molte applicazioni più tradizionali come le suite per ufficio, sono state trasformate in applicazioni Web come Google Docs, che aggiungono per esempio la possibilità di far lavorare più persone contemporanemente sullo stesso documento. Le Web applications stanno assumendo quindi un ruolo sempre più importante, e di conseguenza sta diventando fondamentale poter creare delle applicazioni Web in grado di poter competere con le applicazioni native, che siano quindi in grado di svolgere tutti i compiti che sono stati sempre tradizionalmente svolti dai computer. In questa Tesi ci proporremo quindi di analizzare le varie possibilità con le quali poter migliorare le applicazioni Web, sia dal punto di vista delle funzioni che esse possono svolgere, sia dal punto di vista della scalabilità. Dato che le applicazioni Web moderne hanno sempre di più la necessità di poter svolgere calcoli in modo concorrente e distribuito, analizzeremo un modello computazionale che si presta particolarmente per progettare questo tipo di software: il modello ad Attori. Vedremo poi, come caso di studio di framework per la realizzazione di applicazioni Web avanzate, il Play framework: esso si basa sulla piattaforma Akka di programmazione ad Attori, e permette di realizzare in modo semplice applicazioni Web estremamente potenti e scalabili. Dato che le Web application moderne devono avere già dalla nascita certi requisiti di scalabilità e fault tolerance, affronteremo il problema di come realizzare applicazioni Web predisposte per essere eseguite su piattaforme di Cloud Computing. In particolare vedremo come pubblicare una applicazione Web basata sul Play framework sulla piattaforma Heroku, un servizio di Cloud Computing PaaS.
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:
Oggigiorno milioni di persone fanno uso di Internet per gli utilizzi più disparati: dalla ricerca di informazioni sul Web al gioco online; dall'invio e ricezione di email all'uso di applicazioni social e tante altre attività. Mentre milioni di dispositivi ci offrono queste possibilità, un grande passo in avanti sta avvenendo in relazione all'uso di Internet come una piattaforma globale che permetta a oggetti di tutti i giorni di coordinarsi e comunicare tra di loro. È in quest'ottica che nasce Internet of Things, l'Internet delle cose, dove un piccolo oggetto come un braccialetto può avere un grande impatto nel campo medico per il monitoraggio da remoto di parametri vitali o per la localizzazione di pazienti e personale e l'effettuazione di diagnosi da remoto; dove un semplice sensore ad infrarosso può allertarci a distanza di una presenza non autorizzata all'interno della nostra abitazione; dove un'autovettura è in grado di leggere i dati dai sensori distribuiti sulla strada. Questa tesi vuole ripercorrere gli aspetti fondamentali di Internet of Things, dai sistemi embedded fino alla loro applicazione nella vita odierna, illustrando infine un progetto che mostra come alcune tecnologie IoT e wearable possano integrarsi nella domotica, come per esempio l'utilizzo di uno smartwatch, come Apple Watch, per il controllo dell'abitazione.
Resumo:
Negli ultimi decenni, le tecnologie e i prodotti informatici sono diventati pervasivi e sono ora una parte essenziale delle nostre vite. Ogni giorno ci influenzano in maniera più o meno esplicita, cambiando il nostro modo di vivere e i nostri comportamenti più o meno intenzionalmente. Tuttavia, i computer non nacquero inizialmente per persuadere: essi furono costruiti per gestire, calcolare, immagazzinare e recuperare dati. Non appena i computer si sono spostati dai laboratori di ricerca alla vita di tutti i giorni, sono però diventati sempre più persuasivi. Questa area di ricerca è chiamata pesuasive technology o captology, anche definita come lo studio dei sistemi informatici interattivi progettati per cambiare le attitudini e le abitudini delle persone. Nonostante il successo crescente delle tecnologie persuasive, sembra esserci una mancanza di framework sia teorici che pratici, che possano aiutare gli sviluppatori di applicazioni mobili a costruire applicazioni in grado di persuadere effettivamente gli utenti finali. Tuttavia, il lavoro condotto dal Professor Helal e dal Professor Lee al Persuasive Laboratory all’interno dell’University of Florida tenta di colmare questa lacuna. Infatti, hanno proposto un modello di persuasione semplice ma efficace, il quale può essere usato in maniera intuitiva da ingegneri o specialisti informatici. Inoltre, il Professor Helal e il Professor Lee hanno anche sviluppato Cicero, un middleware per dispositivi Android basato sul loro precedente modello, il quale può essere usato in modo molto semplice e veloce dagli sviluppatori per creare applicazioni persuasive. Il mio lavoro al centro di questa tesi progettuale si concentra sull’analisi del middleware appena descritto e, successivamente, sui miglioramenti e ampliamenti portati ad esso. I più importanti sono una nuova architettura di sensing, una nuova struttura basata sul cloud e un nuovo protocollo che permette di creare applicazioni specifiche per smartwatch.
Resumo:
La tesi esplora la co-esistenza di computazioni embodied e disembodied nei moderni sistemi software, adottando come caso di studio il recente trend che vede sempre più coesi e integrati sistemi per l'Internet of Things e sistemi Cloud-based. Si analizzano i principali modelli di comunicazione, protocolli di comunicazione e architetture situate. Inoltre si realizza una piattaforma IoT Middleware cloud-based per mostrare come la computazione possa essere distribuita lato embodied e disembodied.
Resumo:
In questa tesi ci focalizzeremo sul connubio TV ed internet che rivoluzionerà l’erogazione dei servizi verso i telespettatori e di conseguenza il marketing pubblicitario in questo contesto. Partiremo dalla storia della televisione in Italia e dei dispositivi TV per poi analizzare i primi fenomeni di utilizzo televisivo del canale web e la conseguente nascita dei primi social media e servizi di video on demand. La seconda parte di questa tesi farà una larga panoramica sul marketing televisivo ed il web marketing, fino ad arrivare al punto di massima prossimità tra i due canali, ovvero l’advertising correlato ai contenuti video presenti sul web. Nella terza ed ultima parte analizzeremo le prime piattaforme di WebTV e servizi di internet television, per poi focalizzarci sui probabili risvolti e prospettive future sia a livello di fruizione dei contenuti che pubblicitario. Questo fenomeno avrà una netta influenza nel Marketing considerando che dal 1984 la TV è il mezzo che raccoglie la maggior parte degli investimenti pubblicitari ed il web è il media in maggiore ascesa a livello di penetrazione e popolarità negli ultimi anni.
Resumo:
Il Cloud computing è probabilmente l'argomento attualmente più dibattuto nel mondo dell'Information and Communication Technology (ICT). La diffusione di questo nuovo modo di concepire l'erogazione di servizi IT, è l'evoluzione di una serie di tecnologie che stanno rivoluzionando le modalit à in cui le organizzazioni costruiscono le proprie infrastrutture informatiche. I vantaggi che derivano dall'utilizzo di infrastrutture di Cloud Computing sono ad esempio un maggiore controllo sui servizi, sulla struttura dei costi e sugli asset impiegati. I costi sono proporzionati all'eettivo uso dei servizi (pay-per-use), evitando dunque gli sprechi e rendendo più efficiente il sistema di sourcing. Diverse aziende hanno già cominciato a provare alcuni servizi cloud e molte altre stanno valutando l'inizio di un simile percorso. La prima organizzazione a fornire una piattaforma di cloud computing fu Amazon, grazie al suo Elastic Computer Cloud (EC2). Nel luglio del 2010 nasce OpenStack, un progetto open-source creato dalla fusione dei codici realizzati dall'agenzia governativa della Nasa[10] e dell'azienda statunitense di hosting Rackspace. Il software realizzato svolge le stesse funzioni di quello di Amazon, a differenza di questo, però, è stato rilasciato con licenza Apache, quindi nessuna restrizione di utilizzo e di implementazione. Oggi il progetto Openstack vanta di numerose aziende partner come Dell, HP, IBM, Cisco, e Microsoft. L'obiettivo del presente elaborato è quello di comprendere ed analizzare il funzionamento del software OpenStack. Il fine principale è quello di familiarizzare con i diversi componenti di cui è costituito e di concepire come essi interagiscono fra loro, per poter costruire infrastrutture cloud del tipo Infrastructure as a service (IaaS). Il lettore si troverà di fronte all'esposizione degli argomenti organizzati nei seguenti capitoli. Nel primo capitolo si introduce la definizione di cloud computing, trattandone le principali caratteristiche, si descrivono poi, i diversi modelli di servizio e di distribuzione, delineando vantaggi e svantaggi che ne derivano. Nel secondo capitolo due si parla di una delle tecnologie impiegate per la realizzazione di infrastrutture di cloud computing, la virtualizzazione. Vengono trattate le varie forme e tipologie di virtualizzazione. Nel terzo capitolo si analizza e descrive in dettaglio il funzionamento del progetto OpenStack. Per ogni componente del software, viene illustrata l'architettura, corredata di schemi, ed il relativo meccanismo. Il quarto capitolo rappresenta la parte relativa all'installazione del software e alla configurazione dello stesso. Inoltre si espongono alcuni test effettuati sulla macchina in cui è stato installato il software. Infine nel quinto capitolo si trattano le conclusioni con le considerazioni sugli obiettivi raggiunti e sulle caratteristiche del software preso in esame.