UNIVERSITÀ DELLA CALABRIA Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DELLA CALABRIA Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica"

Transcript

1 UNIVERSITÀ DELLA CALABRIA Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica TESI DI LAUREA Un File Management su Cloud Relatore Calimeri Francesco Candidato Coscarella Valentina matr Anno Accademico 2010/2011

2 Ai miei genitori. per aver reso possibile tutto ciò

3 INDICE 1 INTRODUZIONE Contesto e Motivazioni Attività Svolte e Risultati Ottenuti TECNOLOGIE E STRUMENTI UTILIZZATI PER LO SVILUPPO DEL PROGETTO Tecnologie e Metodologie Cloud Computing Html Ajax Xhtml Mobile Profile Applet Java Ambienti e Strumenti Php Ftp Ssh MySql Apache Http Server YOUR FILES ANYWHERE Architettura dell applicazione Your Files Anywhere su PC Descrizione Funzionalità dell applicazione Casi d uso Your Files Anywhere su Mobile Descrizione Funzionalità dell applicazione Casi d uso FUNZIONI PRELIMINARI (BETA) CONCLUSIONI BIBLIOGRAFIA SITOGRAFIA RINGRAZIAMENTI... 43

4 Un File Management su Cloud 2 1 INTRODUZIONE 1.1 Contesto e Motivazioni Tenere il passo con le nuove tecnologie è a dir poco difficile se non impossibile. Negli ultimi anni siamo stati testimoni di innumerevoli cambiamenti e progressi, in ogni ambito dall informatica, dalla portabilità alla condivisione dei file. Se prima l hard disk del nostro computer, era l unico posto dove memorizzare tutti i nostri file, con l avanzare della tecnologie si è passati all utilizzo dei dispositivi portatili, fino ad arrivare al cloud computing. Il cloud computing è l insieme di tecnologie informatiche che permettono l utilizzo di risorse hardware e software distribuite on line, basandosi su Applicazioni Web. Quest ultime sono applicazioni accessibili via web, che forniscono ad un qualsiasi client funzioni applicative, attraverso i normali browser. In altre parole, il cloud computing consente la gestione on line delle applicazioni e delle attività, indipendentemente dal dispositivo che si sta utilizzando. Proviamo ad immaginare il web come un cielo pieno di nuvole, clouds appunto, e immaginiamo che ogni file risieda su ognuna di essa: ecco, per noi sarebbe possibile accedere al nostro file in qualunque istante e da qualsiasi luogo in cui ci troviamo, senza doverci preoccupare di altro. Un hosting service provider, o un insieme di essi, si occuperà di gestire l architettura, l hardware ed il software, la sicurezza dei dati, mentre l utente finale dovrà solo accedere ai suoi documenti e programmi via internet.

5 Un File Management su Cloud 3 Se oltre ai file pensiamo a spostare sul cloud anche gli applicativi, è facile immaginare una immediata riduzione dei costi avendo, per di più, sempre a disposizione le versioni più aggiornate dei programmi. L interesse per il web e la voglia di ascoltare la nostra musica dovunque ci troviamo, associate alla curiosità che nutriamo verso il cloud computing, ci hanno spinto a sviluppare un applicazione web tramite cui è possibile fruire dei propri contenuti, senza l installazione di alcun software. La scelta delle ultime tecnologie web per realizzare l applicazione, quali AJAX e HTML5, è dovuta alla possibilità di imparare il più possibile da un lavoro che si basa sulla combinazione di più tecnologie. Ad ajax e html, si aggiungono php, applet java, mysql e xhtml mp, la cui trattazione verrà approfondita all interno di questo lavoro di tesi. 1.2 Attività Svolte e Risultati Ottenuti L applicazione web è stata sviluppata integrando php, ajax e html, servendosi di alcuni protocolli come FTP, per la connessione con il server. Si è reso necessario poi, in un particolare caso, l aggiunta di un applet java integrata in una delle pagine della nostra applicazione, per fornire all utente un ulteriore servizio. Il risultato finale è un file management su Cloud. L utente avrà a disposizione, sul server, una home personale a cui accedere, e da cui gestire tutti i propri file, organizzandoli in cartelle, e effettuando diverse operazioni, quali: Caricare; Scaricare; Cancellare; Condividere;

6 Un File Management su Cloud 4 E sempre direttamente dal web browser l utente avrà la possibilità di Visualizzare le immagini; Leggere i file di testo; Ascoltare i file audio; Guadare i file video; Altra funzionalità messa a disposizione all utente è la sincronizzazione di file e cartelle da locale a remoto e viceversa. Molto utile per tenere in costante aggiornamento tutti i file personali.

7 Un File Management su Cloud 5 2 TECNOLOGIE E STRUMENTI UTILIZZATI PER LO SVILUPPO DEL PROGETTO 2.1 Tecnologie e Metodologie Cloud Computing In informatica con il termine inglese cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in Rete. La correttezza nell'uso del termine è contestato da molti esperti: se queste tecnologie sono viste da alcuni analisti come una maggiore evoluzione tecnologica offerta dalla rete Internet, da altri, sono invece considerate una trappola di marketing. È noto come, utilizzando varie tipologie di unità di elaborazione (CPU), memorie di massa fisse o mobili come ram, dischi rigidi interni o esterni, Cd/DVD, chiavi USB, eccetera, un computer sia in grado di elaborare, archiviare, recuperare programmi e dati. Nel caso di computer collegati in rete locale (lan) o geografica (wan) la possibilità di elaborazione/archiviazione/recupero può essere estesa ad altri computer e dispositivi remoti dislocati sulla rete stessa. Sfruttando la tecnologia del cloud computing gli utenti collegati ad un cloud

8 Un File Management su Cloud 6 provider possono svolgere tutte queste mansioni, anche tramite un semplice internet browser. Possono, ad esempio, utilizzare software remoti non direttamente installati sul proprio computer e salvare dati su memorie di massa on-line predisposte dal provider stesso (sfruttando sia reti via cavo che senza fili). Nonostante il termine sia piuttosto vago e sembri essere utilizzato in diversi contesti con significati differenti tra loro, si possono distinguere tre tipologie fondamentali di cloud Computing: SaaS (Software as a Service) - Consiste nell'utilizzo di programmi in remoto, spesso attraverso un server web. Questo acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (Application service provider). PaaS (Platform as a Service) - È simile al SaaS, ma, invece che uno o più programmi singoli, viene eseguita in remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc. IaaS (Infrastructure as a Service) - Utilizzo di risorse hardware in remoto. Questo tipo di Cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta o domanda al momento in cui un cliente ne ha bisogno, non vengono assegnate a prescindere dal loro utilizzo effettivo. Il termine cloud computing si differenzia però da grid computing che è invece un paradigma orientato al calcolo distribuito, e in generale, richiede che le applicazioni siano progettate in modo specifico. Nel caso di funzionalità di memorizzazione in remoto la creazione di una copia di sicurezza (backup) è automatica e l'operatività si trasferisce tutta online mentre i dati sono memorizzati in server farm generalmente localizzate nei Paesi di origine del service provider. Il Cloud Computing rende disponibili all'utilizzatore le risorse come se fossero implementate da sistemi (server o periferiche personali) "standard". L'implementazione effettiva delle risorse non è definita in modo dettagliato; anzi l'idea è proprio che l'implementazione sia un insieme eterogeneo e distribuito

9 Un File Management su Cloud 7 the cloud, in inglese nuvola di risorse le cui caratteristiche non sono note all'utilizzatore. Il sistema del cloud computing prevede tre fattori distinti: Fornitore di servizi (cloud provider) Offre servizi (server virtuali, storage, applicazioni complete) generalmente secondo un modello "pay-per-use"; Cliente amministratore Sceglie e configura i servizi offerti dal fornitore, generalmente offrendo un valore aggiunto come ad esempio applicazioni software; Cliente finale Utilizza i servizi opportunamente configurati dal cliente amministratore. In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere. Ad esempio un cliente può utilizzare un servizio di storage per effettuare il backup dei propri dati, in questo caso il cliente finale provvede a configurare e utilizzare il servizio. L'architettura del cloud computing prevede uno o più server reali, generalmente in architettura ad alta affidabilità e fisicamente collocati presso il data center del fornitore del servizio.

10 Un File Management su Cloud 8 Il fornitore di servizi espone delle interfacce per elencare e gestire i propri servizi. Il cliente amministratore utilizza tali interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione). Il cliente finale utilizza il servizio configurato dal cliente amministratore. Le caratteristiche fisiche dell'implementazione (server reale, localizzazione del data center) sono irrilevanti. I sistemi di cloud computing vengono criticati principalmente per l'esposizione degli utenti a rischi legati a: 1) Sicurezza informatica e privacy degli utenti: Utilizzare un servizio di cloud computing per memorizzare dati personali o sensibili, espone l'utente a potenziali problemi di violazione della privacy. I dati personali vengono memorizzati nelle Server Farms di aziende che spesso risiedono in uno stato diverso da quello dell'utente. Il cloud provider, in caso di comportamento scorretto o malevolo, potrebbe accedere ai dati personali per eseguire ricerche di mercato e profilazione degli utenti. Con i collegamenti wireless, il rischio sicurezza aumenta e si è maggiormente esposti ai casi di pirateria informatica a causa della minore sicurezza offerta dalle reti senza fili. In presenza di atti illegali, come appropriazione indebita o illegale di dati personali, il danno potrebbe essere molto grave per l'utente, con difficoltà di raggiungere soluzioni giuridiche e/o rimborsi se il fornitore risiede in uno stato diverso da paese dell'utente. Nel caso di industrie o aziende, tutti i dati memorizzati nelle memorie esterne sono seriamente esposti a eventuali casi di spionaggio industriale. 2) Problemi internazionali di tipo economico e politico Possono verificarsi quando dati pubblici sono raccolti e conservati in archivi privati, situati in un paese diverso da quelli degli utenti della "nube". Produzioni cruciali e di carattere intellettuale insieme ad una grande quantità di informazioni personali sono memorizzate crescentemente in forma di dati digitali in archivi privati centralizzati e parzialmente accessibili. Nessuna garanzia viene data agli utenti per un libero accesso futuro.

11 Un File Management su Cloud 9 Altre problematiche sono legate alla localizzazione degli archivi della "nube" in alcuni paesi ricchi. Se non regolato da specifiche norme internazionali ciò potrebbe: 1. aumentare il "digital divide" tra paesi ricchi e poveri (se l'accesso alle conoscenze memorizzate non sarà liberamente garantita a tutti). 2. favorire principalmente grandi corporation con «organismi policentrici" e "menti monocentriche" dislocate principalmente nei Paesi della "nuvola", essendo la proprietà immateriale considerata come un fattore strategico per le moderne economie "knowledge-based". 3) Continuità del servizio offerto: Delegando a un servizio esterno la gestione dei dati e la loro elaborazione l'utente si trova fortemente limitato nel caso in cui i suddetti servizi non siano operativi (out of service). Un eventuale malfunzionamento inoltre colpirebbe un numero molto elevato di persone contemporaneamente dato che questi sono servizi condivisi. Anche se i migliori servizi di cloud computing utilizzano architetture ridondate e personale qualificato al fine di evitare malfunzionamenti dei sistema e ridurre la probabilità di guasti visibili dall'utente finale, non eliminano del tutto il problema. Bisogna anche considerare che tutto si basa sulla possibilità di avere una connessione Internet ad alta velocità sia in download che in upload e che anche nel caso di una interruzione della connessione dovuta al proprio Internet Service Provider/ISP si ha la completa paralisi delle attività. 4) Difficoltà di migrazione dei dati nel caso di un eventuale cambio del gestore dei servizi cloud: Non esistendo uno standard definito tra i gestori dei servizi un eventuale cambio di operatore risulta estremamente complesso. Tutto ciò risulterebbe estremamente dannoso in caso di fallimento del gestore dei servizi cui ci si è affidati.

12 Un File Management su Cloud Html In informatica l'hypertext Markup Language (traduzione letterale: linguaggio di descrizione per ipertesti) è il linguaggio solitamente usato per i documenti ipertestuali disponibili nel World Wide Web. In tali documenti, un tratto di testo può essere contrassegnato inserendo delle etichette, tag, che ne descrivono la funzione, il colore, il link, o altre caratteristiche. Il contenuto servito dai siti web in seguito a una richiesta dell'utente solitamente consiste di un documento HTML: un web browser scarica da uno o più web server il contenuto HTML ed eventuali documenti collegati e li elabora, ossia ne interpreta il codice, al fine di generare la visualizzazione della pagina desiderata sullo schermo del computer. L'HTML non è un linguaggio di programmazione (in quanto non prevede alcuna definizione di variabili, strutture dati, funzioni, strutture di controllo) ma solamente un linguaggio di markup che descrive le modalità di impaginazione, formattazione o visualizzazione grafica (layout) del contenuto, testuale e non, di una pagina web attraverso tag di formattazione. Tuttavia, l'html supporta l'inserimento di script e oggetti esterni quali immagini o filmati. Punto HTML (.html) o punto HTM (.htm) è anche l'estensione comune per riconoscere i documenti in questo formato. L'HTML è un linguaggio di pubblico dominio la cui sintassi è stabilita dal World Wide Web Consortium (W3C), e che è basato su un altro linguaggio avente scopi più generici, l'sgml. È stato sviluppato alla fine degli anni ottanta da Tim Berners- Lee al CERN di Ginevra assieme al noto protocollo HTTP che supporta invece il trasferimento di documenti in tale formato. Verso il 1994 ha avuto una forte diffusione in seguito ai primi utilizzi commerciali del web. Nel corso degli anni, seguendo lo sviluppo di Internet, l'html ha subito molte revisioni, ampliamenti e miglioramenti, che sono stati indicati secondo la classica numerazione usata per descrivere le versioni dei software. Attualmente l'ultima versione disponibile è la versione 4.01, resa pubblica il 24 dicembre Dopo un periodo di sospensione, in cui il W3C si è focalizzato soprattutto sulle definizioni di XHTML (applicazione a HTML di regole e

13 Un File Management su Cloud 11 sintassi in stile XML) e dei fogli di stile (CSS), nel 2007 è ricominciata l'attività di specifica con la definizione, ancora in corso, di HTML5. Un'ulteriore ed importante caratteristica di HTML è che esso è stato concepito per definire il contenuto logico e non l'aspetto finale del documento. I dispositivi che possono accedere ad un documento HTML sono molteplici e non sempre dotati di potenti capacità grafiche. Proprio per questo gli sviluppatori di HTML hanno optato per un linguaggio che descrivesse dal punto di vista logico, piuttosto che grafico il contenuto dei documenti. Questo significa che non esiste alcuna garanzia che uno stesso documento venga visualizzato in egual modo su due dispositivi. Se da una parte questo ha imposto in passato dei forti limiti agli sviluppatori di pagine Web, ha dall'altro garantito la massima diffusione di Internet ed evitato che essa diventasse un medium di élite. Attualmente i documenti HTML sono in grado di incorporare molte tecnologie, che offrono la possibilità di aggiungere al documento ipertestuale controlli più sofisticati sulla resa grafica, interazioni dinamiche con l'utente, animazioni interattive e contenuti multimediali. Si tratta di linguaggi come CSS, JavaScript o Java, o di altre applicazioni multimediali di animazione vettoriale o di streaming audio o video. Al giorno d'oggi molti web designer delegano la scrittura del codice HTML ad applicazioni specifiche, come per esempio i cosiddetti editor WYSIWYG che permettono al designer di occuparsi dell'aspetto grafico finale della pagina mentre il codice vero e proprio viene generato automaticamente. Gli sviluppatori puri preferiscono invece utilizzare direttamente il codice HTML, in modo da avere un maggior controllo sul risultato finale e sulla pulizia del codice scritto, cosa che gli editor WYSIWYG odierni nonostante siano sempre più avanzati non possono sempre garantire. I documenti HTML vengono immagazzinati di solito sui dischi rigidi di macchine elaboratrici (computer-server) costantemente collegate alla rete Internet. Su queste macchine è installato un software specifico detto web server che si occupa di produrre e inviare i documenti ai browser degli utenti che ne fanno richiesta usando il protocollo HTTP per il trasferimento dati.

14 Un File Management su Cloud 12 Spesso il documento HTML viene generato del tutto o parzialmente tramite un codice eseguibile residente sul server Internet in grado di interagire con altre applicazioni presenti sul server stesso, come per esempio un database, e inviare poi al browser il risultato finale, realizzando le cosiddette pagine dinamichecon cui un utente può compiere operazioni interattive avanzate (per esempio, filtrare gli articoli all'interno di un catalogo on-line). È il caso dei documenti scritti in linguaggi come ASP, PHP o Perl Ajax Una tecnica di sviluppo per la realizzazione di applicazioni web interattive è AJAX, acronimo di Asynchronous JavaScript and XML. Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dell'utente. AJAX è asincrono nel senso che i dati extra sono richiesti al server e caricati in background senza interferire con il comportamento della pagina esistente. Normalmente le funzioni richiamate sono scritte con il linguaggio JavaScript. Tuttavia, e a dispetto del nome, l'uso di JavaScript e di XML non è obbligatorio, come non è necessario che le richieste di caricamento debbano essere necessariamente asincrone. AJAX è una tecnica multi-piattaforma utilizzabile su molti sistemi operativi, architetture informatiche e browser web, ed esistono numerose implementazioni open source di librerie e framework. La tecnica Ajax utilizza una combinazione di: HTML (o XHTML) e CSS per il markup e lo stile; DOM ( Document Object Model) manipolato attraverso un linguaggio ECMAScript come JavaScript o JScript per mostrare le informazioni ed interagirvi;

15 Un File Management su Cloud 13 l'oggetto XMLHttpRequest per l'interscambio asincrono dei dati tra il browser dell'utente e il web server. In alcuni framework Ajax e in certe situazioni, può essere usato un oggetto Iframe invece di XMLHttpRequest per scambiare i dati con il server e, in altre implementazioni, tag <script> aggiunti dinamicamente (JSON); in genere viene usato XML come formato di scambio dei dati, anche se di fatto qualunque formato può essere utilizzato, incluso testo semplice, HTML preformattato, JSON e perfino EBML. Questi file sono solitamente generati dinamicamente da script lato server. Come DHTML o LAMP, Ajax non è una tecnologia individuale, piuttosto è un gruppo di tecnologie utilizzate insieme. Le applicazioni web che usano Ajax richiedono browser che supportano le tecnologie necessarie (quelle dell'elenco sopra). Questi browser includono: Mozilla, Firefox, Opera, Konqueror, Safari, Internet Explorer e Chrome. Tuttavia, per specifica, "Opera non supporta la formattazione degli oggetti XSL". Le applicazioni web tradizionali consentono agli utenti di compilare moduli e, quando questi moduli vengono inviati, viene inviata una richiesta al web-server. Il web server agisce in base a ciò che è stato trasmesso dal modulo e risponde bloccando o mostrando una nuova pagina. Dato che molto codice HTML della prima pagina è identico a quello della seconda, viene sprecata moltissima banda. Dato che una richiesta fatta al web server deve essere trasmessa su ogniinterazione con l'applicazione, il tempo di reazione dell'applicazione dipende dal tempo di reazione del web server. Questo comporta che l'interfaccia utente diventa molto più lenta di quanto dovrebbe essere. Le applicazioni Ajax, d'altra parte, possono inviare richieste al web server per ottenere solo i dati che sono necessari (generalmente usando SOAP e JavaScript per mostrare la risposta del server nel browser). Come risultato si ottengono applicazioni più veloci (dato che la quantità di dati interscambiati fra il browser ed il server si riduce). Anche il tempo di elaborazione da parte del web server si riduce poiché la maggior parte dei dati della richiesta sono già stati elaborati.

16 Un File Management su Cloud 14 Un esempio concreto: molti siti usano le tabelle per visualizzare i dati. Per cambiare l'ordine di visualizzazione dei dati, con un'applicazione tradizionale l'utente dovrebbe cliccare un link nell'intestazione della tabella che invierebbe una richiesta al server per ricaricare la pagina con il nuovo ordine. Il web server allora invierebbe una nuova query SQL al database ordinando i dati come richiesto, la eseguirebbe, prenderebbe i dati e ricostruirebbe da zero la pagina web reinviandola integralmente all'utente. Usando le tecnologie Ajax, questo evento potrebbe preferibilmente essere eseguito con uno JavaScript lato client che genera dinamicamente una vista dei dati con DHTML. Un altro esempio potrebbe essere la scelta di un nuovo nickname in fase di creazione di un account su un sito web, nel caso classico, se il nome che abbiamo scelto fosse già esistente, dovremmo compilare prima tutto il modulo ed accorgerci solo dopo aver atteso il caricamento della pagina di conferma che il nome è già esistente e dobbiamo cambiarlo, invece con AJAX può essere introdotto un controllo sull'evento onchange o addirittura OnKeyUp della casella di testo che ci può informare tempestivamente che il nome inserito non è valido, magari evidenziando il testo in rosso (CSS + Javascript). Come per le applicazioni DHTML, anche le applicazioni AJAX devono essere testate su più browser per verificarne la compatibilità (librerie come Sarissa di SourceForge possono tuttavia essere di aiuto). Inoltre è richiesto che nel client sia attivato Javascript. Il vantaggio di usare AJAX è la grande velocità alla quale un'applicazione risponde agli input dell'utente. Un problema abbastanza degno di nota è che, senza l'adozione di adeguate contromisure, le applicazioni AJAX possono rendere non utilizzabile il tasto "indietro" del browser: con questo tipo di applicazioni, infatti, non si naviga da una pagina all'altra, ma si aggiorna di volta in volta una singola parte del medesimo documento. Proprio per questo i browser, che sono programmi orientati alla pagina, non hanno possibilità di risalire ad alcuna di tali versioni "intermedie". Google, nella sua Google Maps, ha sviluppato una possibile soluzione al problema: invece di usare XMLHttpRequest quando l'utente clicca sul pulsante di ricerca, il risultato della ricerca viene inviato in un iframe invisibile, dal quale le informazioni sono portate nella pagina visibile.

17 Un File Management su Cloud 15 Le ultime tecnologie HTML5 (non ancora totalmente supportate ovunque) che permettono di manipolare la cronologia del browser, hanno permesso di ovviare al problema dell'orientamento a pagina. Questo utilizzo si svolge principalmente in 4 fasi: Blocco dell'evento di refresh con un event.preventdefault() Introduzione di una nuova entità nella cronologia tramite il metodo history.pushstate(state_object, title, link) Richiesta in Ajax Handling dell'evento popstate In ogni modo, un attento design delle applicazioni AJAX permette di risolvere in parte (talvolta tutti) questi aspetti negativi Xhtml Mobile Profile Linguaggio di markup, progettato specificatamente per telefoni cellulari e altri apparecchi con risorse limitate. È un tipo di XHTML definito dalla Open Mobile Alliance. XHTML-MP è derivato da XHTML 1.1 Basic Profile aggiungendo XHTML Modules (e altri moduli nelle versioni più recenti, anche se questo non assicura una completa compatibilità con i browser XHTML-MP). Lo standard raccomandato è l'1.1 DTD, concluso ad ottobre I lavori sulla versione 1.2 DTD continuano ma una data di rilascio non è ancora nota. Per essere validato XHTML Mobile 1.1, un documento deve contenere la seguente Dichiarazione di Tipo di Documento, o DOCTYPE: <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN" "http://www.openmobilealliance.org/tech/dtd/xhtml-mobile11.dtd"> Il tipo MIME per XHTML Mobile Profile è "application/vnd.wap.xhtml+xml". Gli user agent compatibili dovrebbero accettare anche "application/xhtml+xml" and "text/html".

18 Un File Management su Cloud 16 La versione 1.2 aggiunge il support per gli oggetti e le form. La versione 1.1 ha aggiunto il supporto per lo scripting ECMAScript Mobile Profile. La versione 1.0 ha esteso XHTML 1.1 Basic Profile con alcune rappresentazioni di elementi e un supporto di scripting di base. I moduli inclusi in XHTML-MP 1.2 sono: Structure Texts Hypertext List Forms Basic Tables Image Object Metainformation Scripting Style Sheet Style Attribute Link Base XHTML-MP 1.2 supporta anche parzialmente: Presentation Intrinsic Events Legacy Infine la versione 1.2 include uno specifico modulo Open Mobile Alliance (OMA), il "Text Input Modes", per usare i diversi tipi di input-mode permessi sui cellulari.

19 Un File Management su Cloud 17 Molti problemi sorgono quando il contenuto scritto in XHTML è visualizzato su apparecchi diversi. Alcuni rispetteranno i colori specificati nel CSS mentre alcuni non lo faranno, altri visualizzeranno le tabelle e altri no, solo per citare alcuni esempi. Sviluppare un'applicazione che si adatti ai device, significa scrivere contenuti diversi per apparecchi diversi, in base alle loro capacità. Questo può portare ad un'enorme complessità dato il numero elevato di apparecchi diversi presenti sul mercato con diverse caratteristiche hardware (dimensione dello schermo, capacità sull'uso dei colori, tasti, memoria e velocità) e browser. L'aggiornamento software dei browser per cellulari è in ogni caso molto più difficile di quello dei browser per PC, con il risultato che il software installato rimane in uso fino a quando il telefono non viene dismesso. Alcune iniziative presentano una soluzione a questo problema. La maggior parte fornisce un linguaggio proprietario per scrivere contenuti WAP che verranno visualizzati in maniera diversa (in XHTML-MP, WML, CHTML, etc) a seconda dell'apparecchio che ne ha fatto richiesta. Un'altra libera iniziativa è WURFL che usa una configurazione XML gerarchica in grado di mappare centinaia di caratteristiche dei vari device, e un layer di astrazione (WALL: Wireless Abstraction Layer) che permette di scrivere tag che sono convertiti automaticamente nel tipo di mark-up supportato dal device Applet Java In informatica, le applet Java sono programmi scritti in linguaggio Java che possono essere eseguiti da un Web browser. Le applet appaiono visivamente collocate all'interno di pagine Web, e sono solitamente usate per creare pagine dotate di funzioni interattive non realizzabili con altre tecnologie per il Web. Le Java applets sono eseguibili dai web browser che utilizzano la Java virtual machine (JVM). In alternativa possono essere eseguite utilizzando il Sun AppletViewer, un programma nato per testare le applet. Le Java applets furono annunciate per la prima volta da Sun Microsystems, nel 1995.

20 Un File Management su Cloud 18 Incapsulate all'interno di pagine web, le Applet sono utilizzate per fornire contenuti interattivi che il linguaggio HTML non è in grado di offrire. Per eseguirne il contenuto, la maggioranza dei Web Browser utilizza una sandbox, in modo da impedire alle applet di accedere alle informazioni salvate in locale sul computer. Il codice delle Applet viene scaricato dal web server nel web browser. Quest'ultimo, insieme all'applet, riceve anche la pagina html che lo contiene. In alternativa, l'applet può provvedere ad aprire una finestra personale senza doversi appoggiare a codice html per mostrare l'interfaccia grafica. Le Applet mostrate nelle pagine web sono identificati dal tag html <applet>...</applet> (non ufficiale), al quale è preferibile<object></object> Il tag html utilizzato specifica la posizione del sorgente dell'applet da scaricare. Dato che il bytecode Java è indipendente dalla piattaforma, gli Applet Java possono essere eseguiti senza problemi dai browser delle principali piattaforme. 2.2 Ambienti e Strumenti Php Linguaggio di scripting interpretato con licenza open source e libera (ma incompatibile con la GPL), originariamente concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche. È l acronimo ricorsivo di "PHP: Hypertext Preprocessor", preprocessore di ipertesti. Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere script a riga di comando o applicazioni standalone con interfaccia grafica. L'elaborazione di codice PHP sul server produce codice HTML da inviare al browser dell'utente che ne fa richiesta. Il vantaggio dell'uso di PHP e degli altri linguaggi Web come ASP e.net rispetto al classico HTML derivano dalle differenze profonde che sussistono tra Web dinamico e Web statico.

21 Un File Management su Cloud 19 PHP riprende per molti versi la sintassi del C, come peraltro fanno molti linguaggi moderni, e del Perl. È un linguaggio a tipizzazione debole e dalla versione 5 migliora il supporto al paradigma di programmazione ad oggetti. Certi costrutti derivati dal C, come gli operatori fra bit e la gestione di stringhe come array, permettono in alcuni casi di agire a basso livello; tuttavia è fondamentalmente un linguaggio di alto livello, caratteristica questa rafforzata dall'esistenza delle sue moltissime API, oltre funzioni del nucleo base. PHP è in grado di interfacciarsi a innumerevoli database tra cui MySQL, PostgreSQL, Oracle, Firebird, IBM DB2, Microsoft SQL Server, solo per citarne alcuni, e supporta numerose tecnologie, come XML, SOAP, IMAP, FTP, CORBA. Si integra anche con altri linguaggi/piattaforme quali Java e.net e si può dire che esista un wrapper per ogni libreria esistente, come CURL, GD, Gettext, GMP, Ming, OpenSSL ed altro. Fornisce un'api specifica per interagire con Apache, nonostante funzioni naturalmente con numerosi altri server web. È anche ottimamente integrato con il database MySQL, per il quale possiede più di una API. Per questo motivo esiste un'enorme quantità di script e librerie in PHP, disponibili liberamente su Internet. La versione 5, comunque, integra al suo interno un piccolo database embedded, SQLite. Dispone di un archivio chiamato PEAR che mette a disposizione un framework di librerie riusabili per lo sviluppo di applicazioni PHP e di PECL che raccoglie tutte le estensioni conosciute scritte in C. A partire dal 2011 PHP non ha supporto nativo per le stringhe Unicode o multibyte, il supporto Unicode è in fase di sviluppo per una futura versione di PHP e consentirà stringhe così come classe, metodo, e la funzione nomi per contenere caratteri non ASCII.

22 Un File Management su Cloud Ftp Il File Transfer Protocol (FTP) (protocollo di trasferimento file), è un protocollo per la trasmissione di dati tra host basato su TCP. FTP è uno dei primi protocolli definiti ed ha subito una lunga evoluzione negli anni. La prima specifica, sviluppata presso il MIT, risale al 1971 (RFC-114). L'attuale specifica fa riferimento all'rfc-959. Gli obiettivi principali di FTP descritti nella sua RFC ufficiale sono: Promuovere la condivisione di file (programmi o dati) Incoraggiare l'uso indiretto o implicito di computer remoti. Risolvere in maniera trasparente incompatibilità tra differenti sistemi di stoccaggio file tra host. Trasferire dati in maniera affidabile ed efficiente. Altro protocollo usato per il trasporto dati in Internet è il protocollo HTTP. FTP, a differenza di altri protocolli come ad esempio HTTP, utilizza due connessioni separate per gestire comandi e dati. Un server FTP rimane tipicamente in ascolto sulla porta 21 TCP a cui si connette il client. La connessione da parte del client determinerà l'inizializzazione del canale comandi attraverso il quale client e server si scambieranno comandi e risposte. Lo scambio effettivo di dati (come ad esempio file) richiederà l'apertura del canale dati il quale può essere di due tipi. In un canale dati di tipo attivo il client apre una porta tipicamente random, tramite il canale comandi rende noto il numero di tale porta al server e attende che esso si connetta. Una volta che il server ha attivato la connessione dati al client FTP, quest'ultimo effettua il binding della porta sorgente alla porta 20 del server FTP. A tale scopo possono venire impiegati i comandi PORT o EPRT, a seconda del protocollo di rete utilizzato (tipicamente IPv4 o IPv6). In un canale dati di tipo passivo il server apre una porta tipicamente random (> 1023), tramite il canale comandi rende noto il numero di tale porta al client e attende che esso si connetta. A tale scopo possono venire impiegati i

23 Un File Management su Cloud 21 comandi PASV o EPSV, a seconda del protocollo di rete utilizzato (tipicamente IPv4 oipv6). Sia il canale comandi sia il canale dati sono delle connessioni TCP; FTP crea un nuovo canale dati per ogni file trasferito all'interno della sessione utente, mentre il canale comandi rimane aperto per l'intera durata della sessione utente, in altre parole il canale comandi è persistente mentre il canale dati è non persistente. Un server FTP offre svariate funzioni che permettono al client di interagire con il suo filesystem e i file che lo popolano, tra cui: Download/upload di file. Resume di trasferimenti interrotti. Rimozione e rinomina di file. Creazione di directory. Navigazione tra directory. FTP fornisce inoltre un sistema di autenticazione (N.B. in chiaro) degli accessi. Il client che si connette potrebbe dover fornire delle credenziali a seconda delle quali gli saranno assegnati determinati privilegi per poter operare sul filesystem. L'autenticazione cosiddetta "anonima" prevede che il client non specifichi nessuna password di accesso e che lo stesso abbia privilegi che sono tipicamente di "sola lettura". La specifica originale di FTP non prevede alcuna cifratura per i dati scambiati tra client e server. Questo comprende nomi utenti, password, comandi, codici di risposta e file trasferiti i quali possono essere "sniffati" o visionati da malintenzionati in determinate situazioni (esempio: ambienti intranet). Il problema è comune a diversi altri protocolli utilizzati prima della diffusione di SSL quali HTTP, TELNET e SMTP. Per ovviare al problema è stata definita una nuova specifica che aggiunge al protocollo FTP originale un layer di cifratura SSL/TLS più una nuova serie di comandi e codici di risposta. Il protocollo prende il nome di FTPS ed è definito nella RFC Da non confondersi con SFTP che è comunque una valida alternativa per ovviare al problema descritto.

24 Un File Management su Cloud Ssh In informatica e telecomunicazioni SSH (Secure SHell, shell sicura) è un protocollo di rete che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica. E' il protocollo che ha sostituito l'analogo ma insicuro Telnet. Il client SSH ha una interfaccia a riga di comando simile a quella di telnet e rlogin, ma l'intera comunicazione (ovvero sia l'autenticazione che la sessione di lavoro) avviene in maniera cifrata. Per questo motivo, SSH è diventato uno standard di fatto per l'amministrazione remota di sistemi unix e di dispositivi di rete, rendendo obsoleto il protocollo telnet, giudicato troppo pericoloso per la sua mancanza di protezione contro le intercettazioni. Il client ed il server SSH sono installati o installabili su molte versioni di UNIX, GNU/Linux, Mac OS X e Microsoft Windows. Inoltre è disponibile come strumento di amministrazione su alcuni apparati di rete La sintassi su sistemi UNIX-like è la seguente: $ ssh [opzioni] dove con "$" si intende il prompt della shell utilizzata La prima versione dell'ssh era completamente Open Source, mentre la seconda è diventata commerciale; esiste comunque una versione libera detta OPEN SSH che si basa sulla prima versione, ma che fornisce supporto alla seconda versione. SSH consente la realizzazione di tunnel criptati che, trasportando sessioni TCP arbitrarie all'interno della connessione criptata, permettono di proteggere da intercettazione protocolli non sicuri, o di aggirare limitazioni di routing. Questa funzionalità è detta port forwarding, e permette di aprire un socket TCP sul client SSH (local port forwarding) o sul server (remote port forwarding). Le connessioni ricevute su questa porta vengono inoltrate dall'altro capo della connessione SSH, verso un host e una porta specificata.

25 Un File Management su Cloud 23 Ad esempio, con questo comando ci si collega ad host1, inoltrando la porta della macchina in cui lanciamo il client ssh alla porta 22 di host2attraverso un canale sicuro tra client e host1: ssh host1 L 10022:host2:22 Mentre questa connessione è attiva, collegandosi alla porta del client si viene rediretti verso la porta 22 di host2. Il port forwarding è utile anche per trasportare applicazioni X Window attraverso una connessione SSH. SSH imposta anche automaticamente le opportune variabili d'ambiente, in modo che le applicazioni X lanciate da un terminale remoto vengano visualizzate sul display da cui è stata avviata la connessione. L'X forwarding dal lato client deve essere abilitato passando l'opzione "-X" mentre dal lato server va modificato il file di configurazione /etc/ssh/sshd_configabilitando la direttiva X11Forwarding (ricordatevi di riavviare il server una volta apportata la modifica al file di configurazione). Il port forwarding è utile ad esempio per fare assistenza remota a macchine prive di un sistema di gestione remota sicuro. È possibile creare un tunnel sicuro tra una porta del client e una porta del server remoto o di qualsiasi terza macchina dietro al sever remoto, a patto che la macchina server abbia abilitato il forwarding. Questo è normalmente possibile senza installare nessun pacchetto aggiuntivo. Ad esempio, nel seguente scenario CLIENT [rete insicura] ssh server [rete sicura] TERZA MACCHINA Se vogliamo utilizzare un desktop remoto sulla terza macchina basta che ci connettiamo al server ssh includendo un tunnel tra una porta locale della macchina dove lavoriamo e la porta 3389 della TERZA MACCHINA. Dopo di che basterà avviare il client RDP e connettersi a localhost:(porta scelta). Il client ssh locale stabilirà una connessione criptata con il server, creerà un tunnel all'interno di questa connessione criptata, ed invierà la connessione RDP

26 Un File Management su Cloud 24 su questo tunnel. Il server a sua volta stabilirà una normale sessione TCP con la terza macchina sulla porta richiesta. Come risultato, il client RDP verrà messo in comunicazione con la terza macchina. La connessione tra ssh server e terza macchina non sarà criptata, per cui è opportuno che la comunicazione tra queste due macchine non sia a rischio di intercettazione. La terza macchina vedrà la connessione TCP provenire dal server ssh invece che dal client. Esistono principalmente due metodi di autenticazione per controllare l'accesso ad un server ssh: L'utente fornisce un nome utente ed una password, che vengono validati dal server. Questo scambio avviene all'interno di un canale cifrato, per cui non è a rischio di intercettazione. Procedura: 1. A B: SSH_MSG_USERAUTH_REQUEST, pappy, ssh-userauth, keyboard-interactive 2. B A: SSH_MSG_USERAUTH_INFO_REQUEST, pappy, passwordauthentication, 1, "Enter Password" 3. A B: SSH_MSG_USERAUTH_INFO_RESPONSE, 1, "love" 4. B A: SSH_MSG_USERAUTH_SUCCESS. Per prevenire attacchi brute force si può utilizzare un tool DenyHosts o Fail2ban. Questo metodo di autenticazione è basato sulla crittografia asimmetrica. Per utilizzarlo l'utente genera una coppia di chiavi. La chiave pubblica è copiata sul server, tipicamente in un apposito file nella home directory dell'utente; la chiave privata deve essere conservata dall'utente, ed è bene che sia protetta con una parola chiave (passphrase). Nella fase di accesso, il client ssh prova al server di essere in possesso della chiave privata, e in caso di successo viene consentito l'accesso. In questo modo, all'utente non è richiesto di fornire la propria password ad ogni connessione. SSH prevede anche la verifica dell'autenticità del server. Questo serve ad evitare che un utente maligno "impersoni" il server, facendosi fornire le credenziali

27 Un File Management su Cloud 25 dell'utente (attacco man in the middle). A questo scopo, per ciascun server viene generata una coppia di chiavi asimmetriche. La chiave privata rimane sul server. La chiave pubblica deve essere installata sui client. Quando un client si collega ad un server di cui conosce la chiave pubblica, verifica che il server sia ancora in possesso della chiave privata. Se questa verifica fallisce, la connessione viene abbattuta, evitando di fornire credenziali al server. Nella pratica, quando ci si collega ad un server per la prima volta, il client chiede se si vuole accettare la chiave pubblica di questo server, e se l'utente risponde positivamente memorizza questa chiave e prosegue nella connessione. Alle connessioni successive con lo stesso server, il client ne verifica l'autenticità, e in caso la chiave privata non corrisponda impedisce di proseguire la connessione MySql Relational database management system (RDBMS), composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows, anche se prevale un suo utilizzo in ambito Unix. Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI. Possiede delle interfacce per diversi linguaggi, compreso un driver ODBC, due driver Java, un driver per Mono e.net ed una libreria per python. Il codice di MySQL venne sviluppato fin dal 1979 dalla ditta TcX ataconsult, poi rinominata MySQL AB, ma è solo dal 1996 che viene distribuita una versione che supporta SQL, prendendo spunto da un altro prodotto: msql. MySQL AB è stata rilevata da Sun Microsystems nel 2008, mentre nel 2010 quest'ultima è stata acquisita da Oracle Corporation. MySQL svolge il compito di DBMS nella piattaforma LAMP, una delle più usate e installate su Internet per lo sviluppo di siti e applicazioni web dinamiche.

28 Un File Management su Cloud 26 Esistono diversi tipi di MySQL Manager, ovvero di strumenti per l'amministrazione di MySQL. Uno dei programmi più popolari per amministrare i database MySQL è phpmyadmin (richiede un server web come Apache HTTP Server ed il supporto del linguaggio PHP). Si può utilizzare facilmente tramite un qualsiasi browser. Alcune offerte di terze parti sono HeidiSQL, SQLYog o Toad for MySQL. In alternativa la stessa MySQL AB offre programmi quali MySQL Administrator (amministrazione del database, degli utenti, operazioni pianificate, carico del server,...) e MySQL Query Browser (esecuzione di svariati tipi di query), MySQL Migration Toolkit per importare da altri DBMS. Per il disegno e la modellazione di database MySQL esiste MySQL Workbench: integra il disegno, la modellazione, la creazione e l'aggiornamento di database in un unico ambiente di lavoro. In passato veniva sviluppato anche MySQLcc (MySQL control center), sostituito da MySQL Query Browser. Fino a qualche anno fa lo sviluppo del programma era opera soprattutto dei suoi sviluppatori iniziali: David Axmark, Allan Larsson e Michael Widenius. Quest'ultimo era il principale autore del codice - oltre che principale socio della società - e tuttora coordina il progetto, tra l'altro vagliando i contributi che pervengono dai volontari. I contributi vengono accettati a condizione che il loro autore condivida i diritti d'autore con la società. Da luglio 2007 la società impiega un centinaio di sviluppatori a tempo pieno. MySQL, essendo scritto in linguaggio C e C++, è disponibile su molti differenti sistemi operativi tra cui AIX, AmigaOS, BSDi, Digital Unix, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, SGI Irix, Tru64,Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista,Windows 7, Windows 8.

29 Un File Management su Cloud 27 Le piattaforme di riferimento sono Linux e Solaris. La documentazione di MySQL offre comunque un aiuto per chi avesse bisogno di provare a compilare il software su qualsiasi sistema operativo discretamente diffuso. MySQL utilizza anche i tool automake, autoconf e libtools per aumentare la compatibilità. Le tabelle di tipo BDB funzioneranno solo sui seguenti sistemi operativi: GNU/Linux 2.x Intel, Solaris (SPARC and x86), FreeBSD 4.x/5.x (x86, sparc64), AIX4.3.x, SCO OpenServer, SCO UnixWare 7.1.x Sono disponibili dei driver per i linguaggi C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, Tcl e per le piattaforme Mono e.net. Infine, il linguaggio SQL di MySQL comprende numerose estensioni che sono tipiche di altri DBMS, quali PostgreSQL, Oracle e Sybase. In questo modo le query non standard scritte per altri DBMS in alcuni casi funzioneranno senza problemi Apache Http Server È la piattaforma server Web modulare più diffusa, in grado di operare da sistemi operativi UNIX/Linux e Microsoft, più comunemente chiamato Apache. Apache è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy. Il Web Server Apache presenta un'architettura modulare, quindi ad ogni richiesta del client vengono svolte funzioni specifiche da ogni modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, ed il controllo è gestito dal core. I moduli: Core: programma principale composto da un ciclo sequenziale di chiamate ai moduli.

30 Un File Management su Cloud 28 Translation: traduce la richiesta del client Acces Control: controlla eventuali richieste dannose MIME Type: verifica il tipo di contenuto Response: invia la risposta al client e attiva eventuali procedure Logging: tiene traccia di tutto ciò che è stato fatto Il core suddivide la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per l'altro, creando così l'illusione di una comunicazione orizzontale fra i moduli (Pipeline software). Sopra il ciclo del core c'è un ulteriore ciclo di polling svolto da un demone che interroga continuamente le linee logiche da cui possono pervenire messaggi di richiesta.

31 Un File Management su Cloud 29 3 YOUR FILES ANYWHERE 3.1 Architettura dell applicazione Your Files Anywhere, denominazione dell applicazione web sviluppata, è basata su un architettura di tipo Client-Server, tipica delle applicazioni su web, ma arricchita con Ajax. Architettura dell'applicazione Web: Your Files Anywhere Il Livello Presentazione costituisce l interfaccia utente dell applicazione e corrisponde a quello che nelle Client-Server è il client. È costituito da vari componenti combinati tra loro: browser, documenti HTML, applet Java e script Javascript. Nel nostro caso aggiungiamo un motore AJAX, richiamato nelle pagine html, che invia una richiesta al server in modo asincrono e, in base ad alcuni eventi, richiama gli script php restituendone il risultato nella stessa pagina. Con questa tecnica l utente non dovrà più attendere che la pagina venga ricaricata ma bensì vedrà apparire il risultato della richiesta contestualmente. Il Livello Intermedio contiene la logica elaborativa dell applicazione. È in grado di soddisfare le richieste del client, attraverso l interpretazione di script php e di creare pagine web dinamiche.

32 Un File Management su Cloud 30 Il Livello Dati fornisce servizi non direttamente disponibili tramite server web, che spesso costituiscono le applicazioni persistenti e, come nel nostro caso, un gestore di database dove sono memorizzati gli utenti registrati. 3.2 Your Files Anywhere su PC Descrizione Your Files Anywhere è il nostro sistema di gestione di documenti su cloud. Si presenta all utente con un interfaccia web molto semplice ed intuitiva e pagine web dinamiche. Login e/o SignUp Per accedere al sistema, l utente deve necessariamente effettuare la registrazione. La form html presente, nella prima pagina web del sito, consente l inserimenti dei dati. Durante l inserimento dello username o degli altri dati richiesti, javascript inoltra una richiesta ad uno script php che controlla se esistono già utenti con lo stesso nome e/o password/myhome. La risposta viene visualizzata a lato della form guidando l utente nella continuazione della registrazione o reindirizzandolo alla pagina di login.

33 Un File Management su Cloud 31 Ultimata la registrazione l utente accede al sistema, connettendosi al server mediante l utilizzo del protocollo FTP e di alcune funzioni php. Effettuato l accesso, l utente ha a disposizione la sua directory personale, dove eseguire le varie funzionalità messe a disposizione dall applicazione. MyHome Nella cosiddetta MyHome, l utente potrà navigare tra le sue cartelle e i suoi file, avendo l opportunità di: Caricarne di nuovi; Eliminare quelli già presenti; Creare una nuova cartella; Sincronizzare file e cartelle tra remoto e locale; Scegliere la visualizzazione: File, Music o Player Audio Funzionalità dell applicazione Vediamo nel dettaglio le principali funzionalità: Il caricamento di nuovi file avviene tramite una form html, che combinata con javascript, usato per l animazione durante l attesa del caricamento del file, e php si occupa dell effettivo caricamento. Questa funzione fornisce all utente la

34 Un File Management su Cloud 32 possibilità di scegliere il file da caricare sul server, direttamente dal suo pc, in modo da potervi accedere da qualsiasi luogo e in qualsiasi momento. Caricamento file L eliminazione dei file dal server può essere individuale o collettiva. Dopo la selezione dei file, basterà cliccare su delete e il file verrà eliminato direttamente dal server. Ciò avviene sempre con la stessa tecnica, l invio della richiesta asincrona e la risposta dello script php che dopo l eliminazione mostrerà l elenco aggiornato dei file nella stessa pagina. La creazione di una nuova cartella, fornisce all utente una form dove inserire il nome. Al clic del pulsante crea, questa funzione richiama, uno script php che effettuerà la creazione della cartella, con le funzioni messe a disposizione da php per la gestione di file su un server. Altra importante funzionalità è la possibilità di filtrare i tipi di file. È possibile visualizzare solo i file audio o solo i file di altro tipo, oppure visualizzare il player audio. Avviando il player e se nella cartella dove ci troviamo, esistono dei file audio, questi saranno riprodotti automaticamente. La sincronizzazione dei file differisce dalle altre funzionalità soprattutto per la tecnica usata per implementarla. Abbiamo deciso di utilizzare un applet Java certificata per le nostre esigenze. Occorreva un applicazione che richiedesse

35 Un File Management su Cloud 33 all utente il permesso di accedere ai file del suo personal computer, di leggerli e di confrontarli con quelli sul server. Sincronizzazione file: Certificazione Una volta accettato di eseguire l applicazione l utente si troverà di fronte a delle scelte e a dei passi da seguire: 1. Selezionare la cartella locale; 2. Selezionare la cartella remota; 3. Scegliere il verso della sincronizzazione; 4. Scegliere che tipo di sincronizzazione effettuare: Aggiungere i file della prima cartella alla seconda, lasciando invariati i file presenti nella seconda cartella; Aggiornare il contenuto della seconda cartella con i file della prima cartella, sostituendo quelli più recenti lasciando invariati gli altri; Aggiornare il contenuto della seconda cartella con i file della prima cartella, eliminando quelli presenti nella sola seconda cartella.

36 Un File Management su Cloud 34 Sincronizzazione file: Vista Una volta effettuate tutte le scelte, si può lanciare l applicazione tramite il pulsante go che, in attesa del confronto tra le cartelle, visualizzerà una barra di caricamento dell operazione. Ultimata la sincronizzazione l utente avrà la cartella locale o la cartella remota, sincronizzata. Come detto in precedenza, questa è un applicazione web dove è possibile fruire di alcuni contenuti. Infatti cliccando sul nome del file e a seconda della tipologia, potremmo visualizzare i file di testo e immagine, oppure riprodurre file audio e video. Visualizzazione Immagini

37 Un File Management su Cloud 35 Sia per la riproduzione video che per quella audio, abbiamo utilizzato i nuovi tag introdotti da HTML 5, integrato in php. La riproduzione avviene in streaming e direttamente dal browser. Ecco il codice HTML5 per la riproduzione dei video: <video width="320" height="240" controls="controls" autoplay="autoplay"> <source src="<?php echo $url;?>" /></video> Riproduzione Video Per il tag audio varia, come possiamo vedere dal codice sottostante, solo il nome: <audio id="player" src="<?php echo $pathmusic.$track;?>" controls="controls" autoplay="autoplay"></audio> Riproduzione Audio

38 Un File Management su Cloud 36 Una volta aperto il file, potremmo scaricarlo, passando ad uno script php il nome del file da scaricare, oppure condividerlo con i nostri amici tramite i pulsanti di condivisione dei principali Social Network Casi d uso L utente potrà effettuare il login oppure, se non possiede le credenziali per accedere al sistema, potrà registrarsi. Login Una volta effettuato l accesso, l utente potrà: caricare e scaricare i propri documenti; sincronizzare file e cartelle tra locale e remoto; creare nuove cartelle; riprodurre file audio e video in streaming; visualizzare i file di testo;

39 Un File Management su Cloud 37 MyHome 3.3 Your Files Anywhere su Mobile Descrizione Your Files Anywhere su Mobile presenta delle funzionalità ridotte rispetto alla versione per personal computer. Ritroviamo anche qui un interfaccia molto semplice, con pagine web dinamiche ma che rispettano le principali regole per la realizzazione di siti per piattaforme mobile. È buona norma, pertanto, realizzare schemi di navigazione più semplici possibili e cercare di non appesantire di troppi contenuti la pagina. Le funzionalità per l accesso e la registrazione al sistema sono le medesime.

40 Un File Management su Cloud 38 Effettuato l accesso l utente avrà a disposizione solo alcune delle funzionalità descritte in precedenza, come: Caricare nuovi file; Eliminare file; Creare una nuova cartella; MyHome Mobile Funzionalità dell applicazione Le funzionalità elencate in precedenza sono implementate, per il mobile, nello stesso modo della versione per pc. È nello stesso modo è possibile fruire di alcuni contenuti. Infatti cliccando sul nome del file e a seconda della tipologia, potremmo visualizzare i file di testo e immagine, oppure riprodurre file audio e video. Visualizzazione Immagini Riproduzione Audio

41 Un File Management su Cloud 39 Anche nella versione mobile è possibile effettuare il download dei file mediante lo script php che riceve il nome del file da scaricare Casi d uso Collegandosi al sito mobile dell applicazione l utente potrà effettuare il login oppure registrarsi, come già descritto per la versione su pc. Login Una volta effettuato l accesso, l utente potrà: caricare e scaricare i propri documenti; creare nuove cartelle; riprodurre file audio e video in streaming;

42 Un File Management su Cloud 40 MyHome Mobile 4 FUNZIONI PRELIMINARI (BETA) Nella nostra versione beta, non ancora ben definita, mettiamo a disposizione dell utente ulteriori funzionalità. La prima riguarda la visualizzazione di più tipologie di file e la seconda, invece, riguarda le modalità d accesso al server. Per quando concerne la prima funzionalità, quindi la visualizzazione di più tipologie di file da browser, abbiamo pensato di dare la possibilità all utente di associare il suo account con quello di google docs, naturalmente con le opportune misure di sicurezza. Associato l account, la nostra applicazione, grazie alla vastissima documentazione fornita da google docs, caricherà il file sul server di google e visualizzerà nella nostra pagina web il collegamento diretto al file su docs, mostrandone il contenuto. La seconda funzionalità riguarda l accesso al server con il protocollo SSH, comunicando con il medesimo in modo cifrato e, garantendo cosi una maggiore sicurezza all utente.

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

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

ADOBE FLASH PLAYER 10.3 Pannello di controllo nativo

ADOBE FLASH PLAYER 10.3 Pannello di controllo nativo ADOBE FLASH PLAYER 10.3 Pannello di controllo nativo Note legali Note legali Per consultare le note legali, vedete http://help.adobe.com/it_it/legalnotices/index.html. iii Sommario Memorizzazione.......................................................................................................

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

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

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

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

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

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

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

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

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

Dettagli

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

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

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

Rilevazione automatizzata delle timbrature di presenza

Rilevazione automatizzata delle timbrature di presenza Direzione Servizi Interni Rilevazione automatizzata delle timbrature di presenza MANUALE DI UTILIZZO DELLA PROCEDURA TIMBR@WEB Versione 2.0 del 09 Gennaio 2012 A cura di Luigi D Elia SOMMARIO ACCESSO ALL

Dettagli

SIAGAS Manuale Utente Utente non autenticato

SIAGAS Manuale Utente Utente non autenticato SIAGAS Manuale Utente Utente non autenticato 27 marzo 2007 v.1.7 SIAGAS: Manuale Utente: utente non autenticato 1/10 1 Introduzione 1.1 Destinatario del prodotto SIAGAS è uno Sportello Informativo per

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Internet Terminologia essenziale

Internet Terminologia essenziale Internet Terminologia essenziale Che cos è Internet? Internet = grande insieme di reti di computer collegate tra loro. Rete di calcolatori = insieme di computer collegati tra loro, tramite cavo UTP cavo

Dettagli

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER Pagina 6 PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI Richiama la pagina visualizzata in precedenza Richiama la pagina visualizzata dopo quella attualmente

Dettagli

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano Internet e il Web 1 Internet Internet è un insieme di reti informatiche collegate tra loro in tutto il mondo. Tramite una

Dettagli

CONCETTI DI NAVIGAZIONE IN RETE

CONCETTI DI NAVIGAZIONE IN RETE CONCETTI DI NAVIGAZIONE IN RETE Internet (La rete delle reti) è l insieme dei canali (linee in rame, fibre ottiche, canali radio, reti satellitari, ecc.) attraverso cui passano le informazioni quando vengono

Dettagli

Amico EVO Manuale dell Installazione

Amico EVO Manuale dell Installazione Amico EVO Manuale dell Installazione Versione 1.0 del 14.05.2013 Manuale dell installazione di AMICO EVO rev. 1 del 18.05.2013 Pag. 1 Amico EVO è un software sviluppato in tecnologia NET Framework 4.0

Dettagli

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008 Le mie immagini su WEB: l ABC per iniziare 6 maggio 2008 1 1) Le nostre immagini su internet; perchè? 2) il WEB...il pc di chi accede (il client)...il sito (server); 3) costruzione del sito (design, strumenti

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Manuali.net. Nevio Martini

Manuali.net. Nevio Martini Manuali.net Corso base per la gestione di Siti Web Nevio Martini 2009 Il Linguaggio HTML 1 parte Introduzione Internet è un fenomeno in continua espansione e non accenna a rallentare, anzi è in permanente

Dettagli

User Manual Version 3.6 Manuale dell utente - Versione 2.0.0.0

User Manual Version 3.6 Manuale dell utente - Versione 2.0.0.0 User Manual Version 3.6 Manuale dell utente - Versione 2.0.0.0 User Manuale Manual dell utente I EasyLock Manuale dell utente Sommario 1. Introduzione... 1 2. Requisiti di Sistema... 2 3. Installazione...

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

Corso Creare Siti WEB

Corso Creare Siti WEB Corso Creare Siti WEB INTERNET e IL WEB Funzionamento Servizi di base HTML CMS JOOMLA Installazione Aspetto Grafico Template Contenuto Articoli Immagini Menu Estensioni Sito di esempio: Associazione LaMiassociazione

Dettagli

Corso Web programming

Corso Web programming Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione

Dettagli

LABORATORIO DI TELEMATICA

LABORATORIO DI TELEMATICA LABORATORIO DI TELEMATICA COGNOME: Ronchi NOME: Valerio NUMERO MATRICOLA: 41210 CORSO DI LAUREA: Ingegneria Informatica TEMA: Analisi del protocollo FTP File Transfer Protocol File Transfer Protocol (FTP)

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

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

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

Facendo clic su parole, immagini e icone si può passare da un sito all'altro.

Facendo clic su parole, immagini e icone si può passare da un sito all'altro. I browser Introduzione Facendo clic su parole, immagini e icone si può passare da un sito all'altro. Ogni pagina web è un documento ipertestuale, caratterizzato da un proprio indirizzo denominato URL (Uniform

Dettagli

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile Pag.1 Obiettivi Il progetto, Portale delle fonti di energia rinnovabile, ha l obiettivo di facilitare lo scambio di informazioni e notizie

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

Manuale LiveBox CLIENT DESKTOP (WINDOWS)

Manuale LiveBox CLIENT DESKTOP (WINDOWS) 2014 Manuale LiveBox CLIENT DESKTOP (WINDOWS) LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa o implicita di

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

MANUALE D USO Agosto 2013

MANUALE D USO Agosto 2013 MANUALE D USO Agosto 2013 Descrizione generale MATCHSHARE è un software per la condivisione dei video e dati (statistiche, roster, ) delle gare sportive. Ogni utente abilitato potrà caricare o scaricare

Dettagli

Manuale LiveBox WEB UTENTE. http://www.liveboxcloud.com

Manuale LiveBox WEB UTENTE. http://www.liveboxcloud.com 2015 Manuale LiveBox WEB UTENTE http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE LABORATORI DI INFORMATICA CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE Tutti i laboratori di informatica, come la gran parte delle postazioni LIM, sono stati convertiti

Dettagli

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13 FileMaker Pro 13 Utilizzo di una Connessione Desktop Remota con FileMaker Pro13 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Questa scelta è stata suggerita dal fatto che la stragrande maggioranza dei navigatori usa effettivamente IE come browser predefinito.

Questa scelta è stata suggerita dal fatto che la stragrande maggioranza dei navigatori usa effettivamente IE come browser predefinito. Pagina 1 di 17 Installazione e configurazione di applicazioni Installare e configurare un browser Come già spiegato nelle precedenti parti introduttive di questo modulo un browser è una applicazione (lato

Dettagli

Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA. http://www.liveboxcloud.com

Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA. http://www.liveboxcloud.com 2015 Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi

Dettagli

Guida all installazione di METODO

Guida all installazione di METODO Guida all installazione di METODO In questo documento sono riportate, nell ordine, tutte le operazioni da seguire per una corretta installazione di Metodo. Per procedere con l installazione è necessario

Dettagli

Privacy Policy e utilizzo dei cookie.

Privacy Policy e utilizzo dei cookie. Privacy Policy e utilizzo dei cookie. Privacy Policy Informativa resa ai sensi dell articolo 13 del D.lgs. n.196/2003 ai visitatori del sito di Hakomagazine e fruitori dei servizi offerti dallo stesso,

Dettagli

Le Reti (gli approfondimenti a lezione)

Le Reti (gli approfondimenti a lezione) Le Reti (gli approfondimenti a lezione) Per migliorare la produttività gli utenti collegano i computer tra di loro formando delle reti al fine di condividere risorse hardware e software. 1 Una rete di

Dettagli

ServerSync Google Calendar:guida alla migrazione

ServerSync Google Calendar:guida alla migrazione ServerSync Google Calendar:guida alla migrazione Vediamo passo a passo la procedura da seguire per migrare dalla vecchia sincronizzazione ServerSync con Google Calendar alla nuova versione (quella che

Dettagli

Guida all'uso della rete domestica Nokia N93i-1

Guida all'uso della rete domestica Nokia N93i-1 Guida all'uso della rete domestica Nokia N93i-1 Guida all'uso della rete domestica Edizione 2 IT, 9200198 Introduzione Con l'architettura UPnP e il supporto per rete LAN senza fili (Wireless Local Area

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Informatica Documentale

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

Dettagli

PRESENTAZIONE DOCENTE AULA. Argomenti CORSO PARTECIPANTI

PRESENTAZIONE DOCENTE AULA. Argomenti CORSO PARTECIPANTI PRESENTAZIONE DOCENTE AULA Argomenti CORSO PARTECIPANTI APPROFONDIMENTI SULL'UTILIZZO DEL COMPUTER E DI INTERNET COME UTILIZZARE IN MANIERA EFFICACE LA POSTA ELETTRONICA COME RICERCARE INFORMAZIONI E UTILIZZARE

Dettagli

MediaLibraryOnLine. la biblioteca a portata di click

MediaLibraryOnLine. la biblioteca a portata di click MediaLibraryOnLine la biblioteca a portata di click 1 Glossario Redazione: Claudia Arnetoli Coordinamento: Luca Brogioni, Marco Piermartini, Marco Pinzani Sistema Documentario Integrato Area Fiorentina

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

ADA. E learning e open source

ADA. E learning e open source 1 ADA. E learning e open source ADA 1.7.1 Come cresce un Ambiente Digitale per l'apprendimento open source Maurizio Graffio Mazzoneschi 2 Cos'è il software libero Libertà 0, o libertà fondamentale: la

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Manuale Utente Archivierete Novembre 2008 Pagina 2 di 17

Manuale Utente Archivierete Novembre 2008 Pagina 2 di 17 Manuale utente 1. Introduzione ad Archivierete... 3 1.1. Il salvataggio dei dati... 3 1.2. Come funziona Archivierete... 3 1.3. Primo salvataggio e salvataggi successivi... 5 1.4. Versioni dei salvataggi...

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli

Internet: conoscerlo al meglio per usarlo meglio Primi passi con internet Browser Transazioni sicure Antivirus Firewall

Internet: conoscerlo al meglio per usarlo meglio Primi passi con internet Browser Transazioni sicure Antivirus Firewall Internet: conoscerlo al meglio per usarlo meglio Primi passi con internet Browser Transazioni sicure Antivirus Firewall Cosa serve per collegarsi? Un PC Un modem (router) Cosa serve per navigare? Un abbonamento

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

EyeOS - intranet desktop mini howto

EyeOS - intranet desktop mini howto EyeOS - intranet desktop mini howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 Agosto 2008 PREAMBOLO EyeOS è un Web Operating System (Sistema Operativo Web) e ambiente collaborativo disegnato

Dettagli

Concetti base. Impianti Informatici. Web application

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

Dettagli

LBINT. http://www.liveboxcloud.com

LBINT. http://www.liveboxcloud.com 2014 LBINT http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa o implicita di commerciabilità

Dettagli

Classificazione del software

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

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Servizio di Posta elettronica Certificata. Procedura di configurazione dei client di posta elettronica

Servizio di Posta elettronica Certificata. Procedura di configurazione dei client di posta elettronica Pag. 1 di 42 Servizio di Posta elettronica Certificata Procedura di configurazione dei client di posta elettronica Funzione 1 7-2-08 Firma 1)Direzione Sistemi 2)Direzione Tecnologie e Governo Elettronico

Dettagli

COMPLETA SICUREZZA GRAZIE ALL ACCESSO PROTETTO E AI LIVELLI AUTORIZZATIVI

COMPLETA SICUREZZA GRAZIE ALL ACCESSO PROTETTO E AI LIVELLI AUTORIZZATIVI Consultazione prodotti e gestione ordini via internet SAM r-evolution La rivoluzione non è cambiare il software! SAM OW - Open Web Open-Web è l applicazione web per la consultazione online degli articoli

Dettagli

Retrospect 9 per Mac Appendice al Manuale per l'utente

Retrospect 9 per Mac Appendice al Manuale per l'utente Retrospect 9 per Mac Appendice al Manuale per l'utente 2 Retrospect 9 Manuale dell'utente Appendice www.retrospect.com 2011 Retrospect, Inc. Tutti i diritti riservati. Manuale per l'utente Retrospect 9,

Dettagli

Guide alla Guida http://www.rmastri.it/guide.html - Progetto WEBpatente 2011

Guide alla Guida http://www.rmastri.it/guide.html - Progetto WEBpatente 2011 Installazione di WEBpatente 4.0 in rete Le caratteristiche tecniche di WEBpatente 4.0 offline ne consentono l'uso all'interno di una rete locale. Una sola copia del programma, installata in un PC con particolari

Dettagli

INFORMATICA LIVELLO BASE

INFORMATICA LIVELLO BASE INFORMATICA LIVELLO BASE INTRODUZIONE 3 Fase Che cos'è una rete? Quali sono i vantaggi di avere una Rete? I componenti di una Rete Cosa sono gi Gli Hub e gli Switch I Modem e i Router Che cos è un Firewall

Dettagli

Piattaforma di e-learning I.R.Fo.M

Piattaforma di e-learning I.R.Fo.M Piattaforma di e-learning I.R.Fo.M Manuale d'uso per l'utente Ver. 1.0 Maggio 2014 I.R.Fo.M. - Istituto di Ricerca e Formazione per il Mezzogiorno 1 Sommario 1. Introduzione...3 1.1 L'ambiente...3 1.2

Dettagli

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15

Scritto da Administrator Martedì 02 Settembre 2008 06:30 - Ultimo aggiornamento Martedì 10 Maggio 2011 17:15 Entrare in un pc è una espressione un po generica...può infatti significare più cose: - Disporre di risorse, quali files o stampanti, condivise, rese fruibili liberamente o tramite password con i ripettivi

Dettagli

Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE

Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE Redatto: Nucleo Gestione Innovazione e fornitori IT Versione: 1.0 Data emissione: 9/11/2006

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

MediaWiki. Giuseppe Frisoni

MediaWiki. Giuseppe Frisoni MediaWiki Giuseppe Frisoni MediaWiki: costruire insieme 1/2 L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata.

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

Rete Internet ALFABETIZZAZIONE INFORMATICA. Prof. Patti Giuseppe

Rete Internet ALFABETIZZAZIONE INFORMATICA. Prof. Patti Giuseppe Rete Internet ALFABETIZZAZIONE INFORMATICA Prof. Patti Giuseppe SERVIZI OFFERTI DA INTERNET INTERNET POSTA ELETTRONICA INTERNET Internet in pratica è una rete vastissima, costituita dall interconnessione

Dettagli

Informativa sulla privacy e sull'utilizzo dei cookies per www.bbstellaalpina.it. Informativa

Informativa sulla privacy e sull'utilizzo dei cookies per www.bbstellaalpina.it. Informativa Informativa sulla privacy e sull'utilizzo dei cookies per www.bbstellaalpina.it Titolare del Trattamento dei Dati Stefanella Caldara - Via Chiave, 49-32043 Cortina d'ampezzo (BL) stefanella@tin.it Legale

Dettagli

Console di Amministrazione Centralizzata Guida Rapida

Console di Amministrazione Centralizzata Guida Rapida Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4

Dettagli

Servizi remoti Xerox Un passo nella giusta direzione

Servizi remoti Xerox Un passo nella giusta direzione Servizi remoti Xerox Un passo nella giusta direzione Diagnosi dei problemi Valutazione dei dati macchina Problemi e soluzioni Garanzia di protezione del cliente 701P41696 Descrizione generale di Servizi

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Informativa sui cookie secondo la normativa europea

Informativa sui cookie secondo la normativa europea Informativa sui cookie secondo la normativa europea Il sito web che state navigando è conforme alla normativa europea sull'uso dei cookie. Per far funzionare bene questo sito, a volte installiamo sul tuo

Dettagli