J2ME portabilitet Afgangsprojekt på IT-Diplomuddannelsen ved Ingeniørhøjskolen i København Eksamen: 10-06-2005 kl. 10:30 Studerende: Kenn A. Thisted (K4297) Vejleder: Birger Andersen J2ME portabilitet Afgangsprojekt på IT-Diplomuddannelsen ved Center for Videreuddannelse på Ingeniørhøjskolen i København Rapport afleveret: 23-05-2005 Supplement afleveret: 03-06-2005 Eksamen: 10-06-2005 (kl. 10:30 i N-2.07) Studerende: Vejleder: Censor: Kenn A. Thisted (K4297) Birger Andersen Flemming Halberg 1
Baggrund Java 2 Micro Edition - portabilitet Interesse for mobile applikationer og deres anvendelse Konkret: Sundhed.dk Vejviser MIDlet vs. WML Baggrund Java 2 Micro Edition - undersøge og forstå denne gren af Java - vurdere graden af portabilitet Interesse for mobile applikationer og deres anvendelse - scenarier, muligheder, business cases Konkret: Sundhed.dk Vejviser - ubetinget højeste besøgstal på sundhed.dk - grænseflade egnet til små enheder - mobil anvendelse relevant MIDlets vs. WML (Wireless Markup Language) - halvdelen af vurderingsgrundlaget for valg af platform 2
Udgangspunkt OOP-E, OOAD og VPJ Litteratur, on-line artikler og dokumentation Mobile enheder (PDA og mobiltelefoner) Udviklingsmiljø - J2ME Wireless Toolkit Udgangspunkt IT-diplomuddannelsen - uden liniebetegnelse - merit for NPI, DB og NS - OOP-E, OOAD og VPJ Litteraturstudium - relevante bøger/faglitteratur - on-line artikler - systemdokumentation og manualer Mobile enheder - Palm m500 PDA - Nokia 3510i - Sony Ericsson K500i Udviklingsmiljø - J2ME Wireless Toolkit 3
Det gode... Opfyldelse af formål og mål identificere og belyse forskellige faktorer og egenskaber, som udviklere af J2ME applikationer bør være opmærksom på dokumentere, designe og konkludere Godt indblik i J2ME-udvikling og egenskaber Konkret afprøvning af teknologier og værktøjer Historisk grundlag og variation i egenskaber som grundlag for vurdering af portabilitet Det gode 4
Det knapt så gode... Projektforløb Nummererings- og slåfejl Disponering af plads Programmering Det knapt så gode Projektforløb - forsinkelser/styring pga. jobskifte/arbejde Nummererings- og slåfejl - indholdsfortegnelse - kun engelsk stavekontrol Disponering af plads - lidt for langt (40 sider + 25%) - kildekode og skærmbilleder - resumé Programmering - håbet på mere, men nået det væsentligste 5
Processen Geografi og historie Etablering af platform Iterativ læring Designmodel Projekt-rapport og -applikationer Processen Geografi og historie - hvor placerer J2ME sig i relation til Java generelt - hvad består J2ME af og hvilke egenskaber har den - hvordan har udviklingen været, og hvordan bliver den... Etablering af platform - Palm Desktop og Hotsync / MIDP 4 Palm OS - J2ME Wireless Toolkit og PRC Converter Tool Iterativ læring - læs, afprøv og forstå - emne for emne Designmodel fra MIDP 2.0 Style Guide Projekt-rapport og -applikationer 6
Områder Udviklingsværktøj - emulatorer mv. Undersøge egenskabers portabilitet (demo - UI) Inddrage i design af konkret applikation Udsnit af javax.microedition.lcdui Kilde: Qusay Mahmoud / Learning Wireless Java Områder Display-klasserne i javax.microedition.lcdui er grundlaget for vurdering af brugergrænseflade-aspektet af portabiliteten. 7
Deployment... Build / Create Package Obfuscator (http://proguard.sourceforge.net/) Manifest (.MF) og Java Descriptor File (.jad) Over-the-air (via WML / MIME-type) Palm Resource File (.prc) - synkronisering Deployment Udvikling, test og package fra WTK Obfuscator - optimer (metoder, klasser, byte-kode) - anonymisér imod reverse engineering Manifest og Java Descriptor File - alt skal passe -.mf i.jar - URL og size i.jad Over-the-air - mobil browser / server skal understøtte.jad MIME type Palm Resource File - via HotSync 8
Deployment 1 2 3 4 Deployment J2ME Wireless Toolkit - Create Package Editér URL.jad file 9
Erfaringer / erkendelser Forståelse for parametre, som er afgørende for portabilitet Opstille kriterier for til- og fravalg ifm. applikationer J2ME - reelt portabel? Overvejelser i forhold til alternative mobile løsninger Andre programmeringssprog, WML, SMS mv. Erfaringer / erkendelser 10
Projektets fortsættelse Prototype modnes applikationsforløb, locale, fejlhåndtering Udgangspunkt for specialiserede vurderinger (ITD) Prototype præsenteres for sundhed.dk s styregruppe grundlag for fortsættelse / optimering af data (webservice) alternativt vurdering af WML løsning Evt. grundlag for sundhed.dk mobil-strategi Projektets fortsættelse... 11
J2ME portabilitet 1 2 3 4 5 6 7 8 12