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
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...