lezione 14

Transcript

lezione 14
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
European Master on Critical Networked Systems
Modulo su Mobile Systems
Parte III:
Sviluppo di applicazioni J2ME
Lezione 3:
IDE ed emulatori
Docente: Ing. Salvatore Orlando
Dipartimento di Informatica e Sistemistica
Via Claudio 21, 80125 Napoli
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Contenuti della lezione
IDE per lo sviluppo di Applicazioni J2ME
J2ME Wireless Toolkit
NetBeans
Eclipse - MTJ
WebSphere Studio Device Developer
CarbIDE.j
Emulatori di dispositivi J2ME
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Integrated Development Enviroments (IDE)
• In linea di principio è possibile sviluppare una qualunque applicazione
con un editor di testo ed un compilatore
• Nella pratica l’utilizzo degli ambienti di sviluppo riduce drasticamente i tempi di sviluppo
• Nell’ambito J2ME la necessità di un ambiente di sviluppo integrato
è particolarmente sentita:
• Necessità di disegnare interfacce grafiche
(a meno che non si usi il Foundation Profile)
• Gestione degli eventi di navigazione tra i Displayables delle MidLets
• Gestione degli “optional packages” da utilizzare nelle applicazioni
(Es.: JSR-172 per i web services)
• Creazione del jad-file nelle applicazioni MIDP
• Gestione del Deployment
• Debugging (richiede un emulatore)
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Integrated Development Enviroments (IDE)
• Nel seguito verranno presentati diversi ambienti di sviluppo per
applicazioni J2ME
• Verranno prese in considerazione le seguenti caratteristiche:
• Disponibilità (Windows / Linux)
• Tipo Licenza (Commerciale / Shareware / Freeware / GPL / CPL )
• Configurazioni e Profili Targeted
• Java Virtual Machine di riferimento
• Features specifiche J2ME (Es.: GUI Designers, On device debugging, …)
• Estendibilità dell’ambiente di sviluppo
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
• Vendor: Sun Microsystems
• Licenza: Freeware (codice sorgente non disponibile)
“You may reproduce and use the Software for Your own Individual, Commercial, or Research
and Instructional Use, subject to and conditioned on Your compliance with the Additional
Terms below. Additional Terms”
• Disponibilità: Windows / Linux
• Ultima versione conosciuta: 2.5.1 (22 maggio 2007)
• Configurazioni Targeted: CLDC (Esiste un’analogo Sun Java Toolkit per CDC)
• Profili Targeted: MIDP
• Virtual Machine di riferimento: Sun CLDC Hotspot Implementation
• Url per il download:
http://java.sun.com/products/sjwtoolkit/download-2_5_1.html
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
• Non è un vero e proprio IDE
• Non include tools quali code editors, gui generators o deploy managers
• Supporta firma digitale per le applicazioni
• Supporta obfuscation (con package di terze parti, ProGuard)
Struttura delle
cartelle di un
progetto
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
Caratteristiche Supportate (Optional Packages)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Mobile Service Architecture (JSR 248)
Java Technology for the Wireless Industry (JTWI) (JSR 185)
PDA Optional Packages for the J2ME Platform (JSR 75)
Java APIs for Bluetooth (JSR 82)
Mobile Media API (MMAPI) (JSR 135)
J2ME Web Services Specification (JSR 172)
Security and Trust Services API for J2ME (JSR 177)
Location API for J2ME (JSR 179)
SIP API for J2ME (JSR 180)
Mobile 3D Graphics API for J2ME (JSR 184)
Wireless Messaging API (WMA) 2.0 (JSR 205)
Content Handler API (JSR 211)
Scalable 2D Vector Graphics API for J2ME (JSR 226)
Payment API (JSR 229)
Advanced Multimedia Supplements (JSR 234)
Mobile Internationalization API (JSR 238)
Java Binding for the OpenGL(R) ES API (JSR 239)
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
Schermata principale e
creazione di un nuovo
progetto
Console con log
Operazioni
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
Finestra Configurazione Progetto
• Selezione Piattaforma Target
• Versione MIDP / CLDC
• Packages Opzionali da Includere
nel progetto
• Supporto WMA (Wireless
Messaging API)
• Configurazione MidLet-suite
• Configurazione security permissions
•…
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. J2ME Wireless Toolkit
Finestra Configurazione
Emulatore
• Connettività Emulatore (proxy server)
• Calibrazione performances
• Monitoraggio e Profiling
• Dimensione Aree di storage ed heap
• Locale del dispositivo
• Configurazione caratteristiche opzionali:
• Emulazione SMS per WMA
• Emulazione Bluetooth
• Parametri Emulazione Location,
Payment e SIP
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. NetBeans
• Vendor: Sun Microsystems
• Licenza: CDDL (Common Development and Distribution License)
Licenza world-wide, royalty-free, non exclusive. Variazioni al codice sorgente consentite
• Disponibilità: Windows / Linux / Solaris / MacOS
• Ultima versione conosciuta: 5.5.1 (prossimo il rilascio della versione 6)
• J2ME viene supportata mediante Add-Ons:
• Configurazione CLDC: NetBeans Mobility Pack for CLDC (ver. 7.3)
• Configurazione CDC: NetBeans Mobility Pack for CDC (ver. 2.0)
• Virtual Machine di riferimentio: Sun CLDC Hotspot Implementation
(CLDC), Sun CDC Hotspot Implementation (CDC)
• URL per il download: www.netbeans.org
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. NetBeans
Ambiente di sviluppo completo:
• Gui Designer per configurazione CLDC (LCDUi - SVG)
• Design Visuale Flusso comandi applicativi
• Gui Designer per configurazione CDC (AWT)
• Wizard per la creazione di clients di Web Application (JSP-Servlet)
• Wizard per sviluppo Web Service Client (JSR-172)
• Deployment gestito – supporta FTP, SFTP, trasferimento diretto sul device
• Supporto per Obfuscation a 9 livelli
• Supporto per firma digitale MidLets
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans
Caratteristiche Supportate (Optional Packages)
I packages Opzionali disponinbili
dipendono dalla piattaforma
utilizzata per lo sviluppo di un
singolo progetto (gestibile dalle
proprietà del progetto).
Ad esempio, utilizzando il Wireless
Toolkit 2.5.1 come piattaforma si
hanno a disposizione tutte le API
precedentemente elencate
Utilizzando invece una piattaforma
propietaria (Es.: Nokia S40), si
hanno a disposizione Vendor-Specific
APIs, come “Nokia User Interface”
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans – Flow Designer
Consente di specificare il flusso applicativo tra diversi
Displayables ed element dei forms, associando azioni
alla selezione di comandi
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans – Screen Designer
Preview Form
la dimensione dello schermo dipende
dal profilo di emulazione selezionato
Riepilogo comandi assegnati
Palette
elementi
LCD UI
Finestra
proprietà
elemento
corrente
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans – Source Editor
Codice AutoGenerato (non
modificabile dal
programmatore)
Elenco metodi
classe corrente
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans – Configurazione Emulatore
Consente di configurare l’emulatore in cui far girare la Midlet (o l’applicazione CDC).
Dal Menù tools selezionare Java Platform manager
Piattaforme CDC / CLDC
Accesso all’utility di
configurazione
dell’emulatore
(software esterno)
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. NetBeans – Esecuzione
Qwerty device
J2ME Wireless Toolkit 2.5.1
www.mobilab.unina.it
Default Color Phone
J2ME Wireless Toolkit 2.2
S60 Emulator
Nokia S60 3° Edition SDK for MIDP
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. Eclipse - MTJ
• Vendor: Eclipse Software Foundation
• Licenza: EPL (Eclipse Public License)
Licenza world-wide, royalty-free, non exclusive. Variazioni al codice sorgente consentite
• Disponibilità: Windows / Linux / Solaris / Mac OS X
• Ultima versione conosciuta: 3.2.2 (12 febbraio 2007)
E’ disponibile la release candidate 2 della versione 3.3
• Eclipse è un framework concepito per lo sviluppo di una vasta gamma di
applicazioni
• Il progetto Eclipse – MTJ (Mobile Tools for Java) si propone di offrire un
framework completo per lo sviluppo di applicazioni J2ME
• MTJ è inquadrato in un più ampio Eclipse Subproject, Device Software
Platform Project (DSDP)
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. Eclipse - MTJ
• Virtual Machine di Riferimento: nessuna (la JVM utilizzata dipendente dal
particolare SDK di sviluppo utilizzato insieme ad MTJ)
• URL per il download: www.eclipse.org
• Ultima versione di MTJ: sviluppo in corso
attualmente è disponibile la versione 0.7, il rilascio della versione 1.0 è
previsto per Settembre 2007
• MTJ supporta sia la configurazione CLDC (profilo MIDP) che CDC
(profili Foundation e Personal)
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Eclipse - MTJ
Caratteristiche IDE:
• Nessun GUI Editor Visuale (i form vanno creati a mano)
• Nessun Flow Designere Visuale
• Editing di JAD files assistito
• No Debug su Emulatore/Dispositivo
• No Deployment diretto su dispositivo
Le caratteristiche dell’IDE sono fortemente ridotte rispetto a NetBeans.
MTJ è supportato da importanti aziende, quali Nokia ed IBM, e c’è da attendersi
che in futuro possa diventare una delle piattaforma di riferimento per lo sviluppo
di applicazioni J2ME
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. Eclipse - MTJ
Configurazione Ambienti di Runtime
Configurazione MTJ
1. Piattaforme Dispositivi,
fornite da terze parti (Es.:
Sony Ericsson MIDP SDK
2.24), includenti librerie
ed emulatori
2. Definizione Runtime
Plaftorm (selezione di uno
dei devices offerti dal
Device Platform)
3. (Opzionale)
Configurazione Security
Manager
4. (Opzionale)
Configurazione Providers
Firma Digitale
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. Eclipse - MTJ
Java Application Descriptor Editor
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. WebSphere Studio Device Developer
• Vendor: IBM
• Licenza: Commerciale
E’ possibile ottenere una trial di 90 giorni
• Disponibilità: Windows / Linux
• Ultima versione conosciuta:5.7 (2005)
• Basato sulla piattaforma Eclipse
• Configurazioni Supportate: CDC, CLDC
• Profili Supportati: MIDP, Personal Profile, Foundation Profile
• Virtual Machine di Riferimento: IBM J9
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. WebSphere Studio Device Developer
• Caratteristiche del tutto simili a MTJ
• Il software è stato “abbandonato”, in quanto inglobato in un progetto
di più ampio respiro, Lotus Expeditor
• La principale differenza di questo ambiente di sviluppo è che include i
device platforms per J9 su diverse piattaforme:
• Windows/x86
• Linux/x86
• Windows CE/ARM
• Linux/ARM
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. CarbIDE.J
• Vendor: Nokia
• Licenza: Freeware
• Disponibilità: Windows
• Ultima versione conosciuta: 1.5
• Installabile in diversi flavors:
• Standalone
• Integrato in Eclipse (versione consigliata 3.1)
• Integrato in Netbeans
• Integrato in Borland JBuilder
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. CarbIDE.J
• Virtual Machine di Riferimento: nessuna (dipende dagli SDK utilizzati)
• Configurazioni supportate: CDC, CLDC
• Profili Supportati: MIDP,
Foundation Profile
Personal Profile, Personal
Basis Profile,
• URL per il download:
http://forum.nokia.com/main/resources/tools_and_sdks/carbide/index.html
(Richiesta registrazione gratuita al Forum Nokia)
IDE
www.mobilab.unina.it
Plugin
SDK
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. CarbIDE.j
Caratteristiche IDE:
• GUI Editor: Nokia UI Designer
(Sviluppo di interfacce grafiche fortemente orientato a dispositivi Nokia, sia per la
progettazione di applicazioni che di videogiochi)
• Flow Designer Visuale
(Simile a quello fornito con NetBeans)
• Editing di JAD files assistito
• Wizard per sviluppo Web Service Client (JSR-172)
• Deployment gestito – supporta trasferimento diretto sul device via Bluetooth
• Supporto per firma digitale MidLets
• Gestione Digital Rights
• Supporto per Debug sul Dispositivo
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Nokia UI Designer
Palette Elementi
Forms
Resource Tree
Property Sheet
Form Editor
Selettore Layout
schermo
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Nokia Flow Designer
Entry Point Della MidLet
Exit Point Della Midlet
Comando
Displayables
(Alert, Form, List)
Resource Tree
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Esecuzione Applicazione
1. Tools Æ Carbide.j Æ Start Emulators
2. Selezionare la classe principale della
Midlet, il file JAD o il file JAR
contenente la MidLet-suite
3. Selezionare l’emulatore desiderato
4. Configurare se necessario, le opzioni
dell’emulatore
5. Premere il pulsante “Emulate”
Nota: E’ necessario abbassare il source compliance level del compilatore a 1.4
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Deployment Applicazione
1. Generazione Deployment Package
1. Tools Æ Carbide.j Æ New Application Package
2. Impostare attributi per il JAD (nome midlet, vendor, …)
3. Premere il pulsante Generate
2. Deployment su dispositivo
1. Tools Æ Carbide.j Æ Deplyment
2. Selezionare l’applicazione da deployare (file JAD)
3. Connettere un dispositivo via Nokia PC Suite
4. Effettuare il Deployment sul device
5. L’installazione della MidLet proseguirà sul dispositivo
Nota: Deployment on device disponibile solo per dispositivi Nokia. E’ richiesto il
software Nokia PC Suite
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
Mobilab
European Master on Critical Networked Systems
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Debugging
Debugging su Emulatore
1. Impostare parametri del debugger (Es.: aumentare tempo latenza)
2. Creare una configurazione di debug (Nokia SDK Plug-In)
(attenzione questa caratteristica non funziona con Eclipse 3.2)
3. Selezionare SDK ed emulatore da utilizzare per il Debug
4. Impostare i breakpoints ed avviare il debugger
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. CarbIDE.j – Debugging
Debugging su Dispositivo
Operazioni Una Tantum
•
Installare l’agente di Debug sul dispositivo (Software Symbian OS)
•
Impostare la connessione Bluetooth tra il dispositivo e la workstation di
sviluppo
•
Abilitare il servizio “ecmtAgent” nelle proprietà del driver Bluetooth sulla
workstation di sviluppo
Operazioni Da ripetere per ogni connessione
•
Attivare l’agente di debug sul dispositivo
•
Utilizzare l’utility “Device Connection” per avviare la connessione
utilizzata dall’agente di Debug
•
Avviare una nuova configurazione di Debug utilizzando anziché un
emulatore “S60 Device Over Bluetooth”
Nota: On device debugging disponibile solo per dispositivi Nokia. E’ richiesto il
software Nokia PC Suite
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Emulatori
•
Non sempre si ha a disposizione il dispositivo sul quale testare
l’applicazione
•
“Write once, run anywhere” non è del tutto vero in J2ME
•
Differenze nei layout dello schermo
•
Differenze nel rendering dei componenti di Interfaccia utente
•
Differenze relativamente agli optional packages disponibili
•
E’ pertanto opportuno avere a disposizione emulatori di diversi dispositivi
(per brand e modello) sui quali testare le proprie applicazioni
•
Tali emulatori devono:
•
Emulare l’hardware fisico del dispositivo (Es.: processore xScale)
•
Emulare il sistema operativo del dispositivo (Es.. Symbian OS)
•
La JVM non va emulata!
Gli stessi emulatori visti per Symbian OS
possono essere utilizzati anche per testare applicazioni J2ME
www.mobilab.unina.it
[email protected]
Mobile Systems
S. Russo
European Master on Critical Networked Systems
Mobilab
Napoli,
Maggio-Giugno 07
::. Emulatori
•
•
•
Sun Microsystems (Generici)
•
Default Color Phone
•
Qwerty Device
Nokia
•
Series 40 Emulator (Nokia 61xx, 62xx, 63xx)
•
Series 60 Emulator (Nokia 66xx)
•
Series 60 3° Edition Emulator (Nokia Nxx)
•
Series 80 Emulator (Nokia Communicator 9xxx)
•
Nokia 7710 Emulator
•
…
Sony Ericsson
•
www.mobilab.unina.it
Kxxx, P9xx, Wxxx, Zxxx
[email protected]
Mobile Systems
S. Russo

Documenti analoghi

Embedded Linux

Embedded Linux libraries, a graphic window system, a target builder, a library optimization tool, and BSPs for x86 and ARM targets. uClinux -- a derivative of Linux specifically for microprocessors which do not p...

Dettagli