• Nenhum resultado encontrado

Introducão à Tecnologia Móvel 1 UFU - BACALÁ

N/A
N/A
Protected

Academic year: 2021

Share "Introducão à Tecnologia Móvel 1 UFU - BACALÁ"

Copied!
69
0
0

Texto

(1)

Introducão à

(2)

2

História do Celular

 1921 (0G)

 O Departamento de

polícia de Detroit instala rádios móveis operando em cerca de 2 MHz, nos carros. Problemas com o sistema devido a grande interferência

 1934 (0G)

O congresso norte americano cria a FCC (Federal

Communications Commission), órgão responsável por

regulamentar o espectro das frequências de rádio

(3)

Historia do Celular

 Decada de 1940 (0G)

 O uso de rádios móveis para comunicacão

já é comum nos EUA. nas frequencias de 30 a 40 Mhz. Sao usados pela policia,

empresas e pessoas ricas.

 1945 (0G)

 O primeiro servico que integra radio a

telefonia é aberto ao público em St. Louis, Miss. O sistema é composto de 6 canais operando a 150 MHz. A qualidade do sistema é muito ruim.

(4)

4

História do Celular

 1956 (0G)

 O primeiro sistema de telefonia instalado em carros de passageiros é instalado atendendo o território norte americano (os chamados car-phones). O sistema baseado em radio requer que uma operadora complete as ligacoes, mas o sistema embora grande e pesado funciona. Um sistema similar é disponibilizado na Suécia.

 1964 (0G)

 Uma evolucao do sistema usa um canal

unico compartilhado em 150 Mhz e permite que usuario disquem numero direto do

aparelho no carro.

(5)

Historia do Celular

 1969 (0G)

 O sistema dde car-phone sofre um upgrade

para 450 Mhz e se torna mais comum. O novo servico é conhecido como (IMTS) Improved mobile telephone service.

 1971 (1G)

 AT&T propoe um novo sistema de

comunicacao movel ao FCC baseado em dividira as cidades em “celulas”.

(6)

6

Mobile Phone History

 1973 (1G)

 Dr. Martin Cooper, pesquisador da

Motorola inventa o primeiro aparelho celular analogico funcional. O Motorola Dyna-Tac, é levado a cidade de New York e mostrado ao publico. A primeira estacao de telefonia

celular instalada em Nova York podia atender ate 30 pessoas.

 1974 (1G)

 Problemas de regulamentacao do FCC

atrasam o desenvolvimento de celulares. A Western Electric é impedida de fabricar

antenas e aparelhos ao mesmo tempo.

(7)

Mobile Phone History

 1977 (1G)

 Após vários problemas jurídicos, o FCC aprova o

serviço celular analógico em Chicago, uma parceria da Bell Telephone Company e da AT&T

 1988 (2G)

 São criados dois padrões digitais para substituir a

telefonia celular analógica nos EUA o TDMA, e o CDMA

 1990 (2G)

 Agência européia de telecomunicações funda o

(8)

TDMA

time division multiple access

 Utiliza a multiplexação de tempo, vários

transmissores compartilham um mesmo canal. Os principais padrões utilizados foram IS 54, IS 136 (DAMPS), utilizam frequência de 820-890 Mhz

8 UFU - BACALÁ

(9)

IS-95 CDMA

code division multiple access

 Desenvolvida pela Qualcom permite que

multiplas frequencias sejam utilizadas

para transmitir uma mensagem que possui um coidigo que a identifica. Frequencias: 800MHz band and 1.9GHz

(10)

GSM

Global System for Mobile Communications

 Opera nas bandas 800, 850, 1800 ou

1900 Mhz

 Introduziu os Subscriber Identity Module

(SIM) cartões digitais que guardam

informações do assinante e permitem a troca automática de aparelhos e

provedores de telefonia.

 Primeira geração permitia transmissão

de dados apenas 9.6 Kb/s e introduziu o conceito de SMS. Preço pago por KB

10 UFU - BACALÁ

(11)

GPRS -

General Packet Radio Service

 2000 - Geração 2.5

 Serviço para transferência de dados

disponível em GSM e TDMA (IS-136)

 Permite transmissão de dados ate 115

Kb/s

 Serviço utilizado para acesso a Internet,

navegação WAP, SMS e MM. Preço pago por MB transferência

(12)

12

EDGE -

Enhanced Data Rates for GSM Evolution

 2003 - Geração 2.75, oferecido no

Brasil pela TIM e Claro em 2006

 Serviço para transferência de dados

236.8 kbit/s

 iPhone e vários outros celulares ja

utilizam EDGE

 Acesso cobrado por MB. Introdução de

planos que possuem conexão ilimitada de dados. Internet móvel disponível a todo momento UFU - BACALÁ

(13)

Wi-Max

Worldwide Interoperability for Microwave Access

 2007 - Geração 4

 IEEE 802.16, 10-66 GHz

 Permite transmissão de dados ate

10Mb/s em um raio de 10 Km

 Banda são vendidas para operadoras,

concorrentes celular

 Competição com outros serviços de

banda larga como ADSL e Cabo, como serviço de internet rápida

(14)

14

Outras Tecnologias

 3G

 UMTS and CDMA-2000

 UMTS Europa

CDMA-2000 EUA

 Taxas transferência até 2Mbps

(15)

Dispositivos Móveis

 Notebook  Palmtops  PDAs  Mobile Phones  Tablet PCs  ...

(16)

16

Sistemas Operacionais Móveis e

Linguagem de Programação

Sistema Operacional

Linguagem De Programacao

Windows Mobile

.net Mobile

Linux Mobile (EZX)

C++ c/ GTK

Independente

J2ME

(17)

Arquitetura de Acesso a

Web

W eb S er ve rs Internet Wireless Network Base Station Requisicao : Respsosta :

(18)
(19)

Linguagem Java

Divisão em 3 frentes:

◦ J2SE – desktops ◦ J2EE – servidores

◦ J2ME – dispositivos com memória e

processamento restritos

Tentativas anteriores: Embedded Java e

(20)

Java Visão Geral

J2SE - Java 2 Standard Edition

◦ Conjunto de ferramentas e APIs usadas

para construir applets e aplicações Java. Usada para ambos aplicações Web e

standalone.

J2EE - Java 2 Enterprise Edition

◦ Adiciona funcionalidades para suporte a

aplicações enterprise. Uma única

aplicação é distribuída na rede de uma empresa e acessada remotamente.

◦ Aplicações distribuídas requerem trabalho

20 UFU - BACALÁ

(21)

Java Visão Geral

J2ME - Java 2 Micro Edition

◦ Como dispositivos móveis possuem menos

poder de processamento, memória e displays menores, J2ME é um subconjunto do J2SE.

◦ J2ME herda um subconjunto fixo do J2SE que

é aplicado para todos os dispositivos móveis e uma outra porção definida especificamente

para um certo tipo de dispositivo, como por exemplo, um celular ou uma PDA.

J2EE J2SE

(22)

Portabilidade

Linguagem de alto nível e fácil de

dominar

Segura

Por que J2ME?

22 UFU - BACALÁ

(23)
(24)

Mas o que é J2ME

Opção da SUN para desenvolvimento

para dispositivos limitados em

processamento e memória (móveis ou não)

Parecida com J2SE

Mesma linguagem, mesmo

compilador, mesma estrutura da máquina virtual

24 UFU - BACALÁ

(25)

Qualidades

“Write once, run everywhere”Linguagem de alto nível para

dispositivos móveis

Portabilidade

Delivery pela rede seguro

Anytime, anywhere secure deploying

(26)

Foco de J2ME

Basicamente duas categorias:

◦ Dispositivos fixos de informação

compartilhada

◦ Dispositivos móveis de informação

pessoal

Fronteira não muito bem definida

◦ Mais memória e mais processamento

para ambas categorias

26 UFU - BACALÁ

(27)

J2ME e Outras Tecnologias

WAP - Wireless Application Protocol

◦ Protocolo que habilita dispositivos móveis

a receberem dados da Internet e mostrá-los no display

◦ J2ME provê meios para acessar e

manipular dados via rede, tipicamente

Internet, mas também pode ser usado em conjunto com o protocolo WAP

(28)

Não Possui Matemática de Ponto

Flutuante

Tratamento de Exceções

Verificação de Arquivos de Classe

Diferenças Java X J2ME

28 UFU - BACALÁ

(29)

Realizado em duas partesVerificação Prévia:

◦ Insere atributos no arquivo da classe ◦ Arquivos 5% maiores

◦ Agiliza o segundo passo da verificação

Verificação no Dispositivo:

◦ Várias verificações são feitas para validar o

Verificação de Arquivos de

Classe

(30)

Máquinas virtuais

KVM

◦ Otimizada para dispositivos com poucos

recursos

◦ Implementada em C ◦ 40 K – 80 K

◦ Processadores de 16 – 32 bits ◦ 160 K – 512 K de memória total

◦ Implementação de referência da SUN

Especificação fornecida pela SUN

Específica para CLDC

30 UFU - BACALÁ

(31)

Máquinas Virtuais

CVM

◦ Quase igual a VM do J2SE. Diferenças:

Dispositivos fazem computações específicas

◦ Gerenciamento de memória mais

eficiente

Separação VM – Sistema de memória

◦ Mapear Threads Java em Threads

nativas do sistema

(32)

Novos Termos em J2ME

Configuração

◦ Conjunto mínimo de APIs usados para

desenvolvimento de aplicações em um conjunto de dispositivos.

◦ Descrevem as funcionalidades básicas

requeridas pelo conjunto de dispositivos.

◦ Pode ser:

CDC – Connected Device Configuration CLDC - Connected Limited Device

(33)

Profiles (perfil)

No topo das configurações estão os

profiles.

Profiles são conjuntos de APIs mais

específicos para um certo tipo de dispositivo.

Uma configuração descreve em

termos gerais uma família de

dispositivos, enquanto um profile é mais específico e isola um certo tipo

(34)

Configuração de Dispositivo Conectado Limitado

Conjunto de Classes do Java que rodam

em dispositivos móveis, com baixo poder de processamento e recursos de entrada e saída limitados.

CLDC

34 UFU - BACALÁ

(35)

Perfil de Dispositivo de Informação Móvel

Extensão de uma Configuração

Define APIs para tratar diferenças entre

diferentes dispositivos

(36)

MIDP

Descreve arquitetura específica dos

dispositivos móveis que usam CLDC e podem usar MIDP, na maioria,

celulares e pagers.

Como MIDP é construído no topo de

CLDC, a CLDC API pode ser usada para construir aplicações MIDP.

Memória

◦ 128KB de memória não-volátil para as

(37)

MIDP

Entrada

◦ Um dispositivo MIDP deve possuir um

teclado ou/e touch screen Display

◦ 96 x 54 pixels - 96 de altura e 54 de

comprimento

◦ 1-bit color - pelo menos preto e branco

Rede

(38)

J2ME – CDC e CLDC

Máquina Virtual Java CDC

KVM CLDC

MIDP

Java 2 Micro Edition (J2ME)

38 UFU - BACALÁ

(39)

Organização da plataforma

AplicaçãoBuilding blocks: ◦ Configurações ◦ Perfis Pacotes opcionais

◦ Conjunto de API´s mas

(40)

Mas voltando às divisões...

Embbeded Java e PersonalJava no final de ciclo de vida •Connected Device Configuration

• Perfis:

• FP, PBP, PP, GP

Connected Limited Device ConfigurationPerfis

MIDP e IMP

40 UFU - BACALÁ

(41)

Perfis CDC

Foundation Profile

◦ Sem GUI

◦ Reuso de código J2SE com esforço

mínimo

◦ Ambientes com recursos limitados

◦ Exemplos de cenários:

(42)

Perfis CDC

Personal Basis Profile

◦ Um framework de GUI para objetos leves ◦ Suporte ao modelo de programação xlet ◦ Todas as APIs incluídas no Foundation

Profile

◦ Exemplos de cenários:

Televisão interativaAutomóveis

(43)

Perfis CDC

Personal Profile

◦ Compatibilidade total com AWT

◦ Suporte ao modelo de programação de

applets

◦ Um caminho definido para tecnologias

legadas como PersonalJava

◦ Todas as APIs do Personal Basis Profile

(44)

Perfis CDC

Game Profile

◦ Sem previsão de lançamento

◦ Cobrirá 9 áreas fundamentais do

desenvolvimento de jogos

◦ Alvo também em J2SE

◦ Terá referências a Java Media Framework

API e Java 3D

44 UFU - BACALÁ

(45)
(46)

Perfis CLDC

MIDP

◦ Experiência rica em interface gráfica ◦ Conectividade extensiva

◦ Funcionalidades multimídia e para jogos ◦ OTA

◦ Segurança fim-a-fim

◦ Dispositivos-alvo:

Para uma lista completa

http://developers.sun.com/techtopics/mobility/device/device

46 UFU - BACALÁ

(47)

Perfis CLDC

IMP

◦ Baseado em MIDP ◦ GUI limitada

◦ Recursos de memória ou processamento

escassos

◦ Persistência local

◦ Conectividade com a rede

◦ Gerenciamento do ciclo de vida

(48)

O que é quente hoje em J2ME?

Aplicativos com processamento do

lado do servidor e apresentação no celular

Localização

Utilização da câmera embutida

◦ Cartão de visita

Nokia gems

48 UFU - BACALÁ

(49)

Considerações para projeto em

pequenos dispositivos

Faça simples:

◦ Remova features desnecessárias;

Quanto menor, melhor:

◦ Pequenas aplicações usam menos memória

e requerem menos tempo de instalação

Minimize o uso de memória em tempo

de execução:

(50)

Considerações para projeto em

dispositivos móveis

Deixe o servidor trabalhar a maioria do

tempo

◦ Mova a trabalho de cálculo para o servidor e

deixe que ele rode

◦ Deixe o dispositivo móvel manusear interface

e um conjunto mínimo de cálculos, deixando o trabalho intensivo para o servidor

50 UFU - BACALÁ

(51)

Considerações sobre

desempenho

Use variáveis locais:

◦ É mais rápido acessar variáveis locais que

membros de classes

Evite concatenação de Strings:

◦ Concatenação de Strings prejudica a

performance e pode aumentar o uso de memória da aplicação

(52)

Estrutura Básica de um

Programa em J2ME

52 UFU - BACALÁ

(53)

MIDlets

Aplicativos J2ME baseados em MIDP

são chamados de MIDlets.

Uma MIDlet utiliza somente classes

definidas pelas APIs do CLDC e MIDP.

Uma MIDlet é um applet desenvolvido

especificamente para dispositivos móveis.

(54)

MIDlets

Pré-verificação acontece logo após a

compilação.

Devem ser empacotadas em arquivos

JAR para distribuição.

MIDlet JAR:

◦ MIDlet classes

◦ Classes para suporte

◦ Recursos extras (imagens, som, etc)

(55)

Processo MIDlets

EditeCompilePré-verifiqueEmuleTeste no dispositivo

◦ Idealmente em vários dispositivos

(56)

Para Compilar

javac -bootclasspath C:\j2me\midp2.0fcs\classes <Arquivo .java>

Pré-Verificação:

preverify -classpath C:\j2me\midp2.0fcs\classes;. -d . <Arquivo sem o .class>

Para Rodar:

midp -classpath . <Arquivo sem o .class>

Compilação e Execução

56 UFU - BACALÁ

(57)

Construindo o Primeiro MIDlet

Crie o projeto. Em seguida, deve-se criar

a classe

Todo MIDlet deriva da classe

javax.microedition.midlet

3 dos vários métodos são muito

importantes:

◦ startApp() - inicia um MIDlet

(58)

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class ProgramaInutil extends

MIDlet{

public ProgramaInutil(){

}

public void startApp(){

Esqueleto de um MIDlet

58 UFU - BACALÁ

(59)

Construindo o Primeiro MIDlet

Comandos

◦ São usados para controlar MIDlets e

iniciar ações

◦ commandAction() método de resposta a

eventos

◦ javax.microedition.lcdui.CommandListene

(60)

Construtor:

▸Command(String label,

int commandType, int priority) Tipos: ▸Command.BACK ▸Command.CANCEL ▸Command.EXIT ▸Command.HELP ▸Command.ITEM

Comandos

60 UFU - BACALÁ

(61)

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class ProgramaInutil extends MIDlet

implements CommandListener{

public ProgramaInutil(){

}

(62)

Construindo o Primeiro MIDlet

Canvas

◦ javax.microedition.lcdui

◦ Tela abstrata para gráficos e desenhos

Classe Display

◦ javax.microedition.lcdui

◦ Responsável por gerenciar o display e

entrada de dados do usuário

◦ Há exatamente uma instância do Display

(63)

MIDlet Desenvolvimento

1. Desenvolva o código 2. Compile 3. Pré-verifique 4. Emule o MIDlet 5. Empacote um JAR 6. Desenvolva um .jad 7. Teste em dispositivos

(64)

Um MIDlet Simples

Mostra uma linha de texto na tela e

executa um comando comum

import javax.microedition.midlet.*; import javax.microedition.lcdui.*;

Acertar a classe para implementar um

comando

public class Primeiro extends MIDlet implements CommandListener

CommandListener espera por

comandos. Neste MIDlet incluir um

64 UFU - BACALÁ

(65)

Um MIDlet Simples

private Command comandoSaida; private Display display;

private Form telaInicial;

Estas variáveis são inicializadas no construtor

public Primeiro() {

display = Display.getDisplay(this); // Obtém o display

comandoSaida = new Command(“Saida”, Command.EXIT, 2); // nome, tipo, prioridade

telaInicial = new Form(“Primeiro MIDlet”); // Cria a tela inicial telaInicial.append(“Minicurso J2ME”);

(66)

Um MIDlet Simples

Com o construtor pronto, faltam os

métodos do ciclo de vida da MIDlet.

public void startApp() throws MIDletStateChangeException {

// Seta o display atual para a screen display.setCurrent(telaInicial);

}

public void pauseApp() { }

public void destroyApp(boolean unconditional)

66 UFU - BACALÁ

(67)

Um MIDlet Simples

O último método necessário é o

commandAction para responder ao evento exitCommand

public void commandAction(Command c, Displayable s) {

if(c == comandoSaida) {

try {

(68)

Um MIDlet Simples

destroyApp() = false - MIDlet pode gerar

exceção e recusar o método destroyApp()

destroyApp() = true - será destruídaPré-verificação e arquivos para

distribuição são feitas pela IDE automaticamente

68 UFU - BACALÁ

(69)

Empacotamento e Distribuição

MIDlets consistem em um arquivo JAR

contendo o software, e um arquivo JAD contendo uma descrição da MIDlet

Para instalar um aplicativo MIDlet em um

dispositivo deve-se então primeiro criar um JAR e um JAD, ou seja, empacotar para depois distribuir

Basta colocar os arquivos JAD e JAR no

seu servidor Web para serem baixados por um celular ou baixar por meio de um

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que

O presente trabalho tem como objetivo principal analisar o comportamento no mercado doméstico das ações referentes a programas de ADRs lançados na Bolsa de Valores de Nova York

Favor verificar a especificação correta, materiais e demais detalhes no memorial de incorporação e nos projetos técnicos disponível nas lojas e no material de incorporação....

As duas áreas manejadas compreendem: área de pastagem permanente (PA) e uma área que se encontrava com as mesmas condições da área de PA, porém em março de 2016 foi isolada,

• Fazenda Pública e contribuinte, em processo judicial tributário, podem celebrar negócio jurídico processual para estabelecer calendário processual, nos termos do artigo 191,

[r]