MAPEAMENTO DE TECNOLOGIAS PARA DISPOSITIVOS MÓVEIS Eduardo M. Spina¹, Gabriel F. Esteca2, Rodrigo F. Maia3 1,2,3 Escola Politécnica da Universidade de São Paulo {eduardo.spina, rodrigo.maia}@poli.usp.br 1. Introdução Este trabalho pretende mapear as principais tecnologias utilizadas no desenvolvimento de aplicações para dispositivos móveis. A importância destas vêm crescendo ao longo dos últimos anos juntamente com a popularização dos telefones celulares e PDAs (Personal Digital Assistent). As tecnologias utilizadas para construir essas aplicações são, na sua grande maioria, baseadas na plataforma J2ME (Java 2 Micro Edition), portanto nos ateremos às tecnologias desta plataforma. 2. Tecnologias envolvidas A plataforma J2ME é dividida em duas configurações que fornecem funcionalidades básicas para dispositivos que compartilham de características similares, como banda de conexão, memória e processamento. São elas: CDC (Connected Device Configuration) e CLDC (Connected Limited Device Configuration). A CDC é destinada a aparelhos como set-top boxes, telefones VOIP, roteadores, gateways residenciais e impressoras de rede entre outros. Já o CLDC visa aparelhos com menos recursos, como telefones celulares e PDAs com baixo poder de processamento. Neste trabalho focaremos aspectos da CLDC pois é a configuração utilizada pela maioria dos aparelhos móveis. Em uma camada imediatamente acima das configurações estão os Profiles, que são conjuntos de APIs que determinam o ciclo de vida das aplicações, a interface com o usuário e o acesso às características do dispositivo em questão. Para os telefones celulares o Profile mais utilizado é o MIDP (Mobile Interface Device Profile), que é distribuído nas versões 1.0 e 2.0. A versão mais recente tem algumas características adicionais, como uma melhor interface com o usuário, funcionalidades multimídia e voltadas a jogos, melhor conectividade e segurança fim-a-fim. Porém a versão mais amplamente utilizada ainda é a 1.0. A Sun Microsystems também disponibiliza uma versão do MIDP para Palm OS, objetivando o desenvolvimento de aplicações para os PDAs mais simples e comuns, que rodam no sistema operacional Palm OS. Para os dispositivos executarem aplicações baseadas no J2ME, ainda é necessário que eles possuam uma Máquina Virtual, a KVM (K Virtual Machine). Ela é uma simplificação da JVM, que é a Máquina Virtual disponível para PCs. A KVM foi desenvolvida com a intenção de ser leve e portável para diferentes tipos de dispositivos, tanto que pode até rodar em aparelhos com apenas 128 kB de memória disponível. Esta pequena máquina virtual é a base para todas as tecnologias J2ME, como mostra a figura: Figura 1 – Pilha de tecnologias J2ME. Todas essas tecnologias e camadas discutidas têm como propósito proporcionar ao desenvolvedor algumas ferramentas para que seja possível e agradável a criação de aplicações. Dentre estas ferramentas está a conexão com a internet através do protocolo HTTP, com a qual é possível disponibilizar uma enorme gama de serviços. 3. Aplicações Para fazer uso das tecnologias listadas anteriormente, a Sun Microsystems disponibiliza o J2ME Wireless ToolKit (WTK), que traz exemplos de implementações, interfaces com usuário, conexões tanto para servidores rodando J2EE quanto para outros aparelhos, sem contar no ambiente e nos simuladores de dispositivos oferecidos. Aplicativos que efetuam conexão com servidores rodando J2EE são muito importantes para a utilização de uma arquitetura Thin Client, necessária para a criação de aplicações mais elaboradas com o J2ME. Este WTK pode ser combinado com IDEs de desenvolvimento como Eclipse ou Netbeans para tornar o desenvolvimento de aplicações para dispositivos móveis ainda mais fácil. 4. Conclusões A plataforma J2ME é, sem dúvida, muito boa para o desenvolvimento de aplicações que objetivam dispositivos móveis. Suas vantagens são tantas que ultrapassam até o escopo deste trabalho, mas pudemos citar algumas como a facilidade de desenvolvimento, e principalmente integração com o J2EE, a disponibilidade de ferramentas e tecnologias de qualidade. 5. Referências [1] Java Platform Technology for Connected Devices. Disponível em http://java.sun.com/products/cdc/wp/ cdc-whitepaper. Acesso em 30/07/05. [2] J2ME Building Blocks for Mobile Devices. Disponível em http://java.sun.com/products/cldc/wp/ KVMwp.pdf. Acesso em 29/07/05. 1,2 Alunos de IC da EPUSP.