30-12-05

new site launched

http://www.fpga.be

00:21 Gepost door Mobile blogger | Permalink | Commentaren (0) |  Facebook |

J2ME ERASMUS PROJECT

‘Wireless environment for data access on a server.’

Ing. Vincent Claes
Promotor: Prof. J.M.J. Boutsen, Ph.D.
Hogeschool Limburg
2003-2004

Universidade de Vigo – Departemento de Enxeñeria Telemática
Prof. L. E. Anido Rifón, Ph.D.
Assistent Prof. L. Álvarez Sabucedo

Inleiding
Mijn eindwerk is tot stand gekomen in samenwerking met de Universidade de Vigo via
een Erasmus-uitwisselingsprogramma. Het handelt over het toegankelijk maken van
web-databases. De bedoeling is data (gegevens), die op een webserver staan,
beschikbaar te maken op een mobiele client met weinig resources zoals mobiele
telefoons (GSM) en/of personal digital assistants (PDA). De database, waarvoor ik mijn
applicatie geschreven heb, werd reeds gebruikt voor de normale ‘desktop’ website. Voor
het programmeren van de client heb ik gebruik gemaakt van Java 2 Micro-Edition
(J2ME) wat eigenlijk het kleine broertje in de Java familie is.
Overzicht


Gebruikte technologieën
Wireless devices
Vroeger was er de GSM waarmee men kon bellen en berichten sturen, alles wat je er
mee kon doen was hard-coded door de fabrikant. De dag van vandaag is de GSM een
meer dynamisch toestel waarmee we niet enkel kunnen bellen, maar waar de gebruiker
een zeer groot scala aan toepassingen zelf kan ontwikkelen.
Zo kan men bijvoorbeeld gebruik maken van J2ME, dat ik in mijn thesis hanteerde. De
PDA is ook meer geworden dan een ‘geheugensteuntje’ voor de zakenman. Je kan er
niet enkel je contactpersonen mee ‘onthouden’ maar je kan er zelfs mee telefoneren.
Ook voor deze toestellen kan je tegenwoordig zelf applicaties ontwikkelen, door
bijvoorbeeld zoals in mijn thesis toegepast een JVM (Java Virtual Machine, dit vertaalt
de ‘code-taal’ die geschreven word in Java naar machinetaal) te installeren. De termen
GSM en PDA lopen meer en meer in elkaar over. Tegenwoordig worden dan ook veel
GSM’s met PDA functies op de markt gebracht onder de naam ‘smartphone’ zodat het
niet meer noodzakelijk is over zowel een GSM en PDA te beschikken.
Wanneer men een systeem gaat ontwerpen voor een wireless device, dan moet men
met allerlei beperkingen rekening houden. Men spreekt ook wel eens over toestellen
met ‘limited horsepower’ als men het heeft over deze draagbare toestellen. Zo is er
maar een beperkte hoeveelheid geheugen en niet veel processorkracht beschikbaar,
bovendien hebben we in vergelijking met de hedendaagse desktop-markt zeer kleine
‘screen sizes’. Als input device kunnen we ook niet rekenen op ons welbekende azerty
keyboard maar moeten we het met eerder beperkte middelen doen zoals een stylus,
een touchscreen of een beperkt toetsenbord.

Java technologie
Oorspronkelijk was Java ontwikkeld met als leuze ‘Write once, run anywhere’. Door het
grote verschil in de hedendaagse markt van de elektronische toestellen die kunnen
gebruik maken van Java heeft men deze technologie echter moeten opsplitsen in 3
edities.
‹ Enterprise Edition (J2EE): bedoeld voor de toestellen met veel geheugen en
grote processorkracht, de servers dus.
‹ Standard Edition (J2SE): ontwikkeld voor de hedendaagse desktop markt, de
computer die je op iedere bureau ziet staan.
‹ Micro-Edition (J2ME): het nieuwste en het kleinere broertje in de Java familie
bedoeld voor de zogenaamde ‘information appliances’ (GSM , PDA , GPS
systemen ,…)
J2ME
Java versie 2 Micro-editie is opgedeeld op 2 verschillende gebieden: enerzijds naar
gelang de hardware van het device de zogenaamde ‘configurations’ en anderzijds
naargelang de gebruikte API classes de ‘profiles’.
De belangrijkste ‘configurations’ zijn het CDC (Connected Device Configuration) en het
CLDC (Connected Limited Device Configuration). Bij het CDC zijn de minimum vereisten
2MB geheugen, een 32-bit microprocessor of controller en een beschikbaar netwerk dat
bij voorkeur een grote bandbreedte heeft. Een CDLC is beperkter, het toestel moet maar
beschikken over 160kB geheugen, minimum een 16-bit 25MHz processor en er is geen
netwerk vereist.
De 2 belangrijkste profiles zijn het MIDP (mobile information device profile), dat bedoeld
is voor de hedendaagse GSM en het PDAP (Personal Digital Assistant Profile) dat
eigenlijk een uitbereiding is op het MIDP maar waar men gebruik kan maken van de
grotere mogelijkheden van een PDA. Vermits het PDAP een uitbereiding is van het
MIDP en een MIDP ook op een PDAP compatibel toestel werkt, heb ik gebruik gemaakt
van het MIDP. Wanneer men programmeert onder het MIDP heet het programma een
MIDlet.

Een midlet kan bestaan uit twee bestanden:
-Een Java Application Descriptor (JAD): een kleine tekst (<1 kbyte) die de toepassing
beschrijft
-Een Java Archive (JAR): de execute file van de toepassing (10 -100 kbytes of zelfs
meer).
Voor het programmeren van de client heb ik gebruik gemaakt van Jcreator en voor het
simuleren van mijn software heb ik beroep gedaan op de Wireless Toolkit 2.0 die gratis
te downloaden is op de Sun website.
Tevens zijn er developerkits beschikbaar van de verschillende mobiele telefoon
leveranciers. Hiermee zijn specifieke functies van deze mobiele telefoons te gebruiken.
Nadat de MIDlet applicatie succesvol is uitgevoerd en werkt op de Wireless Toolkit
emulator, kan deze op de mobiele telefoon geplaatst worden. Dit proces is per toestel
verschillend en wordt beschreven in de handleiding van het
toestel.

HTTP connectie
Bij een client / server applicatie is het nodig een manier te vinden om een connectie aan
te leggen tussen de server en de client. Het programma dat onder J2ME
geprogrammeerd was op de client, is eigenlijk gewoon een interface. De gegevens die
op de server stonden moesten op één of andere manier nog kunnen opgehaald worden.
Door de keuze van een HTTP (HyperText Transfer Protocol) connectie lag het doel
‘anywhere anytime, data access’ binnen bereik. Een HTTP transactie bestaat telkens uit
een request (een aanvraag) die gestuurd wordt door de client naar de server en een
antwoord (response) die terug gestuurd wordt vanuit de server naar de client dat
eigenlijk een antwoord is op de informatie aanvraag van de client.
XML
Hetgeen wat uitgewisseld wordt in dit systeem is in feite een XML file. XML staat voor
eXtensible Markup Language wat eigenlijk een meta-taal is zoals HTML met dat verschil
dat HTML ontwikkeld is voor het tonen van de gegevens die tussen de tags staan en
XML gebruikt word voor het beschrijven van de gegevens die tussen de tags staan. De
keuze van XML ligt eigenlijk een beetje voor de hand vermits XML een cross-platform,
hard-en software onafhankelijk instrument is dat gebruikt wordt voor gegevens uit te
wisselen.
Als de XML file aankomt bij de client moet de client aan ‘parsing’ doen. Dit is de
informatie tussen de tags uit lezen en presenteren op het scherm. In mijn systeem
gebeurt dit door gebruik te maken van kXML dat een XML parser is die speciaal
ontwikkeld is voor J2ME.
Database server
De gegevens die gepresenteerd moesten worden op het mobiele toestel stonden op een
webserver, die reeds gebruikt werd voor de normale desktop-website en voor iedereen
toegankelijk met een browser zoals internet explorer. Het ging hier over een SQL
(Structured Query Language). Door gebruik te maken van VB.NET (Visual Basic
Microsoft .NET ) waren wij in staat een asp-pagina (active server page) te onwikkelen

die via SQL commando’s de aangevraagde informatie uit de database ophaalde en
hiermee een XML file genereerde die dan naar de client gestuurd wordt.
Ontwikkelde project
Als we het programma, dat geschreven is op de client, gaan bekijken dan merken we
dat dit eigenlijk een soort van browser is, zoals je op een ‘desktop’ computer via je
internetbrowser HTML pagina’s kan bezoeken. Op gelijkaardige wijze kan je met deze
browser de zelf geschreven XML pagina’s, die de informatie uit de database bevatten,
raadplegen.


Conclusies
De ontwikkelde applicatie werd met succes getest. Het stelt een simpele oplossing voor
voor een op het eerste zicht moeilijk probleem. Met slecht enkele kleine aanpassingen
kan deze applicatie voor andere doeleinden ingezet worden, onder meer voor remote
controlling van toestellen. Men kan ook denken aan het beschikbaar maken van
meetgegevens via een LabVIEW systeem waar men de meetgegevens in een XML file
wegschrijft op een webserver en men met een mobiel toestel de meetgegevens
anywhere, anytime kan consulteren.
De basis interface van een MIDlet bestaan uit één of meerdere Form objecten. Elke
Form kan meerdere Items bevatten. Er kan slechts één formulier tegelijkertijd zichtbaar
gemaakt worden. Het plaatsen van Items op het schermpje wordt bepaald door het
apparaat.
Gebruikers kunnen ook hun mobiele telefoon aan de eigen wensen aanpassen en
personaliseren door bepaalde toepassingen te installeren. Voorbeelden van
downloadable JAVA-toepassingen en applicaties zijn onder andere games,
sporttrainingkalenders, tweetalige woordenlijsten, plattegronden, dienstregelingen en
horoscopen.
MIDP v2.O biedt nieuwe functionaliteiten aan zoals geluid, ‘push capabilities’ ( waarbij
een java applicatie op je telefoon wordt aangestuurd vanuit het netwerk), een
uitgebreidere gebruikersinterface, betere ondersteuning voor spelletjes en een ‘security
framework’.
De toekomst van J2ME ziet er rooskleurig uit: J2ME laat de concurrenten WAP en I-
mode achter zich als het neerkomt op controle die een programmeur kan uitvoeren op
het ontwikkelde systeem. Bij I-mode en WAP ben je namelijk genoodzaakt een browser
van een externe partij te gebruiken. Ook als we abstractie maken van deze
onvermijdelijke J2ME-hype, tekenen zich binnen de hedendaagse software ontwikkeling
enkele duidelijke tendensen af: informatie en processing moeten overal en op een
veelvoud van platformen beschikbaar zijn, applicaties moeten steeds flexibeler en ad

hoc worden opgebouwd. J2ME wordt daarom reeds op grote schaal toegepast in de
wereld van mobile gaming; je kan er door een spelletje downloaden en spelen op je
GSM. Naar schatting zijn er tegen het jaar 2007 450 miljoen mobile devices op de markt
die J2ME ondersteunen, het wordt dus zeker één van de dominante platformen voor
mobiele toestellen Neem daar ook nog het steeds sneller worden van het GSM netwerk
bij en je ziet dat er een zeer grote markt voor mobiele toepassingen is..
Het ontwikkelen van software voor mobiele media verschilt van het ontwikkelen voor de
PC: een totaal verschillende manier van denken is noodzakelijk. Dit is een gevolg van
de beperkte schermgrootte, beperkte controle over de layout en de beperkte
hoeveelheid beschikbaar geheugen. We moeten steeds rekening met de beperkingen
van mobiele toestellen houden,best kunnen we er dus voor zorgen dat het grootste
gedeelte van de data processing op de server side gebeurt, omdat we hier meer
geheugen en processorkracht hebben.
Deze applicatie toont aan dat men veel voordeel kan boeken op het gebied van
efficiëntie door het gebruik van dit soort applicaties. Andere gebieden waarin soortelijke
voordelen kunnen worden behaald zijn:
• Bedrijfsapplicaties
• Contactinformatie
• Identificatie en registratie.

00:17 Gepost door Mobile blogger | Permalink | Commentaren (0) |  Facebook |