Soluții - PC Magazine Romania, Februarie 2004
Despre MIDlet-uri și integrarea cu alte sisteme
Mircea Scărlătescu
Java Mobile se impune pe zi ce trece ca o soluție preferată când vine vorba
de realizarea de aplicații pentru telefoane mobile. Telefoanele moderne din
ziua de azi sunt JavaEnabled, adică știu să ruleze astfel de aplicații, iar
Nokia are dedicată o mare parte din efortul său de dezvoltare pentru realizarea
de telefoane JavaEnabled cât mai moderne și fiabile.
Orice aplicație pentru un astfel de device are la bază un MIDlet. Un MIDlet
este un program scris pe platforma J2ME sub specificațiile MIDP. Specificațiile
MIDP (Mobile Information Device Profile) reprezintă o serie de standarde pe
care un telefon trebuie să le îndeplinească pentru a putea să ruleze aplicații
J2ME. Aceste specificații țin cont în mod special de resursele limitate ale
telefoanelor (puterea procesorului, memoria limitată, tastatură rudimentară
față de desktop-uri și laptop-uri), și pun bazele comunicației HTTP pentru aceste
aparate.
Dacă în numărul trecut ați avut ocazia să observați cum arată un MIDlet simplu,
acum trebuie să facem o serie de precizări ceva mai exacte:
Construirea unei aplicații de acest gen trebuie să țină cont de resursele telefonului,
deci cilclul de viață al aplicației trebuie să fie cât mai scurt, din momentul
în care aplicația devine inactivă, și toate interacțiunile cu utilizatorul să
fie cât mai ușor de realizat, conexiunile cu rețeaua bine calculate astfel încât
să nu ´deranjeze´ modul de funcționare normal al telefonului.
Ciclul de viață al aplicației
AMS, sau Application Management Software este partea nativă a telefonului,
responsabilă cu rularea aplicațiilor, și ciclul lor de viață. Mai este cunoscută
și sub denumirea Java Application Manager (JAM).
Orice MIDlet de pe un telefon mobil se află în una din cele trei stări posibile:
activ, distrus, și în stand-bye (pauză). Când un astfel de MIDlet este inițializat
în telefonul mobil el intră în starea ´stand-by´. Dacă la inițializare
(adică în momentul executării constructorului) apare o eroare, adică este aruncată
o excepție, atunci automat MIDlet-ul ajunge în starea ´distrus´.
Starea ´activ´ apare atunci când după apelul startApp() totul decurge
normal, deci nu au apărut excepții. Acum aplicația noastră se află în curs de
reluare. În starea ´distrus´ MIDlet-ul ajunge și după apelul metodei
destroyApp(). De remarcat că metodă destroyApp() eliberează și resursele utilizate
de program. Deși mulți programatori nu sunt interesați de ´a face curat
după ei´ adică de a elibera resursele folosite după terminarea rulării
aplicației, în acest domeniu este extrem de important ca resursele sa devină
imediat accesibile.
Acccesul la baze de date relaționale
Un alt element deosebit de important pentru un MIDlet este reprezentat de accesul
la bazele de date, care până acum erau utilizate doar pentru mediul Web. Primul
lucru care vine în minte este JDBC. Surpriza neplacută este că nici MIDP 1.0
și nici MIDP 2.0 nu au inclus JDBC ca și standard. Deci era nevoie să se găsească
o altă modalitate pentru acces. Și răspunsul a venit tot dinspre Web: servlet-uri.
Despre servlet-uri puteți găsi detalii în PCMagazine de ceva timp, deci nu vom
intra aici în detalii. Ceea ce trebuie însă să spunem că un MIDlet se va comporta,
în acest caz, similar cu o pagină Web care accesează un servlet. Servlet-ul
va reprezenta un fel de proxy între server-ul de baze de date și MIDlet. Aici
trebuie să subliniem un lucru important, și anume că lucrul cu seturi de înregistrări
din bazele de date poate să fie consumator de multă memorie și resurse, deci
trebuie lucrat cu multa grijă.
Aspectul accesării bazelor de date asigură introducerea în lumea telefoanelor
mobile a unor concepte cum ar fi comerțul electronic, ceea ce asigură aplicabilități
deosebite pentru terminalele care până acum câțiva ani erau mari, grele și fără
prea multă ´minte´ Putem spune că zilele în care ne vom plăti factura
de Internet sau cea de mobil prin 2-3 apăsări de taste pe telefon.
Mai trebuie spus că acest sistem de acces a unor servere prin intermediul unui
proxy este folosit nu numai pentru baze de date, dar și pentru servere de alt
tip, și a unor sisteme-remote în general. Acest tip de conexiune asigură flexibilitate
sporită, și satisface necesitatea de a folosi cât mai puține resurse pe terminalul
mobil. Pentru mai multe detalii puteți consulta următoarele referințe:
|