UNITA 3 Gruppo Architetture 31 maggio 2010

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNITA 3 Gruppo Architetture 31 maggio 2010"

Transcript

1 IT Lab 2.0 Laboratorio di Ricerca Partnership CRISP-LISPA Relazione sull attività di ricerca del laboratorio IT Lab 2.0 UNITA 3 Gruppo Architetture 31 maggio 2010 CRISP Centro di ricerca interuniversitario per i servizi di pubblica utilità LISPA Lombardia Informatica S.p.A. società di servizi a capitale pubblico IT Lab 2.0 Viale dell Innovazione, 10 Edificio U Milano Tel.: (+39) Fax: (+39)

2 1. Introduzione Il tema di lavoro sviluppato in questi mesi ha avuto come obiettivo quello di studiare nuove tecnologie che potessero portare alla creazione di architetture software utili per trattare grandi quantità di dati in modo efficace dal punto di vista degli utenti finali. In questo momento, nel nostro dominio applicativo di riferimento, ovvero il mercato del lavoro, la modalità di fruizione dell informazione è rappresentata essenzialmente da report, materiale cartaceo dettagliato e navigabile fisicamente da parte di utenti esperti, e dal web, utilizzando dei personal computer. Con l avvento di WEB 2.0 possiamo assistere a due fenomeni: 1. Il primo è rappresentato dal ruolo centrale che la rete Internet, e nello specifico il web, sta rivestendo; 2. Il secondo è il proliferare di nuovi device portatili che offrono un insieme cospicuo di funzionalità (tra cui la possibilità di accedere ad internet), come gli smartphone o i netbook. L idea è cercare di capire se questi terminali, le tecnologie e le metafore di interazione più diffuse e accettate possano essere utili per presentare in modo efficace le informazioni, almeno di tipo sintetico, in modo da allargarne il bacino d utenza con l obiettivo finale di aumentare il grado di accettazione e fruizione del sistema, dove con sistema si intende un sistema software utilizzabile in remoto o in locale, interrogabile per reperire informazioni, senza specificare altre caratteristiche Il dubbio: internet al centro? Figura 1- Internet al centro Nel corso degli anni i paradigmi architetturali sono mutati soprattutto in relazione al tasso costo/prestazioni dei componenti fondamentali di un architettura software, ovvero potenza di calcolo, memoria e rete. In questo momento è la rete a essere maggiormente conveniente e gli sforzi della comunità informatica stanno portando ad un uso sempre maggiore della rete, portandola al centro delle moderne architetture software. 2

3 Figura 2 - Evoluzione paradigmi architetturali Si potrebbe addirittura ipotizzare che si stia arrivando ad un sovrautilizzo della rete, anche per funzioni semplici che potrebbero essere decentralizzate su device locali. La decentralizzazione di funzionalità su device locali, ed in particolare su device mobili, è supportata dalle seguenti motivazioni a carattere tecnologico: Potenza dispositivi mobili: sia la potenza di calcolo che la memoria interna di netbook e smartphone è sufficiente a svolgere funzioni tipiche di un personal computer. Approccio utenti: alcune comunità di utenti hanno sviluppato un senso di fiducia verso la tecnologia mobile. Riservatezza e privatezza: non tutte le informazioni o i dati posseduti possono essere o vogliono essere condivisi. Alcune informazioni potrebbero essere lasciate in locale, per scelta o per necessità (per esempio per problemi riguardanti la sicurezza). Criticità e costo della rete: ci possono essere funzionalità per cui l utilizzo della rete risulti superfluo oppure una connessione permanente rappresenti un costo superfluo. Affidabilità della rete: ci possono essere funzionalità per cui il livello di affidabilità della rete non è sufficiente. Inoltre in campo IT è sempre maggiore l attenzione all utilizzo di applicazioni web-based fuori linea. Un esempio è lo sviluppo di HTML 5 [1], nuovo standard per la costruzione di pagine web, e non solo, sviluppato dal W3C. Le novità introdotte da HTML 5 rispetto a HTML 4 sono finalizzate soprattutto a migliorare il disaccoppiamento tra struttura, definita dal markup, caratteristiche di resa (tipo di carattere, colori, eccetera), definite dalle direttive di stile, e contenuti di una pagina web, definiti dal testo vero e proprio. Un punto fondamentale di HTML 5 prevede il supporto per la memorizzazione locale di grosse quantità di dati scaricate dal browser, per consentire l'utilizzo di applicazioni basate su web (come per esempio le caselle di posta di Google o altri servizi analoghi) anche in assenza di collegamento a Internet. Infine è importante l utilizzo che fanno gli utenti dei propri dati. Gli utenti sono sempre più abituati a possedere i propri dati e a fare delle copie locali sui propri device. Un esempio di questa modalità di utilizzo è l Apple ipod [2], in cui gli utenti fanno delle copie locali dei propri file musicali, residenti su pc. Fondamentale è anche l uso delle cosidette Applicazioni, semplici software scaricabili sul dispositivo locale e di facilissima installazione. Gli utenti sono sempre più abituati al concetto di digital delivery, ovvero della possibilità di accedere via web a store online e acquistare musica, video, game e applicazioni, per utilizzare il tutto fuori linea. Il successo di questa metodologia di utilizzo è visibile attraverso portali come l App store di Apple e l Android Market di Google, in continua espansione e con circa applicazioni scaricabili. 3

4 Queste applicazioni vengono installate dinamicamente sul dispositivo locale e permettono la manipolazione di dati locali Decentramento per tipo di utente Un'altra modalità di decentramento è quello che mette il focus dell architettura sull utente. Si può ipotizzare che ci siano casi d uso in cui la visione totale dell informazioni non solo è inutile, ma è addirittura dannosa. Per esempio, un dirigente che ha bisogno di analizzare determinati indici, non vorrà navigare pagine e pagine di report prima di arrivare all informazione di cui ha bisogno. Per questo motivo sarebbe utile un contesto soggettivo delle informazioni, ovvero un sottoinsieme di informazioni indirizzato specificatamente ad un target di utenti, ovvero un contesto in cui le informazioni globali sono parziali, filtrate e sintetizzate. Con questa modalità l utente potrebbe avere le informazioni di cui ha bisogno in minor tempo, aumentando la soddisfazione di utilizzo del sistema. Queste informazioni possono essere scaricate sul proprio device, come delle copie locali su cui l utente può lavorare fuori linea, nei tempi che ritiene più utili. Per far questo è fondamentale il concetto di ruolo, ovvero la suddivisione della comunità utilizzatrice in base ai propri interessi primari. Logicamente l utilizzo di copie locali delle informazioni introduce il problema della sincronizzazione delle informazioni. Ovvero i contesti locali dovranno essere allineati rispetto ai dati globali. Le modalità con cui questo allineamento verrà svolto sono allo studio. Nel nostro dominio applicativo di riferimento (il mercato del lavoro) sembra abbastanza chiaro che le tempistiche di sincronizzazione possono essere relativamente lente, poiché non c è bisogno di un aggiornamento real-time delle informazioni. In ogni caso il sistema deve garantire la visione di uno stato consistente delle informazioni, sia si scelga una modalità di aggiornamento in tempo reale o sia che la modalità di aggiornamento sia non in tempo reale. L obiettivo è di fornire a ciascun utente le informazioni di cui ha effettivamente bisogno nella forma che renda tali informazioni più accessibili e corrette Soluzione ipotizzata Per mettere in atto il decentramento architetturale la soluzione ipotizzata è la costruzione di contesti soggettivi, partendo dalle informazioni globali contenute nel Data Warehouse di riferimento, a cui l utilizzatore accederà attraverso delle interfacce utente. Una schematizzazione della soluzione ideata è rappresentata in figura 3. Partendo da informazioni globali, per esempio contenute in un Data Warehouse, si creano dei contesti soggettivi a cui gli utenti finali possono accedere attraverso delle specifiche interfacce. 4

5 Figura 3 - Soluzione ipotizzata Abbiamo ipotizzato due architetture per mettere in atto il decentramento architetturale. La prima, rappresentata in figura 4 è maggiormente basata sulla scalabilità e sull utilizzo della rete. In questo caso è la rete ad adattarsi alle esigenze dell utilizzatore, quindi il componente che crea il contesto soggettivo risiede nella rete. La seconda, rappresentata in figura 5 è basata maggiormente sulle nuove possibilità offerte dai device mobili. In questo caso è l applicativo nel device mobile che soddisfa le esigenze dell utenza. Figura 4 - Architettura 1 Figura 5 - Architettura 2 Per arrivare a questo tipo di soluzioni si è deciso di studiare tecnologie che potessero portarci a risultati concreti in tempi ragionevoli. Nello specifico si è scelto di analizzare il paradigma denominato Cloud Computing, per quanto riguarda il potenziale offerto dalla rete e il sistema operativo Android, per quanto riguarda il mondo mobile. 5

6 2. Cloud Computing Non esiste una definizione standard di Cloud Computing. Con il termine Cloud Computing [3] si intende un insieme di tecnologie informatiche che permettono l utilizzo di risorse, sia hardware che software, distribuite in remoto. La vera caratteristica fondamentale del Cloud Computing è fornire all utilizzatore le risorse distribuite, come se fossero disponibili da sistemi standard, in locale. L implementazione viene volutamente non definita in modo dettagliato, infatti essa viene costituita da un insieme eterogeneo e distribuito di risorse, che l utilizzatore non conosce, l utente finale ha una visione black-box del sistema. Può quindi essere visto come un modello che semplifica l utilizzo delle tecnologie informatiche. L obiettivo è fornire all utilizzatore un set di risorse elastiche, estremamente scalabili e potenzialmente illimitate attraverso internet. Un insieme di risorse informatiche offerte come servizio. Le maggiori aziende del settore (Amazon, Yahoo, Google, Oracle/Sun, SAS e molte altre) hanno investito, o stanno investendo, in modo massiccio in questo settore. Questo è indice di quanto il mercato possa nei prossimi anni seguire questa scelta trasformando, sotto molti aspetti, il paradigma di utilizzo della rete A cosa serve? Paghi solo quello che usi, questo slogan sintetizza uno dei maggiori vantaggi del Cloud Computing. Le organizzazioni possono pagare unicamente per quello che usano, attraverso canoni mensili o annuali. In tal modo viene ridotto il costo per le infrastrutture in locale, sia esso costo di capitale che costo di gestione ad essa associati. Teoricamente si libera personale per l azienda, chi doveva occuparsi della gestione delle risorse aziendali, avrà più tempo per creare valore effettivo per l organizzazione ed infine in questo modo le organizzazioni possono essere più flessibili, ovvero hanno la possibilità di adattarsi con rapidità alle richieste di mercato. 6

7 2.2. Tipologie di Servizi Possiamo distinguere tre tipologie fondamentali [4] di Cloud Computing: Software as a Service (SaaS); Platform as a Service (Paas); Infrastructure as a Service (IaaS); Software as a Service (SaaS): Le applicazioni vengono viste come un servizio. Le applicazioni vengono eseguite in remoto, spesso attraverso un server web. Ci sono già parecchi esempi per questa tipologia di servizio, come GMail, Google Docs, icloud (un desktop remoto) o gli innumerevoli prodotti per la collaborazione online. Platform as a Service (Paas): In questo caso viene offerto all utente un ambiente di runtime per le sue applicazioni. Il consumatore ha il controllo solo sulle sue applicazioni e non ha il controllo dell ambiente su cui esse girano. Infrastructure as a Service (IaaS): Utilizzo di risorse hardware, con software associato, in remoto. Fondamentalmente vengono offerti potenza elaborativa, memoria, connettività. E in questa tipologia di servizio che si sposa maggiormente lo slogan paghi quello che usi. Il consumatore paga solo per le risorse utilizzate e non per l intera infrastruttura. L idea è lo sfruttamento di risorse IT come si è sempre utilizzato l energia elettrica o il gas negli appartamenti. Per ogni tipologia di servizio si possono trovare prodotti commerciali già maturi e pronti per essere utilizzati. Per quanto riguarda la tipologia SaaS abbiamo già elencato alcuni esempi esplicativi. Figura 6 -Collocazione aziende rispetto alla tipologia di servizio offerto 2.3. Cloud Computing: Prodotti Si fornisce una rassegna indicativa e sicuramente non esaustiva, dei principali prodotti nel campo IT Google App Engine Google App Engine [5] è la proposta PaaS di Google, Inc. Per accedere al servizio è sufficiente un account per far girare le proprie applicazioni sulle infrastrutture di Google. App Engine offre due ambienti di 7

8 runtime, una per applicazioni Java e l altra per applicazioni Python, ed offre un datastore per memorizzare i dati. L utilizzo della piattaforma, se si usano solo le funzionalità di base, è gratuito. In seguito se ne si ha necessità è possibile acquistare risorse computazionali, di memoria e di banda, in funzione delle proprie esigenze IBM e il Cloud Computing IBM è molto attiva nel campo del Cloud Computing [6]. Partendo dall assunzione che mediamente un azienda dedica fino al 50% della sua infrastruttura tecnologica alle attività di sviluppo e di test e, tipicamente, più del 90% di tale infrastruttura rimane inutilizzata, IBM dichiara che l utilizzo del Cloud Computing è utile per lo sviluppo e per il test e può contribuire a ridurre i costi, migliorare la qualità del software e accelerare il time to market IBM Smart Business Development & Test Tramite questo servizio IBM mette a disposizione alcuni dei suoi prodotti di test e sviluppo della serie Rational. Tutti questi prodotti sono offerti tramite il provisioning di macchine virtuali basate su linux (Suse o Red Hat). Tramite un interfaccia web si può accedere al portale IBM da cui si gestiscono le richieste di provisioning e le immagini create Microsoft Windows Azure Microsoft Windows Azure [7] è la piattaforma Cloud di Microsoft, che risiede nei suoi datacenter. E simile alla proposta Google App Engine, ma è focalizzata all offerta dei prodotti Microsoft (Office Live, Exchange Online, SharePoint Online e Dynamics CRM Online) come servizio in rete. Windows Azure è il kernel della piattoforma che implementa un sistema operativo che offre servizi per lo sviluppo, per l hosting e la gestione delle applicazioni che vi gireranno. Stretta è l integrazione con Visual Studio, resa disponibile attraverso uno specifico SDK aggiunto all ambiente di sviluppo. Si potranno costruire Web Application e Web Service che verranno pubblicati direttamente tramite il proprio account sull infrastruttura di Windows Azure e tramite l apposita interfaccia web si potranno configurare le risorse di elaborazione che si vogliono assegnare all applicazione Amazon Elastic Compute Cloud (EC2) EC2 [8] è la proposta IaaS di Amazon. E l attuale punto di riferimento del settore ed offre la possibilità di utilizzare la maggioranza delle soluzioni software esistenti, come: Red Hat Enterprise Linux, Windows Server 2003/2008, Oracle Enterprise Linux, IBM DB2, Microsoft SQL Standard 2005 Oracle Database 11g; 8

9 IBM WebSphere Portal Server; Jboss Enterprise Application Platform, IBM smash, Oracle WebLogic Server e IBM WebSphere Application Server e molte altre. Amazon offre capacità di calcolo variabile facilitando lo sviluppatore in termini di scalabilità e strumenti per costruire in maniera semplice e veloce le proprie applicazioni. L interfaccia è un semplice servizio web che consente di ottenere e configurare con il minimo sforzo la capacità di cui il singolo cliente necessita fornendo il controllo completo sulle risorse di calcolo. Il pagamento del servizio viene calcolato in funzione del reale utilizzo di risorse da parte dell utente Tipologia di deployment del Cloud Computing Le varie tipologie di servizi presentate possono essere offerte costruendo cloud di due tipi, cloud private o cloud pubbliche [9]. In letteratura si parla anche di un terzo tipo di cloud, l ibrido. Public Cloud: il più diffuso, il fornitore offre servizi tramite internet ad un consumatore esterno. Il fornitore si occupa dell infrastruttura, della gestione, della manutenzione mentre il consumatore utilizza le risorse in modo trasparente, senza preoccuparsi di altro. E ovvio che il consumatore non si occupi della gestione ma questa stessa facilitazione può essere un problema per quanto riguarda la sicurezza. Private Cloud: In questo caso il fornitore e il consumatore dei servizi fanno parte della stessa organizzazione, logicamente viene sfruttato in grandi organizzazioni. In questo caso si hanno i vantaggi del Public Cloud ma la gestione e manutenzione dell infrastruttura è interna all organizzazione. Il vantaggio è che avendo un totale accesso si riescono a gestire in modo personalizzato gli aspetti di sicurezza, (infatti non si sarà esposti verso l "esterno"), di configurazione, (in quanto si ha pieno accesso all infrastruttura) e non si è soggetti a limitazioni di banda. Hybrid Cloud: Teoricamente dovrebbe avere i vantaggi delle Public e Private Cloud eliminando i contro. Si crea una nuvola che è un mix di servizi publici e privati, lo svantaggio è che creare una struttura di questo tipo può essere molto complesso Conclusioni Da un punto di vista puramente tecnologico, il Cloud Computing non rappresenta una novità, ma piuttosto una combinazione di più tecnologie, ormai mature, per poter offrire una infrastruttura IT scalabile, elastica e on-demand attraverso Internet. Questa nuova modalità di fruizione dell infrastruttura IT offre vantaggi sia economici, permettendo di passare parte dei costi di capitale associati all IT in costi operativi, sia di gestione. Quindi i principali vantaggi sono: Agilità intesa come sviluppo rapido di infrastrutture IT senza dover fare provisioning; Costo basato sull effettivo uso delle risorse; Scalabilità basato sul provisioning dinamico; Personale esterno all azienda per gestire l infrastruttura; Diminuzione dei costi di infrastruttura. Mentre i principali dubbi sono : 9

10 Bisogno 24H/24H di connessione internet (in Italia può essere un problema, soprattutto se messe in relazione ai device mobile); Applicazioni remote non performanti come le applicazioni in locale; Personale esterno all azienda per gestire l infrastruttura; I principali dubbi riguardano la sicurezza dei dati. Gartner Group individua i seguenti sette problemi: Individuazione dell utente privilegiato; Garanzie sull affidabilità del provider: chi certifica i provider che offrono i servizi in rete? Data location: dove sono realmente i dati? Data segregation: chi accede ai dati? Recovery: chi assicura la consistenza dei dati in caso di disastro? Investigative support: come posso garantire che il livello di servizio garantito sia mantenuto? Disponibilità a lungo termine: chi assicura la disponibilità dei miei dati in caso di cambio di proprietà del provider? 3. Mondo Mobile: Introduzione Nel mondo Mobile e in particolare dei sistemi operativi per smartphone, possiamo trovare cinque grandi competitors: 1. iphone OS: sistema operativo che equipaggia lo smartphone iphone di casa Apple, sistema completamente chiuso. 2. Symbian OS: sviluppato da Symbian Foundation, sotto il controllo di Nokia, è in fase di ristrutturazione, verrà utilizzato solo per smartphone di fascia bassa. 3. Windows 7 Mobile: sistema operativo per smartphone, sviluppato da Microsoft. 4. Nokia MeeGo: sviluppato da Nokia, non ha una grande diffusione, sarà il sistema operativo degli smartphone di fascia alta della casa finlandese. 5. Android: sistema Open Source con larga diffusione. 6. BlackBerry OS sviluppato da RIM, sistema non Open Source. La nuova versione, la 6.0, verrà commercializzata a Luglio Osservando il mercato, Android ci è parso il prodotto più maturo, insieme a iphone OS. Android inoltre ha il pregio di essere completamente Open Source. In questo momento Android è il secondo sistema operativo per smartphone per diffusione, in continua crescita, dietro a BlackBerry OS, in continua regressione Android Si è scelto di studiare la piattaforma Android [19] perché non solo utilizza tecnologie Open Source ma il suo stesso codice è disponibile sotto licenza Apache 2.0 [20]. Include in modo nativo un sistema operativo, un middleware e delle applicazioni di base. Per sviluppare applicazioni per Android si utilizza il linguaggio Java, questo rende possibile, se si conosce il linguaggio Java, iniziare a sviluppare per Android in tempi brevi, poiché non c è bisogno di studiare un nuovo linguaggio di programmazione. I creatori di Android forniscono un Developer Tools per ogni sistema operativo e per quasi tutti gli IDE in circolazione, preferendo nelle loro specifiche, Eclipse. Nello specifico, vengono utilizzate le API di Java Standard Edition, che viene convertito in modo automatico in un linguaggio orientato al massimo sfruttamento delle risorse del sistema su cui Android risiede. Android offre allo sviluppatore pieno accesso all hardware del dispositivo e al software di base, con una politica orientata al riutilizzo di componenti. 10

11 Figura 7 - Logo di Android Android è una piattaforma Open Source per dispositivi mobili, basata sul sistema operativo Linux e sviluppata dall'open Handset Alliance 1. L obiettivo dell'open Handset Alliance è sviluppare "standard aperti" per dispositivi mobili. Nello stesso giorno dell'annuncio della formazione dell'open Handset Alliance il 5 novembre 2007, l'oha ha anche presentato Android. In particolare la piattaforma è basata sul kernel Linux, usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale e supporta lo standard OpenGL ES 1.0 per la grafica tridimensionale. Le applicazioni vengono eseguite tramite la Dalvik Virtual Machine, una Java Virtual Machine adattata per l'uso su dispositivi mobili. Android è provvisto di una serie di applicazioni preinstallate: un browser, basato su WebKit, una rubrica e un calendario e molte altre. Figura 8 - Interfaccia di Android L' Open Handset Alliance (abbreviato OHA) è un accordo di differenti compagnie con Google come capofila, ASUS, HTC, Intel, Motorola, Qualcomm, T-Mobile, e NVIDIA. 11

12 3.2. L architettura di Android Nel seguente schema sono rappresentati i principali moduli di Android [21]. Ogni sezione dello schema sarà descritta con maggior dettaglio. Figura 9 - Architettura di Android Applications Tutte le applicazioni di alto livello di Android sono scritte completamente in Java. Android integra nel sistema operativo le applicazioni per compiere le telefonate, una rubrica, un browser web Application Framework Android offre allo sviluppatore di applicazioni pieno accesso all hardware del dispositivo, informazioni sulla posizione di accesso, la possibilità di eseguire servizi in background e molte altre feature. Inoltre gli sviluppatori hanno pieno accesso alle API utilizzate per le applicazioni di base. L Application framework è stato progettato per semplificare il riutilizzo dei componenti; qualsiasi applicazione può pubblicare le proprie capacità (i propri servizi) e qualsiasi altra applicazione può avvalersi di tali capacità (logicamente sottostando a vincoli di sicurezza imposte dall applicazione). Alla base di tutte le applicazioni è fornito un insieme di servizi e sistemi, tra cui: Un ricco ed estensibile set di Views che possono essere utilizzate per creare applicazioni includendo liste, griglie, box di testo, bottoni e anche un web browser embedded. I Content Providers che consentono alle applicazioni l accesso ai dati (i.e. rubrica). Un Resource Manager che fornisce l accesso alle risorse di tipo non-code, come la grafica e i file per il layout. Un Notification Manager che consente a tutte le applicazioni di visualizzare avvisi nella status bar. Un Activity Manager che gestisce il ciclo di vita delle applicazioni e provvede una navigazione comune Libraries 12

13 Android include un set di librerie scritte in C/C++ usate dai vari componenti di Android. Queste capacità sono esposte ai livelli superiori attraverso il livello Application Framework. Le librerie offerte sono divise in base ai servizi offerti, come: Media Libraries che servono per gestire i formati audio e video più comuni, e anche i formati per le immagini. (i.e. MPEG4, H.264, MP3, JPEG). Surface Manager che serve per gestire l accesso al display sia in ambito 2D che 3D. LibWebCore ovvero un moderno web browser engine che gestisce sia il browser di Android sia i browser embedded delle varie applicazioni. SQLite ovvero un relational database engine utilizzabile da tutte le applicazioni Android Runtime Android include una serie di librerie che forniscono la maggior parte delle funzionalità che si possono trovare nelle librerie core del linguaggio di programmazione Java. Di default tutte le applicazioni di Android girano su un singolo processo Linux che gira sulla propria istanza di Dalvik Virtual Machine. Dalvik è un evoluzione della Java Virtual Machine ed è stata scritta in modo da ottimizzare l esecuzione in parallelo di più macchine virtuali. La VM Dalvik esegue i file nel formato Dalvik Executable (.dex) un formato dove è stata potenziata la gestione dell occupazione minima della memoria. La VM è basata sui registri ed esegue le classi compilate in linguaggio Java dopo che queste classi sono state convertite nel formato.dex attraverso il tool dx, incluso in Android. VM Dalvik si basa sul kernel linux per le funzionalità di base come il threading e la gestione della memoria di basso livello Linux Kernel Android per i servizi di base (ovvero gestione della memoria, gestione dei processi, stack di rete, gestione dei driver) utilizza la versione 2.6 di Linux. Il kernel funge anche da strato di astrazione tra hardware e il resto dei livelli software che lo precedono. 13

14 3.3. Struttura di un applicazione per Android Tutto il codice contenuto nel package contraddistinto dall estensione.apk viene considerato un applicazione. Ci sono quattro componenti che costituiscono un'applicazione Android[22]: Activities Intent Receiver Services Content Providers Non tutte le applicazioni hanno bisogno di tutti e quattro i componenti per funzionare, ma le applicazioni vengono scritte con una qualche combinazione di questi. Una volta deciso quali componenti servono per l'applicazione, questi devono essere elencati in un file chiamato AndroidManifest.xml. Si tratta di un file XML in cui si dichiara quali sono i componenti dell applicazione e quali sono le loro funzionalità e i requisiti Activities Le Activities sono le più comuni tra i quattro componenti che costituiscono le applicazioni Android. Un'Activity è normalmente una singola schermata dell applicazione. Ogni Activity è implementata come una classe singola che estende la classe di base Activity. La classe creata presenterà un'interfaccia utente composta di Views e risponderà agli eventi. La maggior parte delle applicazioni sono composte da schermate multiple, per esempio, un'applicazione per la scrittura di messaggi può avere una schermata che mostra una lista di contatti a cui inviare i messaggi, una seconda schermata in cui scrivere effettivamente il messaggio, e altre schermate per rivedere i vecchi messaggi o cambiare le impostazioni. Ognuna di queste schermate viene implementata come un'activity. Ci si può spostare tra le schermate avviando una nuova Activity. In alcuni casi un'activity può restituire un valore all'activity precedente, per esempio un'activity che permette all'utente di scegliere una foto restituirà la foto a chi l ha invocata. Quando si apre una nuova schermata, quella precedente si ferma e viene archiviata in un'apposita sezione. L'utente può navigare indietro attraverso le schermate precedenti nell'history stack. Le schermate possono anche essere tolte dall'history stack, quando è inappropriato che rimangano memorizzate. Android mantiene history stack per ogni applicazione lanciata dallo schermo principale Intent Receivers Un Intent Receiver viene utilizzato quando si ha bisogno che del codice di un applicazione venga eseguito in reazione ad un evento esterno, per esempio, quando suona il telefono o è disponibile la rete dati o quando scocca la mezzanotte. Gli Intent Receivers non mostrano un'interfaccia utente, anche se possono usare il NotificationManager per avvisare l'utente se è accaduto qualcosa di interessante. Le applicazioni non devono essere per forza in esecuzione perché vengano richiamate dagli Intent Receivers; sarà il sistema ad avviare l'applicazione quando si innesca un Intent Services Il componente Service non dispone di un interfaccia utente ed esso viene eseguito in background per un periodo indefinito di tempo. Un esempio è un media player che esegue delle canzoni da una lista. In un'applicazione tipo media player, ci sono probabilmente una o più Activity che permettono all'utente di scegliere le canzoni e iniziare ad ascoltarle. Tuttavia, la riproduzione della musica non dovrebbe essere gestita da un'activity, perché l'utente si aspetterà di continuare a sentire le canzoni anche quando naviga 14

15 su un'altra schermata. In questo caso, l'activity media player può avviare un Service, in modo che venga eseguito in background e la musica continui. Il sistema manterrà il Service in esecuzione fino a quando non si decide di terminarlo. Una volta connesso ad un service, ci si può comunicare attraverso un'interfaccia esposta dal service stesso Content Providers Le applicazioni possono immagazzinare i loro dati in file, in un database SQLite, o in qualsiasi altro meccanismo che abbia senso. Un Content Provider è utile per far si che i dati dell'applicazione vengano condivisi con altre applicazioni. Le altre applicazioni che vogliono utilizzare i dati di un applicazione specifica utilizzeranno l oggetto Content Resolver per contattare il Content Provider che gestisce l acceso a tali dati Intent ed Intent Filters I componenti di un applicazione sono attivati attraverso dei messaggi chiamati Intent. Questi servono a far comunicare i componenti in una stessa applicazione o in applicazioni diverse. L Intent è un oggetto Intent che è fondamentalmente una struttura dati contenente una descrizione astratta di un operazione che deve essere eseguita. Logicamente ci sono meccanismi diversi per spedire Intent ad ogni tipo di componente. Android cerca il componente che può rispondere all Intent, istanziandolo, se necessario Intent Objects Un oggetto Intent è un bundle di informazioni. Queste sono informazioni di interesse del componente che riceve l Intent (ovvero l azione da intraprendere e i dati su cui lavorare) e le informazioni utili al sistema Android (come la categoria di componente). Principalmente un Intent contiene: Component Name: il nome del componente che si vuole gestisca l evento (facoltativo). Action: una stringa che rappresenta l azione da effettuare. Ci sono delle azioni prestabilite, altre si possono creare da zero. Data: l URI della locazione dei dati su cui si vuole lavorare. Category: informazioni addizionali che riguardano la specifica della tipologia di componente che deve gestire l intent. 15

16 Intent Resolution Ci sono 2 tipi di Intent: 1. Intent epliciti: il componente che deve soddisfare l Intent è definito a priori (soprattutto utilizzate come application internal messages). 2. Intent impliciti: il componente che deve soddisfare l Intent non è definito a priori (utilizzati per usufruire dei componenti delle altre applicazioni). Nel primo caso Android spedisce direttamente l Intent al componente specificato. Nel secondo caso, Android, deve trovare il migliore componente che può soddisfare l Intent. Questo avviene confrontando gli Intent con gli Intent Filters di ogni componente. Nel caso un componente non avesse filtri può comunque ricevere Intent espliciti Intent Filters Gli Intent Filters sono le capacità dei componenti di un applicazione. Ogni componente dichiara cosa sa gestire. Un Intent Filters è un istanza della classe Intent Filter. Tuttavia Android deve conoscere le capacità prima di avviare il componente ed è per questo motivo che gli Intent Filters devono essere esplicitati nel file AndroidManifest.xml, che viene descritto in seguito Android Manifest File Nella root directory di ogni applicazione deve esserci il file AndroidManifest.xml. Questo contiene informazioni necessarie ad Android prima che le applicazioni siano in esecuzione. Il Manifest inoltre contiene le seguenti informazioni: Nome univoco dell applicazione; Descrive i componenti dell applicazione, elenca i nomi delle classi che implementano i componenti e le loro capacità (gli Intent Filters); Dichiara i permessi per accedere alle varie parti dell applicazione; Dichiara il livello minimo di API di Android che l applicazione richiede; Dichiara le librerie che devono essere linkate al progetto. 4. Sviluppi futuri Identificato Android come tecnologia interessante su cui focalizzare la sperimentazione, il seguito del lavoro porterà alla sperimentazione di varie modalità di visualizzazione, su terminali mobili, di report definiti dagli altri gruppi del ITLab 2.0. In particolare, l'attenzione si concentrerà su come l'utente naviga nei report, in modo da capire in che misura l uso di metafore e tecnologie evolute possa aumentare l efficacia della fruizione. Inoltre verrà ampliato lo stato dell arte delle tecnologie riguardanti il mondo mobile. 16

17 Bibliografia 1. HTML5, pagina ufficiale del W3C Wikipedia - ipod Above the Clouds: a Berkeley view of Cloud Computing M. Armbrust Why Cloud Computing will never be free Dave Durkee of Enki ACMqueque Google App Engine, sito ufficiale IBM Cloud Computing Introducing Windows Azure D. Chappell Amazon EC2, sito ufficiale The NIST definition of Cloud Computing T.Grance, P.Mell Cloud Computing and Grid Computing 360 degrees Compared I. Foster Can you deliver secure cloud computing services? Securing the Cloud: Designing Security for a New Age FierceCIO eflorida.com Software Development in the cloud N.Gulrajani, D. Bowler Securing the Cloud: A review of Cloud Computing, Security Implications and Best Practices Wmware White papers 14. Understanding Cloud Computing PhD Computing Cloud computing: utility computing over the internet Taneli Korri Helsinki University of Technology 16. Automated Control in Cloud Computing: Challenges and opportunities H. Lim, S. Babu, J. Chase, S. Parekh Duke Univerisity 17. An essential Guide to possibilities and Risk of Cloud computing M.Spinola Application Architecture for Cloud Computing J.Barr, T. von Eicken, E.Troan 19. What is Android? Google Code - Google Apache Software Foundation Apache Software Foundation Android. Guida per lo sviluppatore M. Carli Apogeo Android Developer - 17

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13 Architectural & Engineering Software L INGEGNERE NELLE NUVOLE App, WEB App e Cloud ing. Sauro Agostini Mitterand 1981 Reagan Battaglin Alice IBM PC 5150 Alonso C ERA UNA VOLTA IL DOS Non è una rivoluzione,

Dettagli

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google Android development Sviluppo di Mobile Apps sul sistema operativo di Google Agenda Giorni: Gio 14/04/2011 Ven 15/04/2011 Gio 21/04/2011 Ven 22/04/2011 Suddivisione: Mattina: teoria Pomeriggio: pratica

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

Dettagli

Il Cloud Computing: uno strumento per migliorare il business

Il Cloud Computing: uno strumento per migliorare il business Il Cloud Computing: uno strumento per migliorare il business Luca Zanetta Uniontrasporti I venti dell'innovazione - Imprese a banda larga Varese, 9 luglio 2014 1 / 22 Sommario Cos è il cloud computing

Dettagli

Android. Anatomia di una applicazione

Android. Anatomia di una applicazione Android Anatomia di una applicazione Elementi di base Gli elementi di base per costruire una applicazione Android sono cinque: Activity Intent Broadcast Receiver Service Content Provider 2 Activity (1/3)

Dettagli

C Cloud computing Cloud storage. Prof. Maurizio Naldi

C Cloud computing Cloud storage. Prof. Maurizio Naldi C Cloud computing Cloud storage Prof. Maurizio Naldi Cos è il Cloud Computing? Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/

Dettagli

w w w. n e w s o f t s r l. i t Soluzione Proposta

w w w. n e w s o f t s r l. i t Soluzione Proposta w w w. n e w s o f t s r l. i t Soluzione Proposta Sommario 1. PREMESSA...3 2. NSPAY...4 2.1 FUNZIONI NSPAY... 5 2.1.1 Gestione degli addebiti... 5 2.1.2 Inibizione di un uso fraudolento... 5 2.1.3 Gestione

Dettagli

CLOUD COMPUTING. Che cos è il Cloud

CLOUD COMPUTING. Che cos è il Cloud CLOUD COMPUTING Che cos è il Cloud Durante la rivoluzione industriale, le imprese che si affacciavano per la prima volta alla produzione dovevano costruirsi in casa l energia che, generata da grandi macchine

Dettagli

Cloud Computing....una scelta migliore. ICT Information & Communication Technology

Cloud Computing....una scelta migliore. ICT Information & Communication Technology Cloud Computing...una scelta migliore Communication Technology Che cos è il cloud computing Tutti parlano del cloud. Ma cosa si intende con questo termine? Le applicazioni aziendali stanno passando al

Dettagli

Gartner Group definisce il Cloud

Gartner Group definisce il Cloud Cloud Computing Gartner Group definisce il Cloud o Cloud Computing is a style of computing in which elastic and scalable information technology - enabled capabilities are delivered as a Service. Gartner

Dettagli

IL PRIVATE CLOUD DELLA FRIENDS' POWER

IL PRIVATE CLOUD DELLA FRIENDS' POWER IL PRIVATE CLOUD DELLA FRIENDS' POWER Evoluzione al Cloud Computing Condivisione dei lavori Integrazione con Android & iphone Cos è il Cloud: le forme e i vantaggi Durante la rivoluzione industriale, le

Dettagli

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni SERVER E VIRTUALIZZAZIONE Windows Server 2012 Guida alle edizioni 1 1 Informazioni sul copyright 2012 Microsoft Corporation. Tutti i diritti sono riservati. Il presente documento viene fornito così come

Dettagli

CLOUD COMPUTING REFERENCE ARCHITECTURE: LE INDICAZIONI DEL NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY. Prima parte: Panoramica sugli attori

CLOUD COMPUTING REFERENCE ARCHITECTURE: LE INDICAZIONI DEL NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY. Prima parte: Panoramica sugli attori ANALISI 11 marzo 2012 CLOUD COMPUTING REFERENCE ARCHITECTURE: LE INDICAZIONI DEL NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY Nella newsletter N 4 abbiamo già parlato di Cloud Computing, introducendone

Dettagli

Ottimizzare l IT. Interesse verso il cloud. Cloud computing. Ottimizzare l'it 16/04/2010. Assyrus Srl 1. Cloud Computing

Ottimizzare l IT. Interesse verso il cloud. Cloud computing. Ottimizzare l'it 16/04/2010. Assyrus Srl 1. Cloud Computing Ottimizzare l IT Cloud Computing Interesse verso il cloud 16/04/2010 Ottimizzare l'it 2 Cloud computing Cloud computing insieme di tecnologie informatiche che permettono l'utilizzo di risorse (storage,

Dettagli

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale 1. Livello infrastrutturale Il Cloud, inteso come un ampio insieme di risorse e servizi fruibili da Internet che possono essere dinamicamente

Dettagli

Linux Day 2009 24/10/09. Cloud Computing. Diego Feruglio

Linux Day 2009 24/10/09. Cloud Computing. Diego Feruglio Linux Day 2009 24/10/09 Cloud Computing Diego Feruglio Cos è il Cloud Computing? An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously

Dettagli

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply Abstract Nei nuovi scenari aperti dal Cloud Computing, Reply si pone come provider di servizi e tecnologie, nonché come abilitatore di soluzioni e servizi di integrazione, volti a supportare le aziende

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli

Il Cloud Computing nel mondo dei servizi: prospettive per Banche e PA

Il Cloud Computing nel mondo dei servizi: prospettive per Banche e PA Forum Banche e PA 2012 Roma, 23 24 Febbraio 2012 Il Cloud Computing nel mondo dei servizi: prospettive per Banche e PA Monica Pellegrino Research Analyst, ABI Lab Roma, 23 Febbraio 2012-1- Agenda L evoluzione

Dettagli

Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole

Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole Stefano Mainetti stefano.mainetti@polimi.it L ICT come Commodity L emergere del Cloud Computing e i nuovi modelli di delivery Trend n.

Dettagli

Nuova ECDL ONLINE COLLABORATION

Nuova ECDL ONLINE COLLABORATION PATENTE EUROPEA DEL COMPUTER Nuova ECDL ONLINE COLLABORATION CONCETTI FONDAMENTALI USO DI DISPOSITIVI MOBILI APPLICAZIONI SINCRONIZZAZIONE 4. COLLABORAZIONE MOBILE 4.1. Concetti fondamentali 4.1.1 Identificare

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

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

Dettagli

Virtualizzazione e Cloud Computing

Virtualizzazione e Cloud Computing Virtualizzazione e Cloud Computing 12 marzo 2015 Claudio Bizzarri claudio@bizzarri.net Ordine degli Ingegneri di Pistoia La virtualizzazione Macchine reali e macchine virtuali Vantaggi della virtualizzazione

Dettagli

Formazione e Apprendimento in Rete Open source. Il cloud computing. Dropbox e Google Drive ambienti di condivisione e collaborazione

Formazione e Apprendimento in Rete Open source. Il cloud computing. Dropbox e Google Drive ambienti di condivisione e collaborazione Formazione e Apprendimento in Rete Open source Il cloud computing Dropbox e Google Drive ambienti di condivisione e collaborazione Formazione insegnanti Generazione Web Lombardia Il Cloud, metafora per

Dettagli

RELAZIONE E COMUNICAZIONE. Sviluppare la gestione delle relazioni con i clienti grazie a:

RELAZIONE E COMUNICAZIONE. Sviluppare la gestione delle relazioni con i clienti grazie a: RELAZIONE E COMUNICAZIONE Sviluppare la gestione delle relazioni con i clienti grazie a: Microsoft Office System 2007 Windows Vista Microsoft Exchange Server 2007 è ancora più potente ed efficace, grazie

Dettagli

IT ARCHITECTURE: COME PREPARARSI AL CLOUD

IT ARCHITECTURE: COME PREPARARSI AL CLOUD IT ARCHITECTURE: COME PREPARARSI AL CLOUD Stefano Mainetti stefano.mainetti@polimi.it L ICT come Commodity L emergere del Cloud Computing e i nuovi modelli di delivery Trend n. 1 - ICT Commoditization

Dettagli

Cloud Computing e Mobility:

Cloud Computing e Mobility: S.A.F. SCUOLA DI ALTA FORMAZIONE LUIGI MARTINO Cloud Computing e Mobility: Lo studio professionale agile e sicuro Davide Grassano Membro della Commissione Informatica 4 dicembre 2013 - Milano Agenda 1

Dettagli

I nuovi modelli di delivery dell IT: un quadro di riferimento

I nuovi modelli di delivery dell IT: un quadro di riferimento I nuovi modelli di delivery dell IT: un quadro di riferimento Stefano Mainetti Fondazione Politecnico di Milano stefano.mainetti@polimi.it Milano, 25 Ottobre 2010 Cloud Computing: il punto d arrivo Trend

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA. Sviluppare e Integrare. basate sul CLOUD ROMA 11-12 NOVEMBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231

LA TECHNOLOGY TRANSFER PRESENTA. Sviluppare e Integrare. basate sul CLOUD ROMA 11-12 NOVEMBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 LA TECHNOLOGY TRANSFER PRESENTA GERHARD BAYER Sviluppare e Integrare le Business Applications basate sul CLOUD ROMA 11-12 NOVEMBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it

Dettagli

Libera il tuo business UNIFIED COMMUNICATION CLOUD COMPUTING

Libera il tuo business UNIFIED COMMUNICATION CLOUD COMPUTING Libera il tuo business UNIFIED COMMUNICATION CLOUD COMPUTING 53% ottimizzazione dei costi di implementazione 48% risparmio sui costi di manutenzione 46% velocità di innovazione 30% costi adattabili in

Dettagli

Apps4Law: Riflessioni sul Cloud Computing. Roma 21 marzo 2013 Sala Seminari UNIRIZ. Alessandro Graziani, Avvocato alessandrograziani@iuslaw.

Apps4Law: Riflessioni sul Cloud Computing. Roma 21 marzo 2013 Sala Seminari UNIRIZ. Alessandro Graziani, Avvocato alessandrograziani@iuslaw. Apps4Law: Riflessioni sul Cloud Computing Roma 21 marzo 2013 Sala Seminari UNIRIZ 2 3 Il Cloud Computing si definisce consuetamente secondo due distinte accezioni: 1. un di carattere tecnologico 2. l altra

Dettagli

SEWEB PRIVATE CLOUD SERVICE SISTEMA CLOUD AZIENDALE

SEWEB PRIVATE CLOUD SERVICE SISTEMA CLOUD AZIENDALE SEWEB PRIVATE CLOUD SERVICE SISTEMA CLOUD AZIENDALE Sommario TIPOLOGIE DI CLOUD... 4 PRIVATE CLOUD... 4 COMMUNITY CLOUD... 4 PUBLIC CLOUD... 4 HYBRID CLOUD... 4 CARATTERISTICHE DEL SERVIZIO OFFERTO...

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

La posta elettronica in cloud

La posta elettronica in cloud La posta elettronica in cloud www.kinetica.it Cosa significa avere la posta elettronica in cloud? I tuoi archivi di posta non sono residenti su un computer o un server della tua rete, ma su un server di

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

VDI IN A BOX. www.lansolution.it - info@lansolution.it - 051 5947388

VDI IN A BOX. www.lansolution.it - info@lansolution.it - 051 5947388 VDI IN A BOX Con le soluzioni Citrix e la professionalità di Lansolution, ora puoi: -Ridurre i costi -Garantire la sicurezza -Incrementare la produttività -Lavorare ovunque* La flessibilità del luogo di

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity.

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. UBIQUITY 6 e Server Privato Introduzione Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 21/06/2015 Disclaimer

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

Dettagli

MANUALE www.logisticity.it. Copryright 2015 - All rights reserved Email: info@logisticity.it - P.IVA 04183950403

MANUALE www.logisticity.it. Copryright 2015 - All rights reserved Email: info@logisticity.it - P.IVA 04183950403 MANUALE www.logisticity.it Copryright 2015 - All rights reserved Email: info@logisticity.it - P.IVA 04183950403 INDICE Presentazione... pag. 02 Applicativo... pag. 03 Amministrazione...pag. 06 Licenza...pag.

Dettagli

Applicazioni mobile Perchè investire e quali tecnologie usare

Applicazioni mobile Perchè investire e quali tecnologie usare GIANLUCA VAGLIO Applicazioni mobile Perchè investire e quali tecnologie usare 2010 Gianluca Vaglio www.gianlucavaglio.net Avvertenze legali AVVERTENZE LEGALI Copyright 2010 Gianluca Vaglio. La presente

Dettagli

IL CLOUD COMPUTING DALLE PMI ALLE ENTERPRISE. Salvatore Giannetto Presidente Salvix S.r.l

IL CLOUD COMPUTING DALLE PMI ALLE ENTERPRISE. Salvatore Giannetto Presidente Salvix S.r.l IL CLOUD COMPUTING Salvatore Giannetto Presidente Salvix S.r.l Agenda. - Introduzione generale : il cloud computing Presentazione e definizione del cloud computing, che cos è il cloud computing, cosa serve

Dettagli

L iniziativa Cloud DT

L iniziativa Cloud DT L iniziativa Cloud DT Francesco Castanò Dipartimento del Tesoro Ufficio per il Coordinamento Informatico Dipartimentale (UCID) Roma, Luglio 2011 Il Cloud Computing Alcune definizioni Il Cloud Computing

Dettagli

www.zetaqlab.com C-Light Web-based Management Software

www.zetaqlab.com C-Light Web-based Management Software www.zetaqlab.com C-Light Web-based Management Software WEB-BASED MANAGEMENT SOFTWARE C-Light è l applicazione per la gestione locale (intranet) e remota (internet) di ogni impianto d automazione integrabile

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Soluzioni innovative per la semplificazione dell infrastruttura IT Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Caratteristiche principali La flessibilità e la scalabilità della

Dettagli

Proposta App Smartphone e Tablet per Ufficio Concorsi Polizia di Stato

Proposta App Smartphone e Tablet per Ufficio Concorsi Polizia di Stato Proposta App Smartphone e Tablet per Ufficio Concorsi Polizia di Stato Indice App to you Introduzione Requisiti Funzionali Casi d uso Architettura SOA Proposte Dispositivi Supportati L App News Concorsi

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

Introduzione al Cloud Computing

Introduzione al Cloud Computing Risparmiare ed innovare attraverso le nuove soluzioni ICT e Cloud Introduzione al Cloud Computing Leopoldo Onorato Onorato Informatica Srl Mantova, 15/05/2014 1 Sommario degli argomenti Definizione di

Dettagli

Nuove tecnologie: scenari e opportunità per gli studi professionali

Nuove tecnologie: scenari e opportunità per gli studi professionali S.A.F. SCUOLA DI ALTA FORMAZIONE Nuove tecnologie: scenari e opportunità per gli studi professionali DAVIDE GRASSANO Membro della Commissione Informatica 1 Dicembre 2010 - Milano Agenda 1 Il software come

Dettagli

Sicurezza accessi, su software e piattaforme diverse, anche da dispositivi mobili, com è possibile?

Sicurezza accessi, su software e piattaforme diverse, anche da dispositivi mobili, com è possibile? Rimini, 1/2015 Sicurezza accessi, su software e piattaforme diverse, anche da dispositivi mobili, com è possibile? Le configurazioni con Server e desktop remoto (remote app), che possa gestire i vostri

Dettagli

Office 2010 e Office 365: il tuo ufficio sempre con te

Office 2010 e Office 365: il tuo ufficio sempre con te Office 2010 e Office 365: il tuo ufficio sempre con te Accedi ai tuoi documenti e messaggi di posta ovunque sei, sia online che offline, sul PC, sul telefono o sul browser. Usi Office, Excel, Word in ufficio

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business

Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business Mobile GIS in Eni e Future Architetture di Cloud Computing a Supporto del Business Carlo Michele Garbujo Eni e&p Abstract Oltre un anno fa eni e&p ha rilasciato una web application, denominata infoshop

Dettagli

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari Android Android A. Ferrari Android è un sistema opera8vo per disposi8vi mobili. Inizialmente sviluppato da Startup Android Inc. acquisita poi nel 2005 da Google Inc. Il cuore di Android è un kernel Linux.

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Cloud Computing: la prospettiva della Banca d Italia

Cloud Computing: la prospettiva della Banca d Italia Cloud Computing: la prospettiva della Banca d Italia Roma, 5 ottobre 2010 ing. Giovanni Peruggini Banca d Italia - Area Risorse Informatiche e Rilevazioni Statistiche La Banca d Italia Banca Centrale della

Dettagli

Creazione di una Azure Web App

Creazione di una Azure Web App Creazione di una Azure Web App Introduzione Oggi le aziende hanno sempre più la necessità di avere uno strumento per interagire con i propri clienti. La presenza sul web dell azienda diventa sempre di

Dettagli

Cloud computing. Aspetti legali.

Cloud computing. Aspetti legali. Via Tibullo 10-00193 Roma Tel (+39) o6 97996050 Fax (+39) 06 97996056 Cloud computing. Aspetti legali. Dott.ssa Benedetta Valenti benedetta.valenti@ssalex.com P. 2 Cosa è il cloud computing. Come è ben

Dettagli

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS Il modello SaaS Architettura 3D Cloud Il protocollo DCV Benefici Il portale Web EnginFrame EnginFrame

Dettagli

Hitachi Systems CBT S.p.A.

Hitachi Systems CBT S.p.A. Hitachi Systems CBT S.p.A. EasyCloud : Cloud Business Transformation LA TECNOLOGIA AL SERVIZIO DEL RINNOVAMENTO AZIENDALE Accompagniamo aziende di ogni dimensione e settore nella trasformazione strategica

Dettagli

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno:

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno: ISTITUTO ISTRUZIONE SECONDARIA SUPERIORE GUGLIELMO MARCONI Piazza Poerio 2, 70126 Bari - Tel.080-5534450 Fax.080-5559037 - www.marconibari.it - info@marconibari.it Programmazione Fondi Strutturali 2007/2013

Dettagli

Brochure DATA CENTER. www.novell.com. Novell Cloud Manager. Costruite e gestite ambienti cloud privati. (Finalmente è arrivato il cloud)

Brochure DATA CENTER. www.novell.com. Novell Cloud Manager. Costruite e gestite ambienti cloud privati. (Finalmente è arrivato il cloud) Brochure DATA CENTER Novell Cloud Manager Costruite e gestite ambienti cloud privati (Finalmente è arrivato il cloud) Novell Cloud Manager: il modo più semplice per creare e gestire ambienti cloud WorkloadIQ

Dettagli

Caratteristiche e funzionalità del cloud computing. Marco Barbi Flavio Bonfatti Laboratorio Softech ICT Università di Modena e Reggio Emilia

Caratteristiche e funzionalità del cloud computing. Marco Barbi Flavio Bonfatti Laboratorio Softech ICT Università di Modena e Reggio Emilia Caratteristiche e funzionalità del cloud computing Marco Barbi Flavio Bonfatti Laboratorio Softech ICT Università di Modena e Reggio Emilia Sommario Premesse: definizioni Prima del cloud computing: evoluzione

Dettagli

EyesDGTV. Your digital terrestrial television. Soluzioni Informatiche

EyesDGTV. Your digital terrestrial television. Soluzioni Informatiche EyesDGTV Your digital terrestrial television Soluzioni Informatiche Cos è EyesDGTV è la soluzione che Betacom propone per la televisione digitale terrestre. Basata su tecnologie consolidate, quali J2EE

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA GERHARD LO SVILUPPO APPLICATIVO NELL ERA DEL CLOUD E DEL MOBILE

LA TECHNOLOGY TRANSFER PRESENTA GERHARD LO SVILUPPO APPLICATIVO NELL ERA DEL CLOUD E DEL MOBILE LA TECHNOLOGY TRANSFER PRESENTA GERHARD BAYER LO SVILUPPO APPLICATIVO NELL ERA DEL CLOUD E DEL MOBILE ROMA 4-5 NOVEMBRE 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it www.technologytransfer.it

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Continuando a Navigare sulle Nuvole...

Continuando a Navigare sulle Nuvole... Continuando a Navigare sulle Nuvole... Andrea Pasquinucci A. Pasquinucci -- Continuando Navigare sulle Nuvole -- 17/10/2012 -- Pag. 1 Indice: Il Cloud: Veloce Riassunto Alcune Caratteristiche delle Nuvole

Dettagli

Android come eseguire il backup del telefono e trasferire contatti e dati.

Android come eseguire il backup del telefono e trasferire contatti e dati. Android come eseguire il backup del telefono e trasferire contatti e dati. Aggiornamento a un nuovo smartphone è un momento emozionante per gli utenti, in quanto finalmente arrivare a dire addio a un cellulare

Dettagli

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2. Basi Android 1 Android Cosa è Android? Android è un insieme di strumen8 e librerie per sviluppare applicazioni mobili è più di un SO Android si definisce open Con8ene tecnologie open source Linux Il codice

Dettagli

Didit Interactive Solution

Didit Interactive Solution Didit Interactive Solution Didit Interactive Solution Moonway.it Versione Italiana Data: Settembre 2008 Contenuti Introduzione... 3 Componenti Windows Richiesti... 3 Guidelines Generali di Configurazione...

Dettagli

Desktop Cloud: modelli, vantaggi, criticità

Desktop Cloud: modelli, vantaggi, criticità Dipartimento di Elettronica e Informazione Desktop Cloud: modelli, vantaggi, criticità Eugenio Capra eugenio.capra@polimi.it Evento ZeroUno, Milano, 24 marzo 2011 Le esigenze degli IT manager Le principali

Dettagli

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows i SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows Per ulteriori informazioni sui prodotti software SPSS Inc., visitare il sito Web all indirizzo http://www.spss.it o contattare: SPSS

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

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

Sistemi Mobili e Wireless Android Primi passi

Sistemi Mobili e Wireless Android Primi passi Sistemi Mobili e Wireless Android Primi passi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Ambiente di sviluppo L'ambiente

Dettagli

Il cloud per la tua azienda.

Il cloud per la tua azienda. Il cloud per la tua azienda. Questo è Microsoft Cloud Ogni azienda è unica. Dalla sanità alla vendita al dettaglio, alla produzione o alla finanza, non esistono due aziende che operano nello stesso modo.

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi.

Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi. UNIVERSITÀ DEGLI STUDI DI FERRARA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell'automazione Cloud Computing, infrastrutture innovative per l'outsourcing di applicazioni e servizi.

Dettagli

Telematica II 5. Esercitazione/Laboratorio 1

Telematica II 5. Esercitazione/Laboratorio 1 IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti

Dettagli

Stefano Mainetti Fondazione Politecnico di Milano

Stefano Mainetti Fondazione Politecnico di Milano Quale Roadmap per il Cloud Computing? Stefano Mainetti Fondazione Politecnico di Milano stefano.mainetti@fondazione.polimi.it La definizione classica del Cloud Computing 4 modelli di deployment Cloud private

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

"Cloud Business Solutions" di INTESA Descrizione del Servizio SMART SALES

Cloud Business Solutions di INTESA Descrizione del Servizio SMART SALES "Cloud Business Solutions" di INTESA Descrizione del Servizio SMART SALES 1. Accesso ai Servizi Il Portale INTESA, le informazioni riguardanti l'utilizzo da parte del Cliente del Servizio Cloud le informazioni

Dettagli

GoCloud just google consulting

GoCloud just google consulting La visione Cloud di Google: cosa cambia per i profili tecnici? GoCloud just google consulting Workshop sulle competenze ed il lavoro degli IT Systems Architect Vincenzo Gianferrari Pini

Dettagli

USER GUIDE. Manuale operativo per l utilizzo dell applicativo per il monitoraggio remoto Aditech Life REV 1

USER GUIDE. Manuale operativo per l utilizzo dell applicativo per il monitoraggio remoto Aditech Life REV 1 USER GUIDE Manuale operativo per l utilizzo dell applicativo per il monitoraggio remoto Aditech Life REV 1 SOMMARIO Introduzione... 3 Sensore BioHarness... 3 OVERVIEW BIOHARNESS 3.0 BT/ECHO... 4 OVERVIEW

Dettagli

CLOUD E... DARK CLOUDS

CLOUD E... DARK CLOUDS CLOUD E... DARK CLOUDS Cos'è il Cloud Compu-ng? Google: 387.000.000 di risulta- Wikipedia: indica un insieme di tecnologie che permeaono, -picamente soao forma di un servizio offerto da un provider al

Dettagli

Il protocollo FTP (1/3)

Il protocollo FTP (1/3) FTP Server e Client Il protocollo FTP (1/3) Il File Transfer Protocol (FTP) (protocollo di trasferimento file), è un Protocollo per la trasmissione di dati tra host basato su TCP. Un server FTP offre svariate

Dettagli

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro In un mondo in cui sempre più dipendenti usano smartphone e tablet per accedere ai dati aziendali, è fondamentale

Dettagli

Manuale utente. ver 1.0 del 31/10/2011

Manuale utente. ver 1.0 del 31/10/2011 Manuale utente ver 1.0 del 31/10/2011 Sommario 1. Il Servizio... 2 2. Requisiti minimi... 2 3. L architettura... 2 4. Creazione del profilo... 3 5. Aggiunta di un nuovo dispositivo... 3 5.1. Installazione

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

Una rassegna dei sistemi operativi per il Cloud Computing

Una rassegna dei sistemi operativi per il Cloud Computing Alma Mater Studiorum Università di Bologna SCUOLA DI SCIENZE Corso di Laurea in Informatica Una rassegna dei sistemi operativi per il Cloud Computing Tesi di Laurea in Reti di Calcolatori Relatore: Chiar.mo

Dettagli

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!

Dettagli

Cloud Survey 2012: lo stato del cloud computing in Italia

Cloud Survey 2012: lo stato del cloud computing in Italia Cloud Survey 2012: lo stato del cloud computing in Italia INTRODUZIONE EXECUTIVE SUMMARY Il cloud computing nelle strategie aziendali Cresce il numero di aziende che scelgono infrastrutture cloud Perché

Dettagli