Differenze tra le versioni di "Mobile computing"
(→Lezione di Venerdì 14-10-05) |
(→Lezione di Venerdì 14-10-05) |
||
Riga 193: | Riga 193: | ||
** permette connessioni simultanee;<br>la tecnologia bluetooth permette il formarsi di alcuni tipi di rete:<br> | ** permette connessioni simultanee;<br>la tecnologia bluetooth permette il formarsi di alcuni tipi di rete:<br> | ||
*** [http://en.wikipedia.org/wiki/Piconet piconet]:rete wireless di 2 o più dispositivi connessi(fino ad 8);rapporto master/slave fra i dispositivi comunicanti; | *** [http://en.wikipedia.org/wiki/Piconet piconet]:rete wireless di 2 o più dispositivi connessi(fino ad 8);rapporto master/slave fra i dispositivi comunicanti; | ||
− | *** rete ad hoc: costituita da al massimo 8 dispositivi,òa quale non necessita di amministrazione e preconfigurazione,in cui c'è una comunicazione diretta di un dispositivo con gli altri; | + | *** rete ad hoc: costituita da al massimo 8 dispositivi,òa quale non necessita di amministrazione e preconfigurazione,in cui c'è una comunicazione diretta di un dispositivo con gli altri;Vedere <nowiki>http://en.wikipedia.org/wiki/Ad-hoc_network</nowiki> <!-- quell'url non viene considerato!! --> |
*** [http://en.wikipedia.org/wiki/Scatternet scatternet]: connessione di più piconet con più di 8 dispositivi,dove la comunicazione diretta avviene all'interno delle piconet | *** [http://en.wikipedia.org/wiki/Scatternet scatternet]: connessione di più piconet con più di 8 dispositivi,dove la comunicazione diretta avviene all'interno delle piconet | ||
* [http://it.wikipedia.org/wiki/GSM GSM]: tre componenti principali: | * [http://it.wikipedia.org/wiki/GSM GSM]: tre componenti principali: |
Versione delle 18:09, 11 dic 2005
Indice
- 1 Mobile Computing, anno 2005/2006
- 2 Diario del corso
- 2.1 Lezione di Martedì 4-10-05
- 2.2 Lezione di Venerdì 7-10-05
- 2.3 Lezione di Martedì 11-10-05
- 2.4 Lezione di Venerdì 14-10-05
- 2.5 Lezione di Martedì 14-10-05
- 2.6 Lezione di Martedì 25-10-05
- 2.7 Lezione di Venerdì 28-10-05
- 2.8 Lezione di Venerdì 4-11-05
- 2.9 Lezione di Martedì 8-11-05
- 2.10 Lezione di Venerdì 11-11-05
- 2.11 Lezione di Martedì 15-11-05
- 2.12 Lezione di Venerdì 18-11-05
- 2.13 Lezione di Martedì 22-11-05
- 2.14 Lezione di Venerdì 25-11-05
- 2.15 Lezione di Martedì 29-11-05
- 2.16 Lezione di Venerdì 2-12-05
- 2.17 Lezione di Martedì 6-12-05 SOSPESA
- 2.18 Lezione di Venerdì 9-12-05 SOSPESA
Mobile Computing, anno 2005/2006
Mobile Computing è un corso complementare aperto alle lauree triennali e specialistiche.
=== Docenti === Claudio Bettini e-mail: mailto:bettini@dico.unimi.it
Pagina personale: qui
Orari delle lezioni
Martedì | Venerdì |
---|---|
15:45-17:15 Aula Alfa | 09:00-10:30 Aula Alfa |
Orario di ricevimento dei docenti
Non è stato chiarito mi pare,quindi mandate una mail per appuntamento.
Sito del corso
Se andate qui trovate il programma del corso e il materiale didattico,per cui si deve disporre della password.
Materiale didattico
- Slides sul sito;
- Libro: M. Mallick, Mobile and Wireless Design Essentials, Wiley Technology Publishing, 2003.
Modalità d'esame e prerequisiti
- E' utile avere almeno seguito i corsi di reti di calcolatori e basi di dati;
- Si richiede la verbalizzazione dell'esame di informatica generale e programmazione java e dell'esame di Sistemi operativi: la questione non è burocratica ma atta a disincentivare la frequenza del corso a chi nn possiede certe conoscenze di base;
- La penultima lezione ci sarà un compitino e nell'ultima la presentazione di un progetto,che andrebbe risolto e discusso entro un anno dalla presentazione;
- la validità dello scritto è permanente;
- in alternativa al compitino uno può decidere di fare lo scritto e poi portare il progetto,discuterlo e fare l'orale;
- I probabili linguaggi di programmazione e mark-up usati saranno:
- XML;
- XSLT;
- HTML;
- C#.NET
- JAVA;
- probabilmente anche SQL o ASP per interazioni server/database;
N.B.: La quasi totalità dei link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore. Questo per far si di integrare meglio quanto spiegato a lezione con il vasto materiale disponibile in rete.
Editaggio a cura di: --Voodoo 12:21, Nov 9, 2005 (CET)
Diario del corso
Lezione di Martedì 4-10-05
Un sito che percorrerà molti degli argomenti del corso è questo.
Argomenti trattati nella lezione di oggi:
- Abbiamo visto a grandi linee l'evoluzione dell'hardware ,che ha portato a:
- riduzione delle dimensioni delle macchine;
- evoluzione rapporto persona/macchina (molte persone singolarmente lavorano con un calcolatore,per approdare ai PC e infine più macchine al servizio di una sola persona);
- Evoluzione di Internet;
Abbiamo definito:
- Traditional Computing: capacità di calcolo classico;
- Mobile Computing: la mobilità è la caratteristica principale;
- Pervasive Computing: implementazione di funzioni di calcolo e comunicazione in oggetti;
- Ubiquitous Computing: una combinazione dell'aspetto mobile e pervasive;
- Disappearing Computing: l'embeddedness dei dispositivi tende a farli divenire oggetti della vita quotidiana,regiscono ad eventi in relazione all'utente e al suo contesto;
Il Mobile Computing,per sua natura,è e sarà oggetto di forti novità e sviluppo,sia per quanto riguarda sistemi operativi,linguaggi,protocolli,architetture,algoritmi ed interfacce;
Parimenti presenta altresì difficoltà non indifferenti,quali la rapida evoluzione con il conseguente invecchiamento precoce delle tecnologie,notevole competizione,sistemi operativi immaturi e instabili e una grande eterogeneità hardware,software e di protocolli in circolo.
Abbiamo visto le sue applicazioni a livello lavorativo/aziendale/quotidiano e i ruoli professionali coinvolti in questo settore.
Lezione di Venerdì 7-10-05
Abbiamo trattato la classificazione dei dispositivi secondo certe caratteristiche:
- I/O: schermo,touchscreen,tastiera,slot di espansione,ecc..
- Connettività: globale,locale;
- Risorse di calcolo: CPU,RAM,ecc..
- Autonomia: batteria;
- Supporto applicazioni: JVM,.NET Compact Framework,ecc..
- Supporto multimediale: audio,video,ecc...
PDA(Personal Digital Assistent):
- orientati alla gestione/scambio di dati;
- supporta solo connettività locale;
PDA-phones:
- supporto UMTS per scambio dati;
- risorse di calcolo inferiori ai PDA;
- frequentemente utilizzati in USA;
- usato molto e principalmente per e-mail;
- ha una tastierina;
- più vicini ai laptop che ai dispositivi mobili;
- riconoscitore vocale e di scrittura;
- costo elevato;
- connessione locale integrata;
- SO microsoft: il costo elevato e la mancanza di applicazioni utili non ha fatto decollare il loro sviluppo,deludendo Micro$oft;
- Esempio di utilizzo di PDA-phones con riconoscimento vocale in aula;
- analisi dei dispositivi in termini di vendite sul mercato:
- frammentazione del mercato;
- assenza di un leader dominante;
- frequenti novità;
- convergenza tra PDA e smart-phones;
- supporto navigazione GPS,suite Office,ecc..
- si riduce il numero di Sistemi operativi e di piattaforme di sviluppo;
- Introduzione ai sistemi operativi:
- differenze tra quelli generici e quelli per mobili;
- molto importante l'aspetto di risparmio delle risorse.
- I più usati:
- PalmOS(il più stabile secondo il prof);
- SymbianOS (orientato alla telefonia);
- Windows Mobile(il meno stabile secondo il prof.);
- OS in java e Linux: percentuali ridotte sul mercato;
- Cosa vuol dire OEM
Lezione di Martedì 11-10-05
- Osservazione dell'architettura dei sistemi operativi per mobili,in particolare:
- Windows Mobile: è un OS per dispositivi mobili(PDA e smart phones),dipendente da componenti di Windows CE,con le seguenti caratteristiche principali:
- struttura modulare;
- multitasking(supporta sottoinsieme delle Win32 API e .NET)
- possibilità di sviluppo attraverso piattaforme di sviluppo comuni anche per i desktop:gli ultimi due punti rendono agibile il compito di sviluppatori che non devono affrontare una lunga curva di apprendimento;
L'ultima versione è la 5.0,sincronizzazione dei dati pc/dispostivo mobile tramite ActiveSync
- PalmOS:
- ha dominato per molto tempo il mercato dei PDA;
- dalla V5 è anche multitasking e multithreading
- le applicazioni possono includere Conduits,cioè software di sincronizzazione dati pc/dispositivo simili per funzione al corrispettivo Microsoft ActiveSync
- versioni principali: Garnet e Cobalt
- supporto telefonia,Wifi,Bluetooth,UI migliorata;
- Symbian:
- Linux:
- poco supportato dai produttori ma diffuso sui sistemi embedded fissi;
- sfrutta QT Embedded come piattaforma di sviluppo per le GUI e supporta java(come Esmertec);
- Windows Mobile: è un OS per dispositivi mobili(PDA e smart phones),dipendente da componenti di Windows CE,con le seguenti caratteristiche principali:
Lezione di Venerdì 14-10-05
Pre-lezione: si è speso qualche parola in merito agli scioperi degli insegnanti riguardo la protesta su D.legisl. della Moratti:
- Posizione ricercatori DICO,ecc.. qui
Connettitività locale
WPAN | WLAN |
---|---|
copertura inferiore ai 10m | copertura inferiore ai 100m |
Rimpiazza cavi | estensione o rimpiazzo di una rete locale |
throughput fino a 4 Mbps | fino a 54 Mbps |
standard IrDA,Bluetooth,802.15 | 802.11a/b/g,HIPERLAN/2 |
- Bluetooth:
- non richiede linea diretta(cioè senza ostacoli nel mezzo)per la comunicazione;
- copertura fino a 10m,amplificabile fino a 100m;
- usa lo spettro 2.4GHz con il frequency hopping; vedere anche qui
- scopre automaticamente altri dispositivi nel raggio di portata;
- possibilità di crittare la comunicazione,più è grande la chiave più lenta sarà la comunicazione;
- permette connessioni simultanee;
la tecnologia bluetooth permette il formarsi di alcuni tipi di rete:
- piconet:rete wireless di 2 o più dispositivi connessi(fino ad 8);rapporto master/slave fra i dispositivi comunicanti;
- rete ad hoc: costituita da al massimo 8 dispositivi,òa quale non necessita di amministrazione e preconfigurazione,in cui c'è una comunicazione diretta di un dispositivo con gli altri;Vedere http://en.wikipedia.org/wiki/Ad-hoc_network
- scatternet: connessione di più piconet con più di 8 dispositivi,dove la comunicazione diretta avviene all'interno delle piconet
- GSM: tre componenti principali:
- Mobile station(telefonino e SIM);
- BSS(Base Station Subsystem): a livello di cella,handover;
- Network Subsystem: realizza la comunicazione fra stazioni-mobili o fra mobili-mobili;
- Visione delle bande usate in europa e america,divisione dei canali in frequenze,uso degli slot di tempo;
- evoluzione porta ad aumentare la banda di trasferimento dei dati,poichè GSM assolve il suo dovere per quanto riguarda la voce ma non per i dati(lentezza,costo);
- GPS: http://home-2.worldonline.nl/~samsvl/
- Cos'è l'handover
- Cos'è il roaming
- CSD
- http://www.irda.org/
- Descrizione delle caratteristiche delle tecnologie IR e Wifi, e delle reti che la utilizzano,ossia WLAN e WPAN;
Lezione di Martedì 14-10-05
- Descrizione dello stack di protocolli WAP,con raffronto al TCP/IP per la sua comprensione;
Lezione di Martedì 25-10-05
- confronto fra architetture thin client e smart client;
N.B.: la lezione di venerdì tratterà la programmazione lato server per queste architetture
Lezione di Venerdì 28-10-05
Meccanismi di richiesta dati da client a server,e sua risposta tramite due metodi principali:
- Uso di CGI e simili: viene eseguito un processo separato per : ogni richiesta, l'output del programma viene rispedito in rete al client; N.B.:CGI non è nè un protocollo di comunicazione nè tanto meno un linguaggio, ma un sistema per definire delle variabili d'ambiente utilizzate dai processi; posso utilizzare i linguaggi che voglio, fra i più utilizzati troviamo perl;
- Uso di server API: si usano librerie dinamiche linkate al codice del server ed eseguito come un tutt'uno. Abbiamo vere e proprie applicazioni client e server. Il server non è iterativo ma multiconcorrente, più thread (processi leggeri) vengono lanciati per ogni richiesta;
- Abbiamo visto cosa sono:
- Java Servlet: sono qualcosa di simile alle applet ma eseguite server-side;
- JSP (Java Server Page): le richieste di questi file producono la loro compilazione in una servlet; vedi forum della sun per chiarimenti;
- PHP 5.0.5: può essere usato per
- Server-side scripting - scripting a linea di comando - applicazioni grafiche client-side
Tutorial su Java Servlet e JSP: qui
Sito Apache: qui
Guida su Apache: HTML.it
Installazione modulo PHP su Apache: qui (anche se consiglio di leggersi le istruzioni di installazione nel file zip);
Guida ad IIS: qui
PHP: download Zip package (non l'installer msi,per i sistemi Windows,perchè ha limitate funzionalità rispetto al pacchetto zip)
Lezione di Venerdì 4-11-05
Introduzione all'XML
- Tutorial:
- XML e Apache: http://xml.apache.org/
Lezione di Martedì 8-11-05
Linguaggi di markup
WAP,WML Tutorial:
- http://www.w3schools.com/wap/
- http://wapitalia.html.it/wml/
- http://www.wirelessdevnet.com/channels/wap/training/wml.html
- http://xml.coverpages.org/wap-wml.html
- http://www.zvon.org/xxl/WMLTutorial/Output/introduction.html
- http://www.wmlscript.it/j2me/index.asp
XHTML,riferimenti:
- http://www.html.it/xhtml/
- http://www.w3schools.com/xhtml/
- http://www.zvon.org/xxl/xhtmlReference/Output/
- http://www.digitalmediaminute.com/reference/entity/index.php
- http://www.xhtml.org/
XHTML-MP:
- xhtml-mp_style_guide
- http://www.developershome.com/wap/xhtmlmp/
- http://www.xml.com/pub/a/2004/04/14/mobile.html
- tag list
HTML:
- Validator Service: qui
- http://www.w3schools.com/html/html_intro.asp
- http://www.cwru.edu/help/introHTML/toc.html
- http://www.html.it/guida/
VoiceXML:
SVG:
- http://www.html.it/svg/
- http://www.svg-whiz.com/wiki/index.php?title=Main_Page
- http://www.dmi.unict.it/~snicotra/svgweb/
- http://www.w3schools.com/svg/default.asp
- .SWF Vs SVG
Lezione di Venerdì 11-11-05
Tutorial: http://www.w3schools.com/xsl/
- http://www.zvon.org/xxl/XSLTreference/Output/
- http://www.zvon.org/xxl/XSLTutorial/Books/Book1/
- http://www.xml.com/pub/a/2000/08/holman/
- Risorse varie
- http://www.html.it/xslt/
- http://www.topxml.com/xsl/tutorials/intro/default.asp
- http://www.topxml.com/xsl/XSLTRef.asp
Tutorials:
- http://www.w3schools.com/xpath/default.asp
- http://www.zvon.org/xxl/XPathTutorial/General/examples.html
- http://www.html.it/linguaggi_xml/xml_02.htm
- Risorse varie
- Applicare trasformazioni XSLT con PHP
Lezione di Martedì 15-11-05
Generazione dinamica con XSLT - Esercitazione
Lezione di Venerdì 18-11-05
J2ME - Prima parte
- J2ME
- Documentazione
- http://www.wmlscript.it/j2me/index.asp (Tutorial)
- Introduction to Java wireless programming (PDF)
- Ricapitolazione argomenti trattati nelle lezioni di teoria
- Sun Java Wireless Toolkit
- Tutorials della Sun
- Developing Wireless Applications (PDF)
- J2ME Device list
- Build a smart J2ME mobile application- part I (accessibile previa registrazione)
- Build a smart J2ME mobile application- part II (accessibile previa registrazione)
- J2ME Polish (suite of tools for creating "polished" J2ME applications)
- Network programming with J2ME
- Javapedia
- http://www.javastaff.com/
Lezione di Martedì 22-11-05
J2ME - Seconda parte
Lezione di Venerdì 25-11-05
Intervento Microsoft sulla programmazione per il .Net Compact Framework.
Sono online le slides in formato powerpoint.
Lezione di Martedì 29-11-05
- Servizi dipendenti dal contesto
Lezione di Venerdì 2-12-05
- ccpp: recommendation del W3C
Lezione di Martedì 6-12-05 SOSPESA
Annullata.
Lezione di Venerdì 9-12-05 SOSPESA
Annullata.