You are on page 1of 7

DESENVOLVIMENTO DE APLICAES MVEIS COM

J2ME
Andrea Rodrigues de Amori m <aramori m@por t oweb. com. br >
Karen Selbach Borges <kborges@ul bra. tche. br > Orient ador a
Universidade Luterana do Brasil (Ulbra) Curso de Sistemas de Informao Cmpus Canoas
Rua Miguel Tostes, 101 Bairro So Luis Canoas RS
RESUMO
Este artigo apresent a uma soluo para a necessi dade de mobilidade no ambiente empresarial
usando a tecnologia Java para pequenos disposi tivos mveis (J2ME). Esta soluo compreende uma
aplicao mvel a ser instalada em telefones celulares que ir acessar a base de dados corporativa
atravs de uma conexo com a extranet da empresa.
Palavras - chaves: Mobilidade; J2ME; Celulares.
ABSTRACT
This paper introduces a solution for necessity of mobility at business environment using Java
technology for small mobile devices. This solution includes a mobile application that will be installed in
cell phones, which will access a corporate database through a connection with the companys extranet.
Key- words: Mobility; J2ME; cell phones.
1 INTRODUO
No mundo atual, a necessi dade de integrar comunicao e mobilidade se torna cada
vez maior. Com a quebra da front ei ra ent re os mercados, as empresas buscam solues que
viabilizem seus negcios, tant o a nvel gerencial como operacional, dent ro desta nova
reali dade que impe a realizao de comunicaes e operaes de acesso a dados a qualquer
hora, a parti r de qual quer lugar do planet a.
A exploso da tecnol ogia mvel nos lti mos anos abri u um universo de possi bilidades
para os desenvolvedores de aplicativos. Entret ant o, a diversi dade de platafor mas a serem
integradas e a preocupao com a performance so desafios a serem consi derados.
O objetivo geral dest e trabal ho apresent ar uma soluo mvel para integrar o
ambi ent e empresari al com seus colaborador es, quando estiverem fora da sede. Com os
objetivos especficos de garanti r port abi li dade e desempenho a cust os reduzi dos, este artigo
descreve o projet o e a implement ao do prot ti po de uma aplicao para telefone celular
que acessa um servidor corporati vo.
A Seo 2 expe uma viso geral da tecnologia sem fio. A seguir, a Seo 3 introduz a
edio para disposi t ivos pequenos da linguagem Java e a Seo 4 descreve a soluo
propost a. Final ment e, na Seo 5 so feitas as consi deraes finais.
2 O MUNDO SEM FIO
O pri nci pal objetivo da tecnol ogia sem fio proporci onar mobilidade, ou seja,
permi ti r que os usuri os obtenham qual quer tipo de infor mao, em movi ment o (LEAL,
2004).
2.1 Vantagens
Num cenri o onde os colaborador es das empresas precisam enfrent ar viagens,
engarrafament os e deslocament os const ant es, a possi bili dade de acesso s informaes
relevant es ao desempenho de suas funes, a qual quer moment o, vital para o cresci ment o
das organi zaes.
In: Seminrio de Informtica RS (SEMINFO- RS'2005) 155
Jornada Integrada de Trabalhos de Concluso de Curso em Comput ao (JIT3C)
Torres, 4 a 6 de novembro de 2005
156 SEMINFO- RS'2005
A tecnol ogia sem fio torna possvel adicionar mobilidade s solues convencionai s,
sem criar aplicaes total ment e novas (LEAL, 2004), inseri ndo mdul os que iro agregar
valor s ferrament as preexist ent es evitando o descart e de tecnol ogia e cont or nando a
resi st ncia nat ural dos client es a mudanas drsticas.
2.2 Problemas
O maior probl ema enfrent ado no desenvolvi ment o de aplicaes mveis a escassez
de recursos dos equi pament os sem fio dispon veis atual ment e no mercado. Consi derando os
aparel hos celulares, pode- se dest acar rest ri es como: disponi bilidade da rede, tamanho da
tela, quant i dade limitada de memri a, poder de processament o reduzi do.
Alm disso, com a diversi dade de arqui t et ur as existent es tant o ent re os disposi tivos
mveis como ent re os ambient es de produo das organi zaes, a conectivi dade ent re eles e
a conseqent e port abi lidade torna- se um grande desafio das aplicaes mveis.
2.3 Tecnologias dispon vei s
As pri nci pai s tecnol ogias disponveis atual ment e para a implement ao de solues
mveis so: SMS, MMS, BREW e Java 2 Micro Edition (J2ME). import ant e salient ar que estas
tecnol ogias no so excludent es podendo uma aplicao mvel utili zar - se de mais de uma
delas.
Segundo Leal (2004) e Soares (2004) a tecnol ogia J2ME proporci ona o melhor
cust o/ benefci o na medi da que:
Profissi onai s da linguagem Java podem ser aproveit ados;
Amplament e adotada pelos fabricant es e operador as de telefoni a mvel;
Uma vez que a aplicao estiver inst al ada poder ser utilizada fora da rea de
cobert ur a ou sem sinal, fazendo sincroni zao dos dados no ret or no;
Compat i bili dade de plat afor mas: aplicativos Java so escritos uma vez e rodam em
diferent es disposi tivos com sistemas operacionai s diferent es;
Permit e implement ar cript ografi a extra para aplicativos de acesso a bancos ent re
out ros;
Fornece um client e de rede sofisticado per mi ti ndo tirar proveit o das vant agens e
particulari dades dos aparel hos mveis.
2.4 Situao atual
De acordo com Almeida (2004), em 2002 j existiam 50 milhes de aparel hos
celulares com a mqui na virt ual Java em operao no mundo. Ele esti ma que at 2007, cem
por cent o dos celulares sero compat veis com J2ME.
Entre as empresas que atual ment e oferecem algum tipo de soluo mvel podemos
dest acar a Compera, a gacha Trevisan Tecnologia e a Class Systems Solutions . Apesar de
toda a tecnol ogia disponvel, a ofert a de aplicaes mveis ainda pequena deixando um
enor me mercado a ser explorado. Segundo Souza (2003), a parceri a ent re as operador as de
telefoni a mvel e os desenvolvedores poder mudar este cenri o.
3 TECNOLOGIA J2ME
A plat afor ma J2ME a edio da linguagem Java que foi proj et ada para disposi tivos
com memri a, vdeo e poder de processament o limitados, variando desde mqui nas ligadas
TV at telefones celulares. Antes do surgi ment o da tecnol ogia J2ME as aplicaes tinham que
ser escrit as na linguagem nativa de cada disposi t ivo usando bibliotecas propri et ri as, o que
as tornavam incompat vei s com disposi tivos diferent es.
A arquit et ur a da plat afor ma J2ME permi t e ao desenvolvedor conhecer informaes
especficas sobre as diferent es famlias de disposi tivos e as Application Program Interf aces
(APIs) disponveis para cada uma delas (ALMEIDA, 2004). Est dividi da em Configuraes,
Perfis e APIs opcionai s.
Jornada Integrada de Trabalhos de Concluso de Curso em Comput ao (JIT3C) 157
3.1 Mquina Virtual Java
A mqui na virt ual J2ME chamada KVM numa aluso escassez de recursos dos
disposi tivos, que est o na ordem dos kilobytes . a base da arqui t et ur a, locali zada logo acima
do sistema operacional hospedei ro, segui da pelas Configuraes que do suport e aos Perfis.
3.2 Configuraes
Uma configurao define as caract er sticas mni mas de uma famlia de disposi tivos,
bem como os recursos e bibliotecas Java que a compem (MUCHOW, 2004). Esto dividi das
em:
Connected Device Configuration (CDC): conj unt o de APIs para disposi tivos fixos,
como um comput ador ligado televiso;
Connected Limited Device Configuration (CLDC): conj unt o de APIs para disposi t ivos
com poder de processament o, vdeo e memri a limitados, geral ment e mveis.
3.3 Perfis
Um perfil define um conjunt o de APIs que fornece funcionali dade a uma configurao,
sendo mais especfico que esta (ALMEIDA, 2004). Os perfi s existent es so:
Foundation Profile: base para disposi tivos em rede sem interface grfica, usado com
CDC;
Personal Basis e Personal Profile : base para disposi tivos com supor t e grfico e alta
capaci dade, usado com CDC;
Mobile Information Device Profile (MIDP): perfil compat vel com CLCD implement a
component es, ent rada e trat ament o de event os de interface com usuri o,
armazenament o persi st ent e, interligao em rede, segurana, ent re out ros
recursos.
4 PROJETO CELCORP
O proj et o propost o refere- se a uma aplicao mvel para telefones celulares, o
CelCorp, que visa oferecer acesso agenda de compromi ssos corporat iva, supri ndo a
necessi dade de mobilidade do ambient e empresari al.
Por limitaes de escopo, o proj et o CelCorp est sendo implement ado como um
prot t i po compost o por dois mdul os mveis - Agenda e Prefernci as e um mdul o
servidor que tambm pode ser acessado via navegador de internet . A fim de simular o
servidor web de uma empresa ser utili zada a estrut ur a de um stio que oferece hospedagem
para aplicaes Java. O acesso base de dados feito atravs de uma conexo com este
servidor web .
O mdul o servidor da aplicao ser formado por um conti ner web onde estaro
armazenadas as servlets que faro a comunicao com as midlets (clientes da aplicao) e o
banco de dados para armazenar as infor maes da agenda de compr omi ssos, cadast ro de
usuri os e permi sses de acesso.
As servlets faro o acesso aos dados a parti r de dois arquivos de propri edades que
podero ser configurados confor me o banco de dados utilizado pelo client e. O prot t i po do
CelCorp usar o banco de dados PostgreSQL 8.0.
A fim de mant er a compati bili dade do sistema com a grande maioria dos celulares em
operao, a aplicao mvel est sendo desenvolvi da usando a configurao CLCD 1.0 e o
perfil MIDP 1.0 da tecnologia J2ME. A comunicao com o servi dor web ser feita atravs de
conexo genrica HiperText Transfer Protocol (HTTP).
4.1 Padres de Projeto
O CelCorp foi projet ado em trs camadas segui ndo o padro MVC (Model - View-
Control ). A Figura 1 apresent a os mdul os da aplicao mvel e o relacionament o ent re eles,
permi ti ndo ident ificar as camadas do padro.
158 SEMINFO- RS'2005
Figura 1 Diagrama de Pacotes CelCorp
A camada View responsvel pela interface com o usuri o. A camada Control per mi t e
a ligao ent re as camadas view e database da aplicao. nest a camada que so feitas as
validaes de dados e o cont role do fluxo de ent rada e sada de dados. A camada Model
corresponde aos pacot es database da aplicao e responsvel pelo armazenament o
persi st ent e dos dados.
O padro Singleton foi utilizado na criao de objet os pois segundo Gamma et al .
(2005, p. 130), est e padro garant e que soment e uma inst ncia de cada classe seja criada
durant e todo o ciclo de vida da aplicao. Este padro bastant e til nas aplicaes mveis
por economi zar o poder de processament o do disposi t ivo evitando a criao e dest r ui o de
objet os que sero reutili zados em segui da.
4.2 Mdulos Mveis
O mdul o Prefernci as apresent a opes de configurao do sistema que podem ser
alteradas pelo usuri o. As configuraes disponveis so:
Solicitar senha: o padro do sist ema solicitar os dados de identificao (login e
senha) apenas uma vez, armazenando - os no aparel ho celular. Se desej ar, o usuri o
poder definir que o login e senha sejam solicitados sempr e que ent rar na
aplicao.
Confirmar conexo: o padro do sistema conect ar - se automat icament e ao
servi dor web . Entret ant o, o usuri o poder configurar o sistema para solicitar sua
confir mao antes de efet uar a conexo.
O mdul o Agenda per mi t e ao usurio incluir, editar, excluir, consul t ar e
sincroni zar compr omi ssos da sua agenda corporat iva tant o local ment e como de forma
remot a atravs do mdul o servidor. Quando a comunicao com o servi dor web estiver
disponvel, todas as operaes sero realizadas no servidor e nenhum dado ser armazenado
no celular, configurando o estado online . Quando a conexo no for possvel ou desej vel, os
dados e operaes sero gerenci ados no prpri o aparel ho celular, configurando o estado
offline .
Para garanti r que as operaes sejam reali zadas adequadament e confor me o estado
da aplicao foi utilizado o padro State . De acordo com Gamma et al . (2005, p. 284) este
padro permi t e que um objet o mude seu compor t ament o em funo de seu estado interno. A
Figura 2 apresent a o diagrama de estados do mdul o Agenda, indicando as operaes
responsvei s pelas mudanas de estado.
Jornada Integrada de Trabalhos de Concluso de Curso em Comput ao (JIT3C) 159
Figura 2 Diagrama de Estados da Agenda
Ao ent rar no mdul o Agenda o estado InicialState verifica as prefernci as do usuri o e
poder solicitar a identificao do mesmo no sist ema e/ ou a confi rmao para conectar - se
ao servi dor web . Confor me a deciso do usuri o o est ado da aplicao alterado e a tela
inicial do mdul o Agenda carregada.
Caso a aplicao esteja no estado OnlineState , se ocorrer algum erro na conexo seu
est ado passar a ser OfflineStat e e os dados em memri a sero armazenados no celular. No
est ado OfflineStat e , se a operao sincroni zar for selecionada pelo usuri o, o sistema passar
para o est ado OnlineSt ate e os dados locais sero transferi dos para o servi dor web .
A conexo com o servi dor web feita em uma linha de execuo separada permi t i ndo
que o disposi tivo continue disponvel durant e a operao. Para implement ar a execuo de
processos concorrent es foi usada uma instncia da classe Thread .
4.3 Padronizao das Interfaces
A padroni zao das interf aces muit o difcil no ambient e J2ME. O desenvolvedor
pode e deve usar um padro mas cada disposi t ivo ir implement - lo sua maneira.
As interf aces do prot t i po estendem a classe Form onde so adicionados element os
do tipo TextBox para entradas de texto, DateField para ent rada de data/ hor a, ChoiceGroup
para escol ha de opes e Gauche para most rar progresso da conexo. A nica exceo a
interf ace inicial do mdul o Agenda que usa a classe List pela funcionali dade de seleo com
um nico comando.
Para per mi ti r aos usuri os o acesso s operaes do sistema, foram associados
objet os da classe Command s interf aces . Estes objet os possuem propri edades como
priori dade e tipo de comando as quais podero influenciar a manei ra como o disposi tivo ir
implement - los.
A Figura 3 most ra a interf ace inicial do mdul o Agenda onde aparecem os
compromi ssos do dia, em ordem cronolgica, e os comandos dispon veis.
160 SEMINFO- RS'2005
Figura 3 Interface inicial do mdul o Agenda
Nesta implement ao do simul ador, o comando Sair aparece sozi nho esquer da e
os demai s comandos foram agrupados sob o nome Menu do lado direto da tela. Entret ant o,
est a apresent ao no uma regra, no celular Nokia 6820, o comando Sair aparece
direit a, o comando Adicionar ao centro e os demai s comandos agrupados esquer da sob o
nome Opes.
4.4 Mdulo Servidor
O mdul o servidor per mi t e o acesso s mesmas funcionali dades do mdul o Agenda,
via navegador de internet . Alm disso, os usuri os podero fazer manut eno nos seus
dados cadast rai s. O admi ni st rador do sist ema poder tambm cadast r ar, alterar ou excluir
usuri os.
A arqui t et ur a original em 3 camadas sofre alguma adapt ao no ambient e web . A
Figura 4 most ra a arqui t et ur a em 4 camadas do servidor web .
Figura 4 Arquitetura em camadas do servidor web
A camada Web compost a pelas JavaServer Pages que enviam cont edo dinmico
para o navegador do usuri o. A camada de aplicao formada pelo conj unt o de servlets que
fazem a ligao ent re as JSPs e a camada de persi st ncia que por sua vez, contm as classes
de acesso ao banco de dados e os arquivos de propri edades.
O client e mvel conect a- se diret ament e com a camada de aplicao do servi dor web
atravs de uma servlet que atua fazendo a ligao da aplicao mvel com a camada de dados
do servi dor. Esta servlet recebe, interpr et a e redireciona os dados confor me a operao
solicitada, retornando o resul t ado.
Jornada Integrada de Trabalhos de Concluso de Curso em Comput ao (JIT3C) 161
5 CONCLUSO
Este artigo apresent ou uma soluo para atender crescent e demanda por mobilidade
com disponi bilidade no mercado corporat ivo atual. O CelCorp foi planej ado para ser
integrado aos sistemas preexi st ent es nas empresas, como um mdul o de mobilidade.
No decorrer do projet o CelCorp ficou evident e a import ncia do uso de padres de
proj et o. Alm de facilitar a manut eno das aplicaes, os padres so fundament ai s para o
desenvolvedor ent ender e resolver probl emas na implement ao de sit uaes reais, variveis
e compl exas.
Apesar da perda de recursos como cript ografi a nativa, o uso das verses iniciais do
J2ME garant e a compati bili dade com a grande maiori a dos aparel hos celulares em operao
hoje. Alm disso, a modul ari dade do proj et o permi t e que tais recursos sejam facilment e
incorpor ados no fut uro.
REFERNCIAS
ALMEIDA, Leandro Batist a de. Introduo J2ME e Programao MIDP. Mundo Java, Curitiba,
n 5, p. 20- 27, maio. 2004.
GAMMA, Erich; HELM, Richard; JOHNSON, Ralph; VLISSIDES, John Padres de Projeto :
Solues reutili zveis de soft ware orient ado a objetos. Porto Alegre: Bookman, 2005. 364 p.
LEAL, Mauricio. Comeando com Java Wireless. Java Magazine , Rio de Janei ro, n 18, p. 16-
19, 2004.
MUCHOW, John W. Core J2ME Tecnologia & MIDP. So Paulo: Pearson Makron Books, 2004.
588 p.
SOARES, Marilson. A Tecnologi a Java como Diferencial no Mundo dos Celulares. Mundo Java,
Curitiba, n 5, p. 53- 54, maio. 2004.
SOUZA, Bruno. Fazendo Wireless Acont ecer: J2ME e o Mercado Brasileiro. Java Magazine , Rio
de Janei ro, n 3, p. 12- 15. 2003.