Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

J2Me Il Micro Mondo Java

From aterreno, 6 months ago

My First Speech ever, for Jug Torino, 10 February 2003.

817 views  |  0 comments  |  0 favorites  |  15 downloads
 
 
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 817
on Slideshare: 817
from embeds: 0* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: J2ME - Il micro mondo Java Java miniaturizzato per i dispositivi wireless 13/01/08 Antonio Terreno http://java2me.org 1

Slide 2: Le versioni di Java 13/01/08 Antonio Terreno http://java2me.org 2

Slide 3: Le configurazioni Sun distingue ciò che si può tenere in mano  – CLDC • 128 Kb di memoria per l’esecuzione di Java • 32 Kb per l’allocazione a run time • Interfaccia utente limitata • Alimentazione elettrica ridotta (batterie) • Connettività wireless, banda stretta, discontinua Da ciò che si può connettere ad una presa murale  – CDC • 518 Kb minimo di memoria per l’esecuzione di Java • 257 Kb per l’allocazione a run time • Connettività a banda larga 13/01/08 Antonio Terreno http://java2me.org 3

Slide 4: KVM – Kylobyte Virtual Machine Dietro ogni programma Java c’è una Virtual  Machine, quella di J2ME ha queste caratteristiche: – Necessita di soli 40-80 Kb di memoria – Di soli 20 Kb di memoria dinamica – Può essere eseguita su cpu con Clock di 25 Hz 13/01/08 Antonio Terreno http://java2me.org 4

Slide 5: La configurazione CLDC Destinata a Cellulari, PDA, Pager.  Si occupa di:  – Definire le caratteristiche del linguaggio Java – Fornire un set minimo di librerie di base – Gestire gli stream di I/O – Sicurezza – Networking – Internazionalizzazione Lasciando ai profili:  – La gestione del ciclo di vita delle applicazioni – L’implementazione di interfaccie utenti – La cattura e la gestione degli eventi – L’interazione tra l’utente e l’applicazione 13/01/08 Antonio Terreno http://java2me.org 5

Slide 6: Il package java.lang Differenze con l’omonimo package di J2SE  – Niente float – Niente double – Classe math: tenuti solo max, min, abs – Niente Daemon Thread e Gruppi di thread – Niente Java Native Interface Per adattarsi meglio alle caratteristiche dei  dispositivi 13/01/08 Antonio Terreno http://java2me.org 6

Slide 7: Classi di utilità: java.util Uniche classi presenti:  – Enumeration – HashTable – Vector – Stack – Calendar – Date – TimeZone – Random Nella configurazione CDCL c’è solo lo  “stretto necessario”! 13/01/08 Antonio Terreno http://java2me.org 7

Slide 8: La gestione degli stream: java.io La maggior parte dei dispositivi CDCL non  possiedono un file system, sono state eliminate tutte le operazioni su file. L’unico supporto all’internazionalizzazione è  garantito da queste due classi: – InputStreamReader(InputStream is, String encoding); – OutputStreamWriter(OutputStream os, String encoding); Che permettono la conversione da sequenze di byte  a caratteri unicode e viceversa 13/01/08 Antonio Terreno http://java2me.org 8

Slide 9: Il Generic Connection Framework Qualunque tipo connessione viene aperta utilizzando  il metodo open() della classe Connector: Connector.open(string_connection);  dove string_connection ha il seguente formato:  <protocol>:<address>;<parameters>  – protocol indica il tipo connessione che si intende utilizzare (es. http, datagram, scrittura su file, ecc.) – address permette di individuare la destinazione (può essere un indirizzo IP ma anche il nome di un file) – parameters contiene una serie di informazioni aggiuntive che possono essere funzionali per un dato tipo di connessione (ad es. baudrate per comunicazioni su porta seriale) 13/01/08 Antonio Terreno http://java2me.org 9

Slide 10: Gerarchia del Generic Connection Framework 13/01/08 Antonio Terreno http://java2me.org 10

Slide 11: La sicurezza I meccanismi di J2SE richiedono troppa  memoria, in J2ME è stato utilizzato un approccio a più livelli: – Virtual Machine – Applicazione – Con due livelli di verifica: • Fuori dal dispositivo (off-device pre- verification) • Nel dispositivo (in-device verification) 13/01/08 Antonio Terreno http://java2me.org 11

Slide 12: Il processo di verifica 13/01/08 Antonio Terreno http://java2me.org 12

Slide 13: SandBox Model Modello di sicurezza:  – Ogni applicazione deve aver superato il processo di verifica – Ha accesso ad un ben determinato set di API (quelle previste dalla CLDC, dal profilo utilizzato e eventuali altri classi) – Non è prevista la possibilità di ridefinire caricatori di classe a livello applicazione – Il codice nativo non è accessibile alle applicazioni 13/01/08 Antonio Terreno http://java2me.org 13

Slide 14: Mobile Information Device Profile – MIDP Si occupa:  – Di gestire il ciclo di vita delle applicazioni (caricamento esecuzione - distruzione delle applicazioni) – Di gestire l'interfaccia utente (dispositivi di input/output) – Del salvataggio persistente dei dati – Del networking (implementazione dei protocolli) Questi quattro punti sono implementati in altrettanti  packages, rispettivamente: – javax.microedition.midlet – javax.microedition.lcdui – javax.microedition.rms – javax.microedition.io 13/01/08 Antonio Terreno http://java2me.org 14

Slide 15: Architettura MIDP 13/01/08 Antonio Terreno http://java2me.org 15

Slide 16: Ciclo di vita di una MIDlet 13/01/08 Antonio Terreno http://java2me.org 16

Slide 17: I file Manifest e Jad File MANIFEST:   MIDlet-1: HelloWorld, HelloWorld.png  MIDlet-Name: HelloWorld  MIDlet-Vendor: Csp S.c.a r.l.  MIDlet-Version: 1.0  MicroEdition-Configuration: CLDC-1.0  MicroEdition-Profile: MIDP-1.0 File JAD: (Java Application Descriptor)   MIDlet-1: HelloWorld, HelloWorld.png  MIDlet-Jar-Size: 100  MIDlet-Jar-URL: HelloWorld.jar  MIDlet-Name: HelloWorld  MIDlet-Vendor: Csp S.c.a r.l.  MIDlet-Version: 1.0 13/01/08 Antonio Terreno http://java2me.org 17

Slide 18: Metodi di approvvigionamento OTA  – Over The Air Initiated Provisioning Recommended Pratice è un addendum del MIDP 1.0 per il download delle midlet. In pratica nel file JAD viene indicato l’url del file JAR Wap Push  – Viene inviato al cellulare un messaggio con un link al file JAD 13/01/08 Antonio Terreno http://java2me.org 18

Slide 19: Il futuro: MIDP 2.0 – Multimedia – Immagini in RGB – Game API – Modello di Sicurezza Migliorato – HTTPS – Gestione della rete migliorata – Distribuzione delle applicazioni migliorata 13/01/08 Antonio Terreno http://java2me.org 19

Slide 20: Conclusioni J2ME è una tecnologia molto potente e può  essere integrata con le numerose API liberamente scaricabili da internet – Jxta.org per il P2P – Bouncycastle.org per la crittografia –… Limitata dall’Hw degli attuali dispositivi  Con i cellulari 3G sarà possibile sviluppare  applicazioni molto potenti – Sistemi GIS – Applicazioni Multimediali 13/01/08 Antonio Terreno http://java2me.org 20