Mobile computing
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
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
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;
- Mobile Computing;
- Pervasive Computing;
- Ubiquitous Computing;
- Disappearing Computing;
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...
Abbiamo visto le caratteristiche dei 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;
Blackberry:
- frequentemente utilizzati in USA;
- usato molto e principalmente per e-mail;
- ha una tastierina;
Tablet PC:
- 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(più stabile secondo il prof);
- SymbianOS (orientato alla telefonia);
- Windows Mobile( - stabile);
- OS in java e Linux: percentuali ridotte sul mercato;
Lezione di Martedì 11-10-05
- Osservazione dell'architettura dei sistemi operativi per mobili,in particolare:
- Windows Mobile;
- PalmOS
- Symbian
- Descrizione delle caratteristiche delle tecnologie Bluetooth,IR e Wifi, e delle reti che la utilizzano,ossia WLAN e WPAN;
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:
- Repubblica
- Posizione ricercatori DICO,ecc.. qui
Reti geografiche wireless
- 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);
- HSCSD: circuit switched;
- GGSN;
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 scaricando lo zip,trovate all'interno la guida in inglese per tutte le installazioni del caso;
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
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