UNIVERSIDADE FEDERAL DE SANTA CATARINA PROJETOS I Nome: Rafael da Silva Rodrigues Matricula: 0323839-3 Disciplina: Projetos I J2ME - Java para os portáteis Christiano Pinheiro http://www.imasters.com.br/artigo/1539 J2ME – Java 2 Micro Edition Introdução Dispositivos móveis como celulares, antes eram vistos apenas para efetuar chamadas, armazenar números de telefone, agendar compromissos, etc., mas com o passar do tempo, viu-se nesses dispositivos uma necessidade de incorporar outros serviços além dos básicos, serviços esses que servirão para suprir outras necessidades do usuário. Como exemplo dessas necessidades, pode-se citar na parte do entretenimento, jogos e reprodutores de músicas. Com o passar do tempo, com o aumento da demanda da criação de novos aplicativos, surgiam novas empresas investindo mais em aplicações, não deixando o desenvolvimento exclusivo para os fabricantes dos dispositivos. Com isso, os fabricantes viram-se na iminente necessidade de encontrar um meio para que os aplicativos, das novas empresas, rodassem em seus dispositivos. No entanto, não poderia se disponibilizar a arquitetura e funcionalidades do dispositivo, então foi criada uma camada intermediária entre o sistema operacional e as aplicações, permitindo as empresas acessarem funcionalidades nativas do aparelho sem correr riscos. Após a criação dessa camada, surge o J2ME (Java 2 Micro Edition), uma versão da conhecida linguagem Java para dispositivos móveis, bastando apenas para o fabricante do dispositivo criar uma JVM (Java Virtual Machine) para dispositivos móveis. O fato de a linguagem de desenvolvimento dessa nova plataforma ser Java, ajudou a impulsionar o mercado desenvolvimento de aplicações para dispositivos móveis, pelo simples fato de que existiam programadores que já dominavam a versão Stardand do Java (J2SE), podendo assim migrar com tranqüilidade para versão J2ME. Essa nova plataforma da SUN, desenvolvida para dispositivos compactos como celulares, PDAs, etc., consiste em uma coleção de APIs (Application Programming Interface) definidas na JCP (Java Community Process). Dentre os benefícios da plataforma, pode-se se citar os principais: modelo robusto de segurança suporte a aplicações em rede ou offline portabilidade Arquitetura Existem diferentes famílias de dispositivos móveis, e para cada uma dessas famílias existe um conjunto especifico de APIs (conjunto de classes com objetivo de facilitar o desenvolvimento de aplicações). Para cada família, também existe um conjunto de configurações, perfis, pacotes opcionais, otimização ao acesso a memória, capacidade de processamento, etc., fazendo da J2ME uma plataforma robusta e compatível com a maioria dos dispositivos móveis. A J2ME é um subconjunto da versão Stardand do Java, porém foi projetada para ter uma eficiência maior. Quanto aos tipos de configurações, variam a VM (Virtual Machine) e o conjunto de bibliotecas, que juntos fornecem funcionalidades básicas como acesso a memória e conectividade. Destaca-se duas configurações: Connected Limited Device Configuration (CLDC): desenvolvidos para um conjunto de dispositivos que possuem um poder de processamento, vídeo, memória de nível inferior. Encaixa-se nesse grupo dispositivos móveis como celulares, PDAs, pagers, dentre outros Connected Device Configuration (CDC): desenvolvidos para um conjunto de dispositivos que possuem mais recursos, como maior poder de processamento, maior capacidade de armazenamento. Encaixa-se nesse grupo controles remotos, dentre outros. Para cada família de dispositivo móvel existe uma configuração que é combinada aos perfis(conjunto de APIs de alto nível) definindo o acesso as funções do dispositivo, interface, modelo de ciclo de vida. Destacamos 4 perfis: Mobile Information Device Profile(MIDP): perfil compatível com o CLDC, oferecendo os serviços básicos das aplicações desse tipo de plataforma. Nela incluí interfaces do usuário, persistência de dados e controle de aplicações. Foundation Profile(FP): perfil compatível com o CDC, serve de base para dispositivos em rede sem interface gráfica. Ele pode ser combinado com o PBP(Personal Basis Profile) e o PP(Personal Profile) para dispositivos que necessitem de interface gráfica Personal Profile(PP): perfil compatível com o CDC utilizado para dispositivos que necessitam suporte a interface gráfica e applet. Nele, existe a biblioteca AWT que permite rodar applets desenvolvidas em ambientes desktop Personal Basis Profile(PBP): perfil compatível com o CDC, assim como o PP, deve ser utilizado para dispositivos que necessitam de uma interface gráfica, diferenciando apenas no nível de apresentação gráfica que no PBP é menor. A plataforma J2ME permite a iteração de outros pacotes com suas configurações e perfis. Essas iterações permitem através das novas APIs, utilizar tecnologias como o Bluetooth, Web Services, multimedia, conexão com banco de dados.