Tecnologia Java Micro Edition aplicada
Objetivos Entender o que é e para que serve a plataforma Java Micro Edition; Mostrar tendências de mercado e oportunidades; Relacionar funcionalidades e aplicações práticas da tecnologia em dispositivos móveis (celulares e PDAs); Apresentar as ferramentas necessárias para montar um ambiente de desenvolvimento e criar um Hello World JME;
O que é a Java Micro Edition? Java Micro Edition = JME (antes era J2ME); O JME é uma plataforma criada pela Sun MicroSystems para permitir a utilização da linguagem Java em uma gama de dispositivos de consumo; Compatível com telefones celulares, PDAs, smartphones, tv analógica e digital, navegação e controle veicular, automação residencial e industrial. JME ≠ WAP
Arquitetura JME
Arquitetura JME KVM - Kilobyte Virtual Machine Máquina virtual Java que ocupa kilobytes. CLDC – Connected, Limited Device Configuration Configuração mínima para o Java funcionar em um dispositivo conectado e com limitações. CDC – Connected Device Configuration Configuração mínima para o Java funcionar em um dispositivo conectado de maior capacidade. Profiles – MIDP, Foundation e Personal Estende a configuração e endereça as necessidades de uma determinada família de dispositivos.
Mercado e Tendências Aumento do consumo de eletroeletrônicos Esta é a grande força por trás do JME. Expansão da telefonia celular alavancou a tecnologia No Brasil 70% dos celulares fabricados são Java compatíveis. Fabricantes e operadoras barateiam e facilitam a aquisição. Operadoras contam com tecnologia para aumentar receita Saturação no mercado de voz forçará as operadoras a expandir serviços baseados em JME.
Mercado e Tendências Poder de  processamento “nas mãos” de qualquer pessoa  Um celular tem mais poder de processamento que o computador da nave Apolo XI, e as pessoas ainda não se deram conta disso. Investimentos na área  No exterior, pesquisas voltadas para wireless priorizam investimentos de médio e longo prazo em TI. Empresas como IBM, Nokia, Benq-Siemens, Motorolla, LG, Sprint, Google, Vodafone, entre outras estão de olho nesse filão. Já está faltando software Muitos projetos não estão indo à frente por falta de técnicos e não por falta de tecnologia.
Funcionalidades e Aplicações Imagine que o seu diretor lhe solicite no prazo de 3 meses uma aplicação que deverá ser distribuída para toda a equipe de vendas espalhada pelo país. Imagine ainda que essa aplicação deverá funcionar em todo o lugar que o vendedor estiver, e ainda, estar trocando informações on-line com o servidor central. Para completar, não existe orçamento para aquisição de equipamentos.
Funcionalidades e Aplicações Há alguns anos atrás  esse projeto seria impossível, mas agora, onde antes existiam problemas insolúveis, hoje existem oportunidades.
Conectividade Http  Obrigatório para dispositivos JME. Rede de voz das operadoras já fornece o acesso à Internet utilizando tecnologia GSM (GPRS/EDGE) e CDMA. Wi-Fi  Tecnologia de redes sem fio presente nos computadores desktop, já começa a aparecer em dispositivos móveis. Expansão dos hotspots poderá substituir a rede das operadoras.  Dispositivos JME compatíveis são comunicadores por natureza.
Conectividade Blue Tooth  Permite que diversos dispositivos “conversem” entre si. Pode-se montar uma rede entre computadores, impressoras, celulares, PDAs e outros eletroeletrônicos. Serial  Utiliza Infravermelho ou cabo, permite conexão com PCs, leitores e teclados estendidos. Torpedos Envio e recebimento de SMS e MMS. Push Registry Ativação remota de aplicações. Permite sincronizações remotas ativadas pelo servidor.
Interatividade Interface com o usuário Framework lcdui possui componentes de visualização para montar menus, listas, formulários, caixas de texto, botões, radio, combo, check, imagens e controles customizados. Jogos  Extensão do lcdui provê todas as funcionalidades  para a criação de jogos de alto nível. Multimídia Captura e reprodução de sons, vídeos e fotos. Java TV Televisão digital em celulares em PDAs.
Outras Funcionalidades Armazenamento Local API nativa permite a gravação e recuperação de informações sem necessidade de conexão ao servidor. Segurança  Restrições na linguagem, criptografia, https e certificados digitais garantem a segurança. Localização API permite localizar geograficamente um dispositivo. RFID Tecnologia de leitura de tags já está embutida em alguns aparelhos.
Aplicações Automação de Força de Vendas; Coleta de Dados, Pesquisas e Telemetria; Análises e Aplicações no Mercado Financeiro; Controle de OS; Validação e Chancela de Operações; Geoposicionamento;  Automação Comercial, Residencial e Industrial; Mobile Banking; Jogos On-line;
Aplicações Análise e Diagnóstico Médico; Airline Self Booking; Ingressos, Tickets e M-Money;  Colaboração e Sincronia em Equipe… A lista de aplicações não para de crescer, pois o JME se firmou como uma extensão móvel do desktop, permitindo aos usuários estarem em campo captando, transmitindo e recebendo informações em tempo real.
Ambiente de desenvolvimento Eclipse + Eclipse ME A plataforma open source Eclipse em conjunto com o plugin EclipseME permite de maneira rápida e transparente o desenvolvimento, teste e distribuição de aplicações JME.   NetBeans + NetBeans Mobility Pack   A IDE da Sun Microsystems, integrada ao seu Mobility Pack, possui as mesmas funcionalidades do Eclipse, além de permitir o desenho de telas e mais fexlibilidade ao distribuir um aplicativo para diversos tipos de dispositivos. Wireless Tool Kits Os fabricantes de dispositivos fornecem SDKs que se integram às IDEs, permitindo que a aplicação seja emulada e testada em um contexto semelhante ao dispositivo ao qual ela se destina.
Criando um Hello World JME import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener { private Display display;  //Manipula o display do aparelho private TextBox tbMain;  //TextBox para mostrar uma mensagem private Command cmExit;  //Botão para sair do MIDlet public HelloWorld()  { display = Display.getDisplay(this); cmExit = new Command("Exit", Command.SCREEN, 1); tbMain = new TextBox("Welcome","Hello World!", 50,TextField.ANY); tbMain.addCommand(cmExit); tbMain.setCommandListener(this);   }
Criando um Hello World JME public void startApp()  { display.setCurrent(tbMain); } public void commandAction(Command c, Displayable s) { if (c==cmExit) {  destroyApp(false); notifyDestroyed();    }    } }
Conclusão O JME é uma plataforma que visa expandir os horizontes da computação para além dos desktops; Sua arquitetura flexível permite atingir um sem número de dispositivos; A tecnologia já está consolidada. É uma questão de tempo para que as pessoas e empresas descubram seu poder, mas já faltam técnicos qualificados; Diversas funcionalidades abrem um leque para soluções e oportunidades.
Referências Site Oficial do JME: java.sun.com/j2me Java Community Proccess: jcp .org Dispositivos JME Compatíveis: developers.sun.com/techtopics/mobility/device International Data Group (IDG):  idgnow .com. br Site sobre Telecom:  teleco .com. br Plataforma Eclipse:   eclipse.org Plugin JME para Eclipse:   eclipseme .org
Ministrada por : Marcelo Beckmann E-mail:  beckmann . marcelo @ gmail .com

Java Micro Edition Applied

  • 1.
    Tecnologia Java MicroEdition aplicada
  • 2.
    Objetivos Entender oque é e para que serve a plataforma Java Micro Edition; Mostrar tendências de mercado e oportunidades; Relacionar funcionalidades e aplicações práticas da tecnologia em dispositivos móveis (celulares e PDAs); Apresentar as ferramentas necessárias para montar um ambiente de desenvolvimento e criar um Hello World JME;
  • 3.
    O que éa Java Micro Edition? Java Micro Edition = JME (antes era J2ME); O JME é uma plataforma criada pela Sun MicroSystems para permitir a utilização da linguagem Java em uma gama de dispositivos de consumo; Compatível com telefones celulares, PDAs, smartphones, tv analógica e digital, navegação e controle veicular, automação residencial e industrial. JME ≠ WAP
  • 4.
  • 5.
    Arquitetura JME KVM- Kilobyte Virtual Machine Máquina virtual Java que ocupa kilobytes. CLDC – Connected, Limited Device Configuration Configuração mínima para o Java funcionar em um dispositivo conectado e com limitações. CDC – Connected Device Configuration Configuração mínima para o Java funcionar em um dispositivo conectado de maior capacidade. Profiles – MIDP, Foundation e Personal Estende a configuração e endereça as necessidades de uma determinada família de dispositivos.
  • 6.
    Mercado e TendênciasAumento do consumo de eletroeletrônicos Esta é a grande força por trás do JME. Expansão da telefonia celular alavancou a tecnologia No Brasil 70% dos celulares fabricados são Java compatíveis. Fabricantes e operadoras barateiam e facilitam a aquisição. Operadoras contam com tecnologia para aumentar receita Saturação no mercado de voz forçará as operadoras a expandir serviços baseados em JME.
  • 7.
    Mercado e TendênciasPoder de processamento “nas mãos” de qualquer pessoa Um celular tem mais poder de processamento que o computador da nave Apolo XI, e as pessoas ainda não se deram conta disso. Investimentos na área No exterior, pesquisas voltadas para wireless priorizam investimentos de médio e longo prazo em TI. Empresas como IBM, Nokia, Benq-Siemens, Motorolla, LG, Sprint, Google, Vodafone, entre outras estão de olho nesse filão. Já está faltando software Muitos projetos não estão indo à frente por falta de técnicos e não por falta de tecnologia.
  • 8.
    Funcionalidades e AplicaçõesImagine que o seu diretor lhe solicite no prazo de 3 meses uma aplicação que deverá ser distribuída para toda a equipe de vendas espalhada pelo país. Imagine ainda que essa aplicação deverá funcionar em todo o lugar que o vendedor estiver, e ainda, estar trocando informações on-line com o servidor central. Para completar, não existe orçamento para aquisição de equipamentos.
  • 9.
    Funcionalidades e AplicaçõesHá alguns anos atrás esse projeto seria impossível, mas agora, onde antes existiam problemas insolúveis, hoje existem oportunidades.
  • 10.
    Conectividade Http Obrigatório para dispositivos JME. Rede de voz das operadoras já fornece o acesso à Internet utilizando tecnologia GSM (GPRS/EDGE) e CDMA. Wi-Fi Tecnologia de redes sem fio presente nos computadores desktop, já começa a aparecer em dispositivos móveis. Expansão dos hotspots poderá substituir a rede das operadoras. Dispositivos JME compatíveis são comunicadores por natureza.
  • 11.
    Conectividade Blue Tooth Permite que diversos dispositivos “conversem” entre si. Pode-se montar uma rede entre computadores, impressoras, celulares, PDAs e outros eletroeletrônicos. Serial Utiliza Infravermelho ou cabo, permite conexão com PCs, leitores e teclados estendidos. Torpedos Envio e recebimento de SMS e MMS. Push Registry Ativação remota de aplicações. Permite sincronizações remotas ativadas pelo servidor.
  • 12.
    Interatividade Interface como usuário Framework lcdui possui componentes de visualização para montar menus, listas, formulários, caixas de texto, botões, radio, combo, check, imagens e controles customizados. Jogos Extensão do lcdui provê todas as funcionalidades para a criação de jogos de alto nível. Multimídia Captura e reprodução de sons, vídeos e fotos. Java TV Televisão digital em celulares em PDAs.
  • 13.
    Outras Funcionalidades ArmazenamentoLocal API nativa permite a gravação e recuperação de informações sem necessidade de conexão ao servidor. Segurança Restrições na linguagem, criptografia, https e certificados digitais garantem a segurança. Localização API permite localizar geograficamente um dispositivo. RFID Tecnologia de leitura de tags já está embutida em alguns aparelhos.
  • 14.
    Aplicações Automação deForça de Vendas; Coleta de Dados, Pesquisas e Telemetria; Análises e Aplicações no Mercado Financeiro; Controle de OS; Validação e Chancela de Operações; Geoposicionamento; Automação Comercial, Residencial e Industrial; Mobile Banking; Jogos On-line;
  • 15.
    Aplicações Análise eDiagnóstico Médico; Airline Self Booking; Ingressos, Tickets e M-Money; Colaboração e Sincronia em Equipe… A lista de aplicações não para de crescer, pois o JME se firmou como uma extensão móvel do desktop, permitindo aos usuários estarem em campo captando, transmitindo e recebendo informações em tempo real.
  • 16.
    Ambiente de desenvolvimentoEclipse + Eclipse ME A plataforma open source Eclipse em conjunto com o plugin EclipseME permite de maneira rápida e transparente o desenvolvimento, teste e distribuição de aplicações JME. NetBeans + NetBeans Mobility Pack A IDE da Sun Microsystems, integrada ao seu Mobility Pack, possui as mesmas funcionalidades do Eclipse, além de permitir o desenho de telas e mais fexlibilidade ao distribuir um aplicativo para diversos tipos de dispositivos. Wireless Tool Kits Os fabricantes de dispositivos fornecem SDKs que se integram às IDEs, permitindo que a aplicação seja emulada e testada em um contexto semelhante ao dispositivo ao qual ela se destina.
  • 17.
    Criando um HelloWorld JME import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener { private Display display; //Manipula o display do aparelho private TextBox tbMain; //TextBox para mostrar uma mensagem private Command cmExit; //Botão para sair do MIDlet public HelloWorld() { display = Display.getDisplay(this); cmExit = new Command("Exit", Command.SCREEN, 1); tbMain = new TextBox("Welcome","Hello World!", 50,TextField.ANY); tbMain.addCommand(cmExit); tbMain.setCommandListener(this); }
  • 18.
    Criando um HelloWorld JME public void startApp() { display.setCurrent(tbMain); } public void commandAction(Command c, Displayable s) { if (c==cmExit) { destroyApp(false); notifyDestroyed(); } } }
  • 19.
    Conclusão O JMEé uma plataforma que visa expandir os horizontes da computação para além dos desktops; Sua arquitetura flexível permite atingir um sem número de dispositivos; A tecnologia já está consolidada. É uma questão de tempo para que as pessoas e empresas descubram seu poder, mas já faltam técnicos qualificados; Diversas funcionalidades abrem um leque para soluções e oportunidades.
  • 20.
    Referências Site Oficialdo JME: java.sun.com/j2me Java Community Proccess: jcp .org Dispositivos JME Compatíveis: developers.sun.com/techtopics/mobility/device International Data Group (IDG): idgnow .com. br Site sobre Telecom: teleco .com. br Plataforma Eclipse: eclipse.org Plugin JME para Eclipse: eclipseme .org
  • 21.
    Ministrada por :Marcelo Beckmann E-mail: beckmann . marcelo @ gmail .com