Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX"

Transcript

1 Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX ESTRATTO DA: Giulia Biamino, Tecnologie Web Ajax: una nuova possibilità di sviluppo, Tesi di Laurea in Scienze della Comunicazione, a.a. 2005/06 [su Web 2.0: par. 1.2, 1.3 (par opz.), 1.4; su AJAX: par. 2.1, 2.2, 2.3]

2 1.2 Com è nato il concetto di Web 2.0 Con un esplicito riferimento ai numeri di serie che comunemente designano le versioni successive di un software, il termine Web 2.0 alluderebbe ad un nuovo e migliorato modello del World Wide Web e sarebbe stato usato occasionalmente per molti anni. La nascita del concetto di Web 2.0, tuttavia, può essere attribuita ad un evento particolare che in qualche modo gli conferì formalmente ufficialità. Tim O Reilly, fondatore e presidente della casa editrice O Reilly Media, in un celebre articolo pubblicato in rete il 30 settembre 2005, scrive 1 : Il concetto di Web 2.0 cominciò durante una sessione di braistorming tra O Reilly e MediaLive International. Dale Dougherty, pioniere del web e O Reilly VP, notarono che lontano dall essersi schiantato, il web era più importante che mai, con nuove ed eccitanti applicazioni e siti che spuntavano con sorprendente regolarità. Inoltre. Le compagnie che erano sopravvissute al collasso, sembravano avere qualche cosa in comune. Poteva essere che il collasso del dot-com avesse segnato una sorta di cambiamento di direzione per il web, così che una specie di chiamata all azione come Web 2.0 poteva avere senso? Decidemmo di sì, e così nacque la Conferenza sul Web 2.0. Anche se potrebbe risultare presuntuoso il volersi arrogare il diritto di paternità sulla definizione di un concetto sfaccettato e diffuso come quello del Web 2.0, a Tim O Reilly e al suo team, si deve comunque l elaborazione di una serie di principi che aiutano a comprendere, in modo quasi didattico, quali siano le componenti di questa nuova generazione web. Il concetto di web come piattaforma, per esempio, è stato tra le riflessioni più interessanti da cui si è deciso di costruire uno schema mentale di partenza. Si può visualizzare il Web 2.0 come una specie di sistema solare, senza confini netti, ma con un centro gravitazionale che tiene uniti un numero considerevole di siti, ognuno ad una diversa distanza dal sole. 1 O Reilly T., What is Web 2.0. Design patterns and Business Models for the Next Generation of Software, 1

3 Immagine 1. Il web come piattaforma. Da Cos è il Web 2.0 Cercando di riassumere i numerosi significati di cui si compone, il termine Web 2.0 si riferisce, a grandi linee, ad una seconda generazione di servizi disponibili sul World Wide Web che permette alle persone di collaborare e condividere informazioni online. Il Web 2.0 è soprattutto un fenomeno sociale caratterizzato dal principio di decentralizzazione dell autorità, libertà di condividere e riutilizzare servizi, offerti da una comunicazione aperta ed indipendente da logiche di mercato. Anche se si potrebbe scrivere a lungo circa i valori umanistici e più strettamente legati alla comunicazione in senso sociologico e storico, bisogna ricordare che l avvento di una nuova generazione tecnologica, non si porta dietro solo parole e teoria, ma anche, e soprattutto, nuovi strumenti e nuovi codici. 2

4 Nel Web 2.0 l esperienza dell utente è molto più vicina a quella dei programmi desktop, piuttosto che alla staticità delle tradizionali pagine web. La definizione, tuttavia, deve anche tenere conto della combinazione di tecniche utilizzate per creare un simile sistema web, che sono state progettate alla fine degli anni 90 e che includono servizi pubblici web APIs, Ajax e gruppi web. Il concetto può includere, inoltre, il blogging e i wiki due forme di Social Web tra loro molto simili ma che differiscono nell organizzazione dei contenuti. Se i blog sono creati da un unica persona e rivolti alla massa (che può comunque interagire lasciando commenti ai post), i wiki, invece, sono creati dalla partecipazione degli utenti che inseriscono i contenuti. Un interessante e approfondito articolo di Paul Graham 2, saggista di fama e programmatore, risalente al novembre 2005, distingue tre grandi elementi che compongono il Web 2.0: Ajax: la serie di tecnologie utilizzate per costruire applicazioni 2.0 e di cui si parlerà diffusamente nei prossimi capitoli. Il fatto che non maltratti gli utenti evitando di condannarli a noiose registrazioni o continue finestre pubblicitarie. La sua anima democratica. Proprio su questo concetto di democrazia è interessante fare qualche riflessione. Paul Graham scrive 3 : Abbiamo oggi numerosi esempi che provano come gli amateur possano superare i professionisti, nel momento in cui dispongano del giusto strumento che canalizzi i loro sforzi. Non si tratta più, quindi, di un sistema uno a molti, ma di una sorta di rivoluzione popolare, in cui tutti gli utenti sono sullo stesso piano gerarchico e contribuiscono alla creazione di idee e contenuti. Wikipedia, per esempio, è un enciclopedia online in cui gli utenti possono aggiungere propria materia per ciascuna definizione. Quello che è più sorprendente quanto evidente, è che Wikipedia, come molti altri siti che seguono la stessa filosofia, continua a riscuotere un notevole successo. Questo accade perché gli articoli in essa presenti, oltre ad essere fruibili gratuitamente, sono anche di alta qualità. La democrazia vince sul piano della produzione 2 Grahm Paul, Web 2.0, pubblicato nel novembre ibidem 3

5 di idee, che a volte risultano persino migliori di quelle che si possono leggere sulla carta stampata. Un vantaggio che deriva probabilmente da una maggiore libertà di scrittura, che difficilmente va incontro a censure editoriali e che produce un larghissimo numero di scrittori. Non solo. Un altro aspetto da considerare è che questo sistema democratico ha acquisito, di conseguenza, un forte potere decisionale su quali siano le notizie che contano e quali quelle che non contano. Il sito Reddit 4, per esempio, contiene articoli, news e approfondimenti costantemente aggiornati. Se succede qualcosa si davvero importante, o qualcuno scrive un articolo davvero interessante, apparirà lì sopra. Inoltre, nella classifica dei top link, ovvero dei collegamenti più quotati, riportata da Reddit, sono riportati per la maggior parte, indirizzi di siti di singoli individui piuttosto che di giornali online o di contenitori di notizie. I dilettanti superano i professionisti e formano una comunità realmente democratica, in cui sono i molti a decidere e in cui la condivisione è il motore che la fa crescere. O Reilly, nel suo articolo sul Web 2.0, chiama questo principio: sfruttamento dell intelligenza collettiva e sostiene che: 5 Gli effetti sulla rete derivanti dal contributo degli utenti, sono la chiave della dominazione di mercato nell era del Web 2.0. Una delle armi vincenti dei colossi nati nell era del Web 1.0 e sopravvissuti all avvento del Web 2.0, infatti, è stata quella dell Hyperlinking, cioè l iper linkaggio. Più gli utenti possono aggiungere nuovi contenuti o nuovi siti, più cresce la rete di connessioni tra gli utenti stessi che navigando scoprono altri contenuti e vi si collegano. Un esempio fra tutti è quello di ebay 6 che nasce proprio come prodotto dell attività di tutti i suoi utenti. Il ruolo della compagnia è semplicemente quello di creare un contesto in cui possa avere luogo l attività dei clienti. In questo modo il sito cresce in base all operosità degli utenti stessi La gestione dei dati Di fronte a questo libero scambio e utilizzo di informazioni, agisce la forza di database specializzati che, con la nascita del Web 2.0, sono divenuti protagonisti di un accesa O Reilly, Op. cit

6 contesa. Il duro scontro si concentra intorno ad una semplice domanda: chi è proprietario dei dati? Nell era di Internet il controllo sui database era finalizzato al controllo sul mercato e a guadagni smodati e il monopolio sui domini era uno dei più importanti sistemi per fare soldi. Se il controllo sui software è oggi molto più difficile, il controllo sulle fonti dati non lo è, specialmente se queste fonti sono costose da creare e allettanti nel garantire forti guadagni. Il gioco tra le compagnie è tentare di impadronirsi di specifiche classi di dati: luoghi, identità, date, nomi. Il modo migliore per riuscirci, è cercare di raggrupparne una quantità consistente tramite l aggregazione degli utenti e trasformare quell insieme di dati in un sistema di servizi. Molto accesa è la gara nel settore delle mappe web. MapQuest, maps.yahoo.com, maps.google.com, riportano il riferimento di copyright a compagnie come NavTeq, TeleAtlas o DigitalGlobe che hanno investito centinaia di milioni di euro per costruire i loro database su indirizzi, direzioni o immagini. Successivamente, Yahoo, Google e Microsoft, decisero di entrare nel mercato e vi riuscirono senza troppe difficoltà, rivendendo, a prezzi convenienti, le licenze degli stessi dati, precedentemente comprati da NavTev. Altri concorrenti, invece, hanno implementato le loro scorte di dati, aggiungendo una nuova categoria di fornitori, gli utenti, così che in una decina di anni hanno raggiunto posizioni leader all interno del loro mercato. Amazon, per esempio, è la prima fonte di dati bibliografici relativi ai libri ed è un punto di riferimento per studenti, bibliotecari, lettori e consumatori. Verso la fine del 2005, anche Google Maps ha deciso di creare una rete di servizi aggiuntivi che lo collegano con altre fonti di dati: appartamenti in affitto o in vendita, ricerca di case. Questi link che mescolano dati diversi sono stati chiamati mashup, un fenomeno dapprima attribuito agli hacker ma oggi seguito a ruota dal mondo imprenditoriale. Già da un po di tempo, ci si era accorti dell importanza dei contenuti, piuttosto che dei contenitori. Si sarebbe dovuti andare contro la natura stessa del social web, se i contenuti fossero stati incatenati in un unico posto e non liberi di essere utilizzati e liberamente condivisi. Non ci troviamo più di fronte a siti dalle pagine statiche, ma ad eventi ed esperienze. 5

7 L odierna contestata arena delle mappe web, dimostra come il non capire l importanza di possedere il centro dati di un applicazione, taglierebbe probabilmente le basi per una sua posizione competitiva. 7 In The Cornucopia of the Commons 8, Dan Bricklin elenca tre modi per costruire un ampio database. Il primo è pagare la gente per farlo, il secondo modo è avere volontari che utilizzino lo stesso task, il terzo è farlo costruire dagli utenti. Per perseguire quest ultimo approccio, le compagnie Web 2.0, si sono rese conto che era necessario costruire passaggi interni predefiniti per fare in modo che gli utenti percepissero come ordinaria la condivisione e l aggregazione dei loro dati. In pratica, costruirono sistemi che spingevano gli utenti ad usarli. Lo sviluppo dell architettura, ha quindi un ruolo centrale nel successo di un software open source. I progetti di Linux, Apache o Perl, sono stati studiati in modo che i singoli utenti che perseguono il loro personale interesse, fanno crescere, nello stesso tempo, il valore collettivo. O Reilly 9 chiama questo tipo di forma sistemica, architettura di partecipazione, una struttura in molti casi congenita, ma in molti altri sovrapponibile a sistemi che ancora non ne sono in possesso, come dimostrato dagli intensi sforzi condotti da Amazon Il panorama tecnologico Le infrastrutture tecnologiche del Web 2.0 sono, oltre che complesse, in continua evoluzione. Gli approcci che contraddistinguono questa nuova generazione del web, vanno oltre a quello che noi, comunemente, intendiamo come sito web. Cercando di dare ordine ad un mondo ancora in evoluzione, possiamo elencare le tecniche che tipicamente compongono un sito Web 2.0: RIA (Rich Internet Application), come Ajax 7 Ibidem 8 Bricklin Dan, The Cornucopia of the Commons. How to get volunteer labor, 9 O Reilly, Op. cit

8 CSS Il linguaggio di marcatura XHTML Gruppi e aggregazioni di dati in RSS URL significative Weblog Mashup REST o XML Webservice APIs Come abbiamo già visto in precedenza, un vantaggio dei Web 2.0 è la possibilità, da parte degli utenti finali, di utilizzare i dati classificandoli da un sito ed estendendoli ad un plugin browser o ad un applicazione desktop. I protocolli che sono usati da XML e che permettono questi raggruppamenti di dati, sono RSS, RDF e Atom. Altri protocolli specializzati come FOAF e XFN, sono impiegati per il social networking ed accrescono l interazione dell utente finale, permettendogli in interagire con i dati senza siti web centralizzati. La chiave di volta del Web 2.0, tuttavia, è il suo sistema di protocolli di comunicazione. I più importanti sono REST e SOAP. REST, che sta per Representational State Transfer, indica una via di accesso e manipola i dati su un server usando i verbi HTTP, Get, Post, Put e Delete. SOAP, invece, mette in gioco i messaggi POSTing XML e si rivolge ad un server che possa contenere istruzioni predefinite da seguire. In entrambi i casi l accesso al servizio è stabilito da un Application Programming Interface comunemente detto API, cioè un insieme di strumenti che consentono agli sviluppatori di creare software specifici. Lo scopo primario delle API è dare agli sviluppatori software o applicazioni web, la possibilità di accedere ad una serie di funzioni senza dover entrare nel codice sorgente. Le API si presentano come interfacce e descrivono come sono costruite le applicazioni a cui si riferiscono. Possono, per esempio, descrivere come un applicazione ha chiamato un icona o un altra funzionalità specifica. Sono, in pratica, una dichiarazione di esistenza. Solitamente questi API sono specifici per ogni browser, ma ultimamente si sta diffondendo l utilizzo degli standard. 7

9 Immagine 2. Il Web 2.0 da 8

10 2. AJAX 2.1 Breve storia Chiunque abbia usato Flickr, GMail, Google Suggest o Google maps, si sarà reso conto dell emergere di una serie di nuove applicazioni e tecnologie web. Tutti questi siti, infatti, permettono all utente un esperienza molto simile a quella di un programma desktop, piuttosto che ad uno statico sito web, a cui si era comunemente abituati. Le applicazioni desktop sono installate completamente sul computer personale, possono ricorrere ad Internet per caricare gli aggiornamenti, ma il codice che fa girare questi programmi, risiede direttamente sul desktop. Le applicazioni web, invece, lavorano su un server in rete e sono accessibili tramite browser. Non è importante, tuttavia, dove agisca il codice, se sul web o sul desktop. Fattore molto più determinante, nel tracciare una distinzione tra questi due tipi di applicazioni, è riconoscere come queste si comportano e come si interagisce con loro. I software su computer sono molto veloci, non si deve attendere una connessione Internet e hanno interfacce utente molto dinamiche che interagiscono con il sistema operativo. Le applicazioni web sono, viceversa, molto meno veloci a causa delle continue attese per le connessioni, aggiornamenti e genesi di nuove pagine. Tuttavia, il web ha il vantaggio di offrire servizi unici, impossibili da avere su desktop, come, per esempio, quelli di compra vendita offerti da ebay e Amazon. Da sempre i web designer hanno sentito un po di invidia nei confronti dei loro colleghi che creavano programmi per il desktop. Nonostante molti dei progetti più innovativi e alla moda, nel campo del design, siano online, le applicazioni desktop, hanno da sempre avuto una marcia in più rispetto a quelle sul web. Tradizionalmente, le applicazioni web erano composte da una serie di pagine marcate dal codice HTML. Per cambiare contenuti o porzioni di essi, occorreva ricaricare l intera pagina, ottenendo così, una navigazione decisamente poco dinamica. I software desktop, al contrario, offrivano una ricchezza di esperienze ed una velocità di reazione che sembrava impossibile raggiungere in rete. 9

11 Negli ultimi anni sono andate affermandosi tecnologie che hanno permesso di mutare in parte questo aspetto del web, conferendo ai siti che le utilizzavano, dinamismo e nuove esperienze d uso, su tutti i maggiori browser. JavaScript e CSS (Cascade Style Sheet), per esempio, sono in grado di creare documenti che offrono soluzioni e interattività simili a quelle di un applicazione desktop. Occorre, tuttavia, fare ancora un passo avanti per rendersi conto che l annullamento dello spazio, che separa l esperienza web dall esperienza desktop, si sta poco per volta chiudendo. Se si utilizza un applicazione come Google Maps, ci si rende presto conto, che ogni nostro comando e ogni nostra azione si realizza istantaneamente, senza alcuna attesa o ricaricamento delle pagine. Si può zoomare, trascinare la mappa, utilizzare lo scroll on, e tutto avviene come se si stesse utilizzando un ottimo software. Da anni gli sviluppatori di Internet Explorer sulle piattaforme Windows, hanno utilizzato tecniche particolari, che univano JavaScript, HTML e XML, ma solo recentemente ci si riferisce a questa tecnologia come a un linguaggio remoto. Su un articolo pubblicato online su Adaptive Path, James Garrett, scrive 11 : Google Suggest e Google Maps, sono due esempi di un nuovo approccio alle applicazione web che noi ad Adaptive Path abbiamo chiamato Ajax. Il nome è un abbreviazione per Asynchronous JavaScript + XML e rappresenta un passo fondamentale verso quello che sarà possibile sul web Ajax è quindi il nome dato ad una serie di strumenti già esistenti e già largamente utilizzati e deriva da Asynchronous JavaScript and XML. Solo recentemente è avvenuto un cambiamento decisivo che ha dato la spinta definitiva all utilizzo di queste tecniche e alla conseguente nascita del nome Ajax, attribuita loro da James Garrett. Su tutti i browser principali di tutte le piattaforme, è ora incluso il supporto per XMLHttpRequest. Questo modello, cerato da Microsoft in Internet Explorer 5, portava con sé, il vantaggio di permettere al browser di JavaScript, di comunicare con il server in uno spazio esterno, di sottofondo, senza richiedere al browser di visualizzare e caricare una nuova pagina web. Nonostante il termine Ajax sia stato coniato nel 2005, si potrebbe far risalire il suo debutto persino ad una decina di anni fa. La Microsoft aveva sviluppato una serie di 11 Garrett James, Ajax: a new approach to web application, 18 febbraio

12 iniziative che sviluppavano tecniche di comunicazione a-sincronica, sia con IFRAME su Internet Explorer 3 nel 1996, sia con LAYER introdotto con Internet Explorer 4 l anno successivo. Fino al suo esordio, nel 1998, molti programmatori, anche se sapevano dell esistenza di Ajax, non lo hanno mai utilizzato. Gli sviluppatori web hanno per molto tempo impiegato una combinazione di plugin e applet Java, per nascondere i frame ed emulare questo modello. Queste tecnologie funzionavano su Explorer 4 e Netscape 4, ma fu solo con l introduzione di XMLHttpRequest per Internet Explorer 5 che si cominciò ad utilizzare apertamente questo insieme di tecniche. Nel 2001, la General Interface rilasciò sul mercato un applicazione JavaScript in grado di creare applicazioni web che si comportassero come i software su desktop. Fu a questo punto che la comunità di sviluppatori web decise di collaborare tramite blog e comunità virtuali, per migliorare queste tecniche di scrittura e ottenere risultati importanti sui principali browser. Fu Google il primo a decidere di costruire applicazioni di alto profilo che implementassero Ajax e con Google Maps diede inizio ad una progressiva rivoluzione. Grazie alla diffusione di questo sistema su Explorer, Firefox, Opera, Safari e Mozilla, si sono sviluppate nuove applicazioni web molto più fluide e reattive. Utilizzando XMLHttpRequest, Ajax non può essere utilizzato se si necessità dell utilizzo di vecchi browser, mentre JavaScript e CSS continuano comunque ad essere gestibili per le passate generazioni. 2.2 Cos è AJAX? Ajax è una serie di tecnologie denominate RIA (Rich Internet Application), che hanno dimostrato di saper migliorare l interattività delle applicazioni web, fornendo all utente maggiori esperienze d uso Rich Internet Applications Le RIA o Rich Internet Application sono applicazioni web dalle caratteristiche simili alle applicazioni desktop. Il termine è stato coniato nel 2002 da Macromedia, ma era già 11

13 dal 1998 che il concetto circolava sotto diversi nomi: Remote Scripting, X Internet, Rich web Client e Rich Web Application. A differenza della classica architettura server client delle tradizionali applicazioni web, le RIA adottano una tecnologia client side che può eseguire le istruzioni direttamente sul computer dell utente senza appoggiarsi completamente al server, ma attraversandolo solamente per la richiesta di dati. Questo sistema permette un interfaccia utente che agisce in tempo reale senza le attese tradizionalmente dovute allo standard HTML. Se è il cliente, e non il browser, a stabilire quali richieste inviare al server, il tempo di risposta sarà significativamente inferiore, sia perché le informazioni saranno più piccole, sia perché il traffico in rete sarà drasticamente ridotto. Le RIA sono al momento, ad un primo stadio evolutivo e vanno ancora incontro ad una serie di restrizioni. Molte RIA richiedono browser di nuova generazione per il funzionamento di motori JavaScript avanzati, tecniche client server come XMLHttpRequest, e tecnologie DOM e CSS per l interfaccia utente. La difficoltà di scrivere un codice leggibile da tutti i maggiori browser, rende le RIA lontane dall adesione ai web standard e l alto livello di interattività prevista da queste applicazioni ne limiterebbe i criteri di accessibilità. Tutti questi limiti, tuttavia, sono compensati da una serie di vantaggi. L installazione non è prevista e si possono caricare le applicazioni all istante. Inoltre, le applicazioni webbased sono meno soggette all infezione di virus e si possono utilizzare da qualsiasi computer senza restrizioni di piattaforma o sistema operativo. Il linguaggio client - side più importante è sicuramente JavaScript. Nonostante in principio fosse stato scarsamente utilizzato, unito con altri sviluppi in Dynamic HTML è riuscito a costruire un sistema RIA molto diffuso. Nonostante queste tecnologie circolassero negli ambienti informatici già da molto tempo, fu Google che, con applicazioni come Map e Suggest, pose per primo l attenzione su questo HTML dinamico. James Garrett di Adaptive Path diede un nome a questo modello: Ajax. Confrontato ad altri sistemi di pagine web, Ajax si distingue principalmente per tre caratteristiche: 1. Utilizza un motore client-side come intermediario tra la UI (Interfaccia Utente) e il server. 12

14 2. L attività dell utente fa in modo che JavaScript si rivolga al motore evitando di chiedere al server il caricamento di una pagina. 3. Impiega il linguaggio XML tra server e motore. Nei prossimi capitoli si cercherà di spiegare meglio il funzionamento di questi tre principi Dalle RIA a AJAX Come è stato fatto notare da James Garrett 12, Ajax non è una semplice tecnologia, ma è anche una metodologia e un modello d implementazione, composto da una serie di strumenti già esistenti, che uniti insieme, danno vita ad un potente modello di iterazione. Come metodologia, richiama le funzioni RIA, portando piccole parti di dati piuttosto che ricaricare l intera pagina, mentre dal punto di vista implementativi, riguarda più da vicino l interfaccia utente UI e il rapporto sistema utilizzatore. Le tecnologie Ajax comprendono: Una presentazione standard, creata con XHTML e CSS Un display dinamico di iterazione DOM Document Object Model Manipolazione e scambio di dati con XML e XSLT DHTML o Dynamic HTML che aiuta a caricare i forms in modo dinamico, con comandi come div, span e altri elementi HTML. XMLHttpRequest per il recupero asincrono di dati. Il linguaggio JavaScript che tiene il tutto legato insieme. SOAP per dialogare con il server PHP o qualche altro linguaggio di scrittura da utilizzare sul server Il termine asincrono, significa che si ottiene la risposta da parte del server quando disponibile, senza aspettare l apertura di una nuova pagina. Il modello di una classica applicazione web faceva in modo che le azioni dell utente dessero il via ad una richiesta, veicolata dal protocollo HTTP verso il server. Questo elaborava i dati e restituiva i risultati al cliente, con una pagina HTML. L uso del web come mezzo ipertestuale suggerisce come l utilizzo di un simile approccio non possa più 12 Ibidem 13

15 essere vantaggioso per un web più simile alle applicazioni software. L esperienza dell utente ne è completamente ai margini. Questi non dovrebbe bloccare le proprie azioni, ogni qual volta l applicazione richieda informazioni al server, né dovrebbe percepire la richiesta stessa. Un applicazione Ajax, invece, elimina la tradizionale natura d iterazione INIZIO- FINE/INIZIO-FINE, creando la figura di un mediatore tra l utente e il server. Questo intermediario è il motore Ajax, che viene caricato dal browser al principio della sessione di lavoro e si sostituisce ad una classica pagina web. Il motore, che consiste di funzioni JavaScript e non richiede alcun plug-in o installazione da parte dell utente, è responsabile della comunicazione tra utente e server e si occupa sia di ciò che deve apparire sull interfaccia utente, sia di trasmettere le richieste al server con linguaggio XML. Immagine 3 Il modello Ajax. Tratta dall articolo di James Garrett, pubblicato su 14

16 Grazie a questo sistema, l iterazione ha luogo asincronicamente, cioè in modo indipendente dall attività del server. L utente non si troverà di fronte a pagine bianche e non percepirà il lavoro svolto dalla trasmissione per mezzo dei protocolli. Se nelle tradizionali applicazioni web, le azioni dell utente generavano una richiesta HTTP, con le applicazioni Ajax l evento è una chiamata da parte di JavaScript al motore Ajax. Questo passo intermedio permette di evitare il rinvio al server se la richiesta di dati può essere fornita dal motore stesso. In caso contrario il motore comunicherà asincronicamente con il server. 2.3 Come funziona XMLHttpRequest In una normale applicazione web, gli utenti riempiono i campi di un form e ciccano un pulsante Submit. In questo modo, l intero form è spedito al server che lo processa con uno script PHP e lo rimanda indietro in una nuova pagina. Il documento può essere solamente una conferma, o possono essere stati cambiati sono alcuni campi, oppure si tratta di una pagina completamente rinnovata. In ogni caso, occorre attendere che lo script elabori e spedisca i dati e l utente è obbligato a stare in attesa. Lo schermo solitamente diventa bianco e si ricolora solo nell istante i cui vengono ricevuti i dati inviati dal server. Come si è già visto in precedenza, Ajax pone la tecnologia JavaScript e l oggetto XMLHttpRequest, tra il client e il server. In questo modo, quando gli utenti riempiono i form, i dati sono spediti ad un codice JavaScript che trasmette a sua volta le richieste al server. Mentre dietro le scene, in modo a-sincronico, accade tutto questo, lo schermo dell utente non scompare né va in stallo rendendo ancora fruibile l applicazione, in attesa del responso. Una volta ricevuti i dati sarà il JavaScript a decidere se e come presentarli o se è il caso di fare altri calcoli o formulare ulteriori richieste al server, senza alcuna azione da parte dell utente. Per inviare i dati al server, XMLHttpRequest utilizza due metodi: - Open: crea una connessione - Send: invia la richiesta al server 15

17 Per ogni file richiesto, deve essere creato un nuovo oggetto XMLHttpRequest, occorre quindi aspettare che i dati siano disponibili per il processo. Lo stato di disponibilità è dato dall attributo readystate di XMLHttpRequest ottenuto dopo i seguenti passaggi: 0. Inizio 1. Connessione stabilita 2. Richiesta ricevuta 3. Risposta in fase di processo 4. Fine del processo JavaScript Il codice JavaScript si utilizza per una serie di semplici processi: Ottenere i dati dai form JavaScript ottimizza il procedimento di estrazione dei dati dal form HTML per spedirli al server; Cambia i valori sui form con Java è possibile aggiornare un form, impostandone i valori nei campi e rimpiazzandoli on the fly, in corso d opera; Analizzare HTML e XML si impiega JavaScript per manipolare il DOM e per lavorare con la struttura di HTML e con i dati XML che rimanda il server. L esempio si riferisce all impostare i campi con un codice JavaScript: // Get the value of the "phone" field and stuff it in a variable called phone var phone = document.getelementbyid("phone").value; // Set some values on a form using an array called response document.getelementbyid("order").value = response[0]; document.getelementbyid("address").value = response[1]; 16

18 Immagine 4 Funzionamento XMLhttpRequest DOM (Document Object Model) DOM non è molto utilizzato dai designer che usano HTML ed è poco comune anche per chi lavora con JavaScript ad un livello non altissimo. Utilizzare DOM con JavaScript, tuttavia, risulta essere molto intuitivo. Questo modello entra in gioco dopo che il server ha fornito la risposta in XML e viene utilizzato per gestire i contenuti ricevuti. I dati forniti dal server potranno avere la forma di: - responsxml: per un file XML - responstext: per un semplice testo Se, per esempio, la risposta del server è un responstext, si può inserire il contenuto in un particolare punto della pagine tramite il comando innerhtml. Il DOM entra in azione se il responso da parte del server è stato di tipo XML. In questo caso si attraversa il DOM del contenuto e si possono aggiungere funzioni ai contenuti, attributi e nodi di testo. 17

19 2.3.4 Creare un oggetto XMLHttpRequest XMLHttpRequest è entrato di diritto nell accesa guerra tra browser. Ognuno di essi, infatti, utilizza codifiche diverse per gestire XML e il codice utilizzato per la comunicazione con il server, è destinato a cambiare a seconda del browser utilizzato. Il browser di Microsoft, Internet Explorer (IE), per esempio, si avvale di un analizzatore MSXML. Attualmente, MSXML si avvale di due diverse versioni che dipendono dalla tecnologia JavaScript installata su IE. Se si sta lavorando su di esso per scrivere un applicazione Ajax, occorre creare l oggetto XMLHttpRequest tenendo in considerazione questi due casi. Inoltre, se si ha a che fare con browser non-microsoft, con Mozilla, Safari, Opera o Firefox, si deve utilizzare ancora un altro codice. Il punto di arrivo è il poter supportare tutti i browser per evitare di dover ripetere la scrittura di un applicazione o dover limitare il proprio lavoro ad un solo browser. Si possono combinare i codici in modo che siano supportabili in modo univoco, seguendo tre passi fondamentali: 1. Creare un variabile var xmlhttp riferita all oggetto XMLHttpRequest che si andrà a realizzare. 2. Creare un oggetto in modalità Microsoft browser 3. Creare un oggetto in modalità non-microsoft browser. Sarà il comando xmlhttp a fare riferimento all oggetto XMLHttpRequest valido, indipendentemente dal browser utilizzato. Si ricordi che questa classe xmlhttp, era stata introdotta da Internet Explorer come oggetto ActiveX. Da quando Mozilla e Safari hanno implementato XMLHttpRequest, il comando var può richiamare direttamente l oggetto http_request. 18

20 2.3.5 Formulare una richiesta con tecnologie AJAX Una volta che è stato ottenuto l oggetto XMLHttpReqest, occorre una tecnologia JavaScript a cui si possa rivolgere la pagina web e qualche passaggio obbligato che sarà presente in tutte le applicazioni Ajax. Come analizzato da Brett McLaughlin 13, autore ed editore presso O Reilly Media, per formulare una richiesta con Ajax occorre: Per prima cosa ottenere i dati di cui si ha bisogno, dal form. function callserver() { // Get the tel and nome from the web form var tel = document.getelementbyid("tel").value; var nome = document.getelementbyid("nome").value; // Only go on if there are values for both fields if ((tel == null) (tel == "")) return; if ((name == null) (name == "")) return; Il passaggio successivo è creare una connessione URL: // Creo la connessione URL var url = "/scripts/getzipcode.php?tel=" + escape(tel) + "&tel=" + escape(name); A questo punto bisogna scrivere il comando necessario per aprire la connessione con il server. Dato il comando OPEN seguono tre parametri: 1. Il metodo da utilizzare per formulare la richieste: GET, POST, HEAD ecc. Il comando deve essere scritto con lettere maiuscole come stabilito dagli standard W3C 2. Richiamare l URL della pagina. 13 McLaughlin Brett, Mastering Ajax, Part 1: Introduction to Ajax, 6 dicembre

21 3. Specificare se la richiesta deve essere asincrona. Con il valore true la funzione JavaScript, rimarrà in esecuzione aspettando la risposta da parte del server. // Open a connection to the server http_request.open("get", true); Prima di inviare la richiesta, l ultima istruzione da impartire è dire al server come comportarsi quando il processo è finito: // Setup a function for the server to run when it's done http_request.onreadystatechange = updatepage; Infine, si può inviare la richiesta.: // Send the request http_request.send(null); } Come gestire la risposta da parte del server Come abbiamo visto in precedenza, analizzando il funzionamento di XMLHttpRequest, sappiamo che lo stato di disponibilità della richiesta si ottiene dopo i seguenti passaggi: 0. inizio 1. Connessione 2. Richiesta ricevuta 3. Richiesta in fase di processo 4. Fine del processo 20

22 La funzione http_onreadystatechange = updatepage, per prima cosa deve controllare a che punto si trova lo stato del processo. Nel caso in cui lo stato abbia assunto valore 4, significa che si può continuare con l elaborazione dei dati perché la richiesta è stata ricevuta. L Http, a questo punto, invierà come il codice di stato della risposta 14. Il valore 200, significa che il processo ha avuto successo. I dati ottenuti possono essere stringhe di testo o un oggetto XML, navigabile, come abbiamo già visto in precedenza, con le funzioni DOM. 14 Per l elenco dettagliato dei codici di stato della risposta visitare il sito 21

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

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

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

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

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

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

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

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

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

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

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 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 basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

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

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

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

Ajax. Introdotta da Microsoft nel 1998 è stata standardizzata e adottata da tutti i browser moderni.

Ajax. Introdotta da Microsoft nel 1998 è stata standardizzata e adottata da tutti i browser moderni. Ajax AJAX (Asynchronous JavaScript And XML) è una tecnica fondamentale per la creazione di siti e applicazioni web ad alta interattività, che consente di evitare di ricaricare intere pagine ad ogni richiesta

Dettagli

INDICE. Indice. Introduzione

INDICE. Indice. Introduzione V Indice Introduzione XIII Capitolo 1 La programmazione multithread 1 1.1 Cosa sono i thread 2 Utilizzare i thread per dare una possibilità ad altri task 9 Avvio ed esecuzione dei thread 10 Esecuzione

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Introduzione ad AJAX

Introduzione ad AJAX Introduzione ad AJAX Asynchronous Javascript And XML (PWLS 6.9, 6.10) Complementi di Tecnologie Web A.A. 2011-2012 M.Franceschet, V.Della Mea e I.Scagnetto - 1 Limitazioni delle applicazioni web tradizionali

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

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

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE Curriculum: Esperto di formazione a distanza DISSERTAZIONE FINALE Raccontami :

Dettagli

La Top Ten dei suggerimenti per la progettazione Web

La Top Ten dei suggerimenti per la progettazione Web In questo capitolo Impostare l obiettivo Mantenere le pagine libere e pulite Non travolgere i visitatori con i colori Usare meno di quattro tipi di carattere Essere coerenti Semplificare Essere rapidi

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

GUIDA UTENTE WEB PROFILES

GUIDA UTENTE WEB PROFILES GUIDA UTENTE WEB PROFILES GUIDA UTENTE WEB PROFILES... 1 Installazione... 2 Primo avvio e registrazione... 5 Utilizzo di web profiles... 6 Gestione dei profili... 8 Fasce orarie... 13 Log siti... 14 Pag.

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.it. Contenuti del Corso

Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.it. Contenuti del Corso WEB & GIS Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Contenuti del Corso 1. Introduzione 2. Internet e Tecnologia Web 3. Il server web: IIS, Apache, IIS 4. Il

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

Il Panorama tecnologico web 2.0

Il Panorama tecnologico web 2.0 UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI SOCIOLOGIA - CORSO DI LAUREA IN CULTURE DIGITALI E DELLA COMUNICAZIONE Il Panorama tecnologico web 2.0 Le infrastrutture tecnologiche del web di

Dettagli

Internet e Tecnologia Web

Internet e Tecnologia Web INTERNET E TECNOLOGIA WEB Corso WebGis per Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Internet e Tecnologia Web...1 TCP/IP...2 Architettura Client-Server...6

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Asynchronous JavaScript Technology and XML: Ajax Corso di Applicazioni Telematiche A.A. 2010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rich Internet

Dettagli

Programmazione Web. Introduzione

Programmazione Web. Introduzione Programmazione Web Introduzione 2014/2015 1 Un'applicazione Web (I) 2014/2015 Programmazione Web - Introduzione 2 Un'applicazione Web (II) 2014/2015 Programmazione Web - Introduzione 3 Un'applicazione

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

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

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

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende

Dettagli

AJAX e altre applicazioni di Javascript. Luca Fabbri

AJAX e altre applicazioni di Javascript. Luca Fabbri AJAX e altre applicazioni di Javascript Luca Fabbri 1 Definizione di AJAX? AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per creare applicazioni web interattive. 2 Perché

Dettagli

PartnerWorld. Straordinarie possibilità di crescita con. IBM Global Financing. Servizi finanziari per i Business Partner IBM. IBM Global Financing

PartnerWorld. Straordinarie possibilità di crescita con. IBM Global Financing. Servizi finanziari per i Business Partner IBM. IBM Global Financing PartnerWorld IBM Global Financing Straordinarie possibilità di crescita con IBM Global Financing Servizi finanziari per i Business Partner IBM ibm.com/partnerworld Accesso diretto a un avanzato servizio

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Introduzione. Perché è stato scritto questo libro

Introduzione. Perché è stato scritto questo libro Introduzione Perché è stato scritto questo libro Sul mercato sono presenti molti libri introduttivi a Visual C# 2005, tuttavia l autore ha deciso di scrivere il presente volume perché è convinto che possa

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

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena Siena, 23 Febbraio 2006 WEB2.0 e AJAX Il Web è già cambiato LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena Paolo Sammicheli Licenza d'uso

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

venerdì 31 gennaio 2014 Programmazione Web

venerdì 31 gennaio 2014 Programmazione Web Programmazione Web WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert

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

SCELTA DEL TEST DA ESEGUIRE

SCELTA DEL TEST DA ESEGUIRE SCELTA DEL TEST DA ESEGUIRE Tenete il passo dei cicli di rilascio sempre più veloci. Scoprite l automazione con il tocco umano. ESECUZIONE DI UN TEST 26032015 Test funzionali Con Borland, tutti i membri

Dettagli

L istruzione degli utenti e la promozione dei servizi delle biblioteche. Blog e wiki

L istruzione degli utenti e la promozione dei servizi delle biblioteche. Blog e wiki L istruzione degli utenti e la promozione dei servizi delle biblioteche Blog e wiki Biblioteca 2.0 la biblioteca sta cambiando l impatto del Web 2.0 (Open Acess, Wikis, Google book, blogosfera, Flickr,

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Introduzione a Internet e al World Wide Web

Introduzione a Internet e al World Wide Web Introduzione a Internet e al World Wide Web Una rete è costituita da due o più computer, o altri dispositivi, collegati tra loro per comunicare l uno con l altro. La più grande rete esistente al mondo,

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Notifica sul Copyright

Notifica sul Copyright Parallels Panel Notifica sul Copyright ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 USA Telefono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

.EVERYWHERE LOGIN. entra nel futuro. partnership signed

.EVERYWHERE LOGIN. entra nel futuro. partnership signed .EVERYWHERE LOGIN entra nel futuro. partnership signed Sinergia per l innovazione. Studio Ferroli e Acknow Per essere competitivi e vincenti in un mercato sempre più dinamico e globalizzato, che richiede

Dettagli

Internet e condivisione di interessi: social networking, blog, peer to peer

Internet e condivisione di interessi: social networking, blog, peer to peer Seminario della Consulta delle Associazioni Culturali del Comune di Modena La Rete Civica del Comune di Modena per le associazioni culturali" Internet e condivisione di interessi: social networking, blog,

Dettagli

Angelo Iacubino, Roberto Marmo Creare applicazioni per Facebook Editore FAG, Edizione 2009, Prezzo 19.90 euro, Pagine 224 ISBN 978-88-8233-814-5

Angelo Iacubino, Roberto Marmo Creare applicazioni per Facebook Editore FAG, Edizione 2009, Prezzo 19.90 euro, Pagine 224 ISBN 978-88-8233-814-5 Angelo Iacubino, Roberto Marmo Creare applicazioni per Facebook Editore FAG, Edizione 2009, Prezzo 19.90 euro, Pagine 224 ISBN 978-88-8233-814-5 RACCOLTA DI SITI INTERNET UTILI DA CONSULTARE AGGIORNATA

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

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

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

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

MDaemon e Outlook Connector for MDaemon

MDaemon e Outlook Connector for MDaemon MDaemon e Outlook Connector for MDaemon Introduzione...2 Cos'è il groupware...2 Che cosa significa groupware?...2 Cos è WorldClient...2 MDaemon e l evoluzione delle funzionalità groupware...3 Nuove funzionalità

Dettagli

5. Fondamenti di navigazione e ricerca di informazioni sul Web

5. Fondamenti di navigazione e ricerca di informazioni sul Web 5. Fondamenti di navigazione e ricerca di informazioni sul Web EIPASS Junior SCUOLA PRIMARIA Pagina 43 di 47 In questo modulo sono trattati gli argomenti principali dell universo di Internet, con particolare

Dettagli

ACCADEMIA DI BELLE ARTI DI PALERMO

ACCADEMIA DI BELLE ARTI DI PALERMO ACCADEMIA DI BELLE ARTI DI PALERMO Corso di Web Design INTRODUZIONE Da oltre dieci anni Internet rappresenta uno dei mezzi di comunicazione più importante ed in continua evoluzione, uno strumento divenuto

Dettagli

Piattaforma e-learning Unifi Guida rapida per gli studenti

Piattaforma e-learning Unifi Guida rapida per gli studenti Piattaforma e-learning Unifi Guida rapida per gli studenti Premessa: La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi online. Dal punto di vista dello

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

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

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Questa tipologia di cookie permette il corretto funzionamento di alcune sezioni del Sito. Sono di due categorie: persistenti e di sessione:

Questa tipologia di cookie permette il corretto funzionamento di alcune sezioni del Sito. Sono di due categorie: persistenti e di sessione: Informativa estesa sui Cookie Cosa sono i cookies? In informatica i cookie HTTP (più comunemente denominati Web cookie, tracking cookie o semplicemente cookie) sono righe di testo usate per eseguire autenticazioni

Dettagli

Dall hosting al cloud computing: storia del protocollo HTTP

Dall hosting al cloud computing: storia del protocollo HTTP Dall hosting al cloud computing: storia del protocollo HTTP Il protocollo HTTP: dall idea di un ricercatore del CERN ai giorni nostri, in cui velocità, performance e multimedialità impongono le evoluzioni

Dettagli

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

INTERNET. Un percorso per le classi prime Prof. Angela Morselli

INTERNET. Un percorso per le classi prime Prof. Angela Morselli INTERNET Un percorso per le classi prime Prof. Angela Morselli PARTE 1 INTERNET: LA RETE DELLE RETI 2 È ALQUANTO DIFFICILE RIUSCIRE A DARE UNA DEFINIZIONE ESAUSTIVA E CHIARA DI INTERNET IN POCHE PAROLE

Dettagli

Guadagnare con Internet con. guida pratica per scegliere il modello giusto per te. www.acquisireclienti.com

Guadagnare con Internet con. guida pratica per scegliere il modello giusto per te. www.acquisireclienti.com Guadagnare con Internet con i modelli di business online: guida pratica per scegliere il modello giusto per te. www.acquisireclienti.com Internet e business Molte persone guardano a Internet come strumento

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

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo)

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza per utente singolo. Una licenza

Dettagli

Informativa estesa sui Cookie e sulla privacy

Informativa estesa sui Cookie e sulla privacy Informativa estesa sui Cookie e sulla privacy Cosa sono i cookies? In informatica i cookie HTTP (più comunemente denominati Web cookie, tracking cookie o semplicemente cookie) sono righe di testo usate

Dettagli

Assessorato Pubblica Istruzione CENTRO @LL IN VILLACIDRO

Assessorato Pubblica Istruzione CENTRO @LL IN VILLACIDRO COMUNE DI VILLACIDRO Provincia del Medio Campidano ASSESSORATO ALLE POLITICHE CUTURALI Assessorato Pubblica Istruzione CENTRO @LL IN VILLACIDRO CATALOGO CORSI 1. Informatica di base Partendo dalla descrizione

Dettagli

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Sergio Loddo, Luca Devola GFOSS - Cagliari, 27 febbraio 2009 Indice 1. Presentazione 2. Progetto 3. Architettura, metodologia

Dettagli

Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti.

Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti. Il sito Internet: lo strumento più flessibile per far conoscere la tua azienda e fidelizzare i tuoi clienti. Orientarsi e muoversi al meglio nel mercato è sempre più difficile: la concorrenza, è sempre

Dettagli

Introduzione. In questo capitolo

Introduzione. In questo capitolo Introduzione I CSS ( Cascading Style Sheets, fogli di stile a cascata) sono la tecnologia elaborata dal W3C (World Wide Web Consortium; http://www.w3.org/) per definire l aspetto (caratteri, colori e impaginazione)

Dettagli

Cercare è per metà trovare

Cercare è per metà trovare Introduzione Cercare è per metà trovare Cercare su Internet Un Web nella Rete Struttura del libro I n t r o d u z i o n e La prima edizione del libro che avete tra le mani nasceva nel 2005. Si trattava

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

10 step per creare un sito Wordpress

10 step per creare un sito Wordpress Sono Andrea Giavara, fondatore di WP Pratico, nel sito ci sono 7.000 iscritti e grazie ad esso ho aiutato più di 400 tra persone e aziende a realizzare il proprio sito online. In questo Documento troverai

Dettagli

PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Come viene associato un insegnate alla scuola? Cos è il Codice scuola?

PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Come viene associato un insegnate alla scuola? Cos è il Codice scuola? PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Quando si compila il modulo di registrazione, selezionare l opzione scuola.una volta effettuata la registrazione, si può accedere a un ambiente molto

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Uso del browser, posta elettronica e motori di ricerca Gmail e Google

Uso del browser, posta elettronica e motori di ricerca Gmail e Google Facoltà di Lettere e Filosofia Cdl in Scienze dell Educazione A.A. 2010/2011 Informatica (Laboratorio) Uso del browser, posta elettronica e motori di ricerca Gmail e Google Author Kristian Reale Rev. 2011

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

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

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

Progettare un sito web

Progettare un sito web Progettare un sito web Fasi della progettazione La progettazione di un sito web dovrebbe passare attraverso 4 fasi differenti: 1. Raccolta e realizzazione dei contenuti e delle informazioni da pubblicare

Dettagli

Università di Pisa - Database dei Corsi di Laurea e Laurea Specialistica in Ingegneria Elettrica - Per consultazione

Università di Pisa - Database dei Corsi di Laurea e Laurea Specialistica in Ingegneria Elettrica - Per consultazione Università di Pisa - Database dei Corsi di Laurea e Laurea Specialistica in Ingegneria Elettrica - Per consultazione Pagina 1 di 9 pagine totali Introduzione Il Coordinamento Didattico del Corso di Laurea

Dettagli

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper.

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. M. Comelli IFAC-CNR (Istituto di Fisica Applicata Nello Carrara del

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

2 - Introduzione al linguaggio Java

2 - Introduzione al linguaggio Java 2 - Introduzione al linguaggio Java Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo

Dettagli