Desenvolvimento de Aplicações Roteiro para Dispositivos … de... · C e Java J2ME, Superwaba,...

Post on 31-Mar-2018

220 views 2 download

Transcript of Desenvolvimento de Aplicações Roteiro para Dispositivos … de... · C e Java J2ME, Superwaba,...

1

Desenvolvimento de Aplicações para Dispositivos Móveis

José de Ribamar Martins Bringel FilhoMestre em Ciência da Computação (UFC)

bringel@cenapadne.br

Roteiro

�Overview das Plataformas e Linguagens�J2ME�Superwaba�J2ME x Superwaba�Projetos do Grupo�Dissertações

Desenvolvimento de Aplicações para DM

�É um desafio a escolha da linguagem e plataforma de desenvolvimento�Diversidade de dispositivos e aplicações

�Memória, desempenho, plataforma suportada

�Perfil do desenvolvedor�Facilidade de desenvolvimento

�Recursos da linguagem e plataforma� Identificar a mais indicada para uma determinada

aplicação e dispositivo alvo

Linguagens, plataformas e ambientes de Desenvolvimento

�Principais linguagens�C e Java

�Plataformas�J2ME, Superwaba, BREW

�Ambientes de desenvolvimento�CodeWarrior, PRC-Tools, Wireless Toolkit

Linguagem C

� Acesso direto às APIs do SO (e.g. Palm OS)� Melhor desempenho� Gerenciamento de memória� Aplicações compactas� Acesso direto aos dispositivos de comunicação

� IrDA, serial� Ambientes de desenvolvimento

� CodeWarrior (Palm OS, Symbian OS), PRC-Tools(Palm OS), Falch.Net (Palm OS)

Java

�Oferece portabilidade�JVM embutida nos dispositivos

�Facilita a adoção do padrão

�APIs compactas para uma linha de dispositivos

�Plataformas�J2ME, Superwaba

2

Superwaba

� JVM adaptada para DM� Desenvolvida por Guilherme Hazan

� Evolução da Waba (Rick Wild)

� Suporte aos SOs Palm OS e Windows CE� Permite a utilização de bibliotecas C e Java� Requisitos para o desenvolvimento

� Editor de texto, J2SE, SDK (software DelelopmentKit), Superwaba Virtual Machine, Emulador

J2ME

� Java Micro Edition

� Foco� dispositivos móveis em geral e aparelhos domésticos

� É dividida em perfis e configurações� Configurações

� CDC - Connected Device Configuration

� CLDC - Connected Limited Device Configuration

J2ME

�Profiles (perfis)�Personal Basis Profile – dispositivos

domésticos, principalmente televisores� PersonalJava[tm] Application Environment

– Dispositivos que rodam WinCE (a partir daversao 2.12)

� MIDP – dispositivos com baixo podercomputacional e baixa conectividade

Requisitos para o Desenvolvimento

�J2SE�J2ME Wireless Toolkit (WTK)

�Emulador�POSE (Palm OS)

�Pode ter tudo integrado em uma IDE de desenvolvimento�Sun One Studio

KVM e CLDC

� KVM (Kilobyte Virtual Machine) e CLDC (ConnectedLimited Device Configuration)� projetados para dispositivos com pouca memória e

de conexão instável� Pacotes:

� Derivados do J2SE: java.lang; java.util; java.io� Pacote específico: javax.microedition.io (Framework

de conexão)� As classes de ponto flutuante não fazem parte do

java.lang do CLDC 1.0� MathFP pode ser usado para esse propósito

MIDLets

�Aplicações do MIDP�Ciclo de vida:

Active

Destroyed

PausedActive: o programa está rodandoPaused: o programa foi interrompido pelo dispositivoDestroyed: os recursos adquiridos pelo programa foram liberados

Estende a classe javax.microedition.midlet.MIDlet

3

Estrutura de um MIDlet

public class VerGastosMIDlet extends MIDlet {

public void startApp() {

}

public void pauseApp() {

}

public void destroyApp(boolean unconditional) {

}

}

MIDletSuite

�Permite o compartilhamento de arquivos de dados (e.g., RMS, txt) e imagens entre MIDlets

�MIDletSuite deve ser convertido no formato aceitável pelo dispositivo alvo�Alguns celulares suportam o .jar

�O MIDletSuite se torna um .prc no Palm OS

Ciclo de Desenvolvimento

Codificação

Dispositivo

EmuladorSincronismo

Compilação ByteCodeDesktop

Binário Alvo

Conversão

Bibliotecas Gráficas do MIDP

� javax.microedition.lcdui� É dividida em duas:

Low Api: � não é garantido o funcionamento em todos os

dispositivos� Os principais objetos são o Canvas e Graphics

� O objeto Canvas gerencia os eventos de teclado e da stylus do dispositivo

� O objeto Graphics possibilita desenhar linhas, arcos, imagens.

Exemplo da LowApiBibliotecas Gráficas do MIDP

(cont.)High Api:

� Seu funcionamento é garantido em todos os dispositivos

� Contém os objetos de interface: Form, Command, List, Gauge, ChoiceGroup, TextField, TextBox ...

� Os únicos que possuem eventos são o Command(action) e o List(select_command)

� Pode-se usar Listener para capturar mudanças de estado de alguns componentes

� Não possui controle sobre o posicionamento dos componentes

4

J2ME x Superwaba

RazoávelBoaDisponívelDocumentação

Licença LGPLGratuitaAlgumas são pagasCustos Máquinas virtuais

BoaBoaBoaFacilidade dedesenvolvimento

ExcelenteExcelenteRazoávelControle do layout

BMPJPGPNGSuporte a imagens

SIMDepende do dispositivoNÃOSuporte a IrDA

SIMSIMSIMSuporte a TCP/IP

SIMSIMNÃOAcesso a arquivos doSistema

NÃODepende do celularDepende do celularExecuta em celulares

SIMSIMSIMExecuta em Windows CE

SIMNÃOSIMExecuta em Palm OS

SuperwabaJ2ME/Personal JavaJ2ME/MIDP 1.0Critério

Projetos do Grupo

� MobiS� Desenvolvimento uma solução para a transmissão

segura para dispositivos móveis visando garantir a confidencialidade, integridade e autenticidade dos dados transmitidos

� MobiSware� Continuação do projeto MobiS, tem como principal

objetivo desenvolver um framework para garantir a segurança na transmissão de dados através de dispositivos móveis

Projetos (Cont...)

�Wireless Doctor�O Projeto tem como objetivo desenvolver

um sistema para controle e acompanhamento de uma clínica médica

�O sistema permite ao médico acompanhar seus clientes, sua agenda e sua parte finnaceira a partir do Desktop e de um celular P800/P900

Dissertações

� Framesec: Um framework para a provisão de segurança fim-a-fim para aplicações no ambiente de computação móvel (Bringel)

� Framepersist: Um framework de persistência de objetos para o desenvolvimento de aplicações para dispositivos móveis (Katy)

� Um Ambiente de Desenvolvimento de Aplicações Multi-Plataformas e Adaptativas para Dispositívos Móveis (Windson)

� Um Framework para o Desenvolvimento de Treinamentos Utilizando Realidade Virtual em Dispositivos Móveis (Edgar)

FRAMESEC

� Framework de aplicação para a construção de mecanismos de segurança� Confidencialidade, integridade, autenticidade e não-repúdio, bem

como suas combinações

� Definido utilizando como base a linguagem de Padrões Tropyc e padrões de projeto� Information Secrecy, Message Authentication, Message Integrity,

Sender Authentication, Secrecy with Authentication, Secrecy withSignature, Secrecy with Integrity, Signature with Appendix, e Secrecywith Signature with Appendix

� Forward-Receiver, Strategy e Null Object

Ferramenta PEARL

5

Web PEARL Analyser Framepersist

�Provê uma camada de persistência para o desenvolvimento de aplicações para dispositivos móveis�Operações básicas de inclusão, exclusão,

atualização e busca de objetos, levando em consideração as limitações dos dispositivos móveis