Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

27
Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo

Transcript of Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Page 1: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Aplicações e Serviços para Computação Móvel

Carlos Maurício S. Figueiredo

Page 2: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Aplicações e Serviços para Computação Móvel

• Aplicações Pessoais– Ex: Organização pessoal, acesso à informação, transferência de

arquivos, Web, email, etc.

• Aplicações Corporativas– Ex: Acesso remoto a informações corporativas, apoio à tomada de

decisão, vendas, distribuição, transportes, estoque, automação industrial, etc.

• Aplicações Financeiras– Ex: Transações eletrônicas, operações bancárias, etc.

• Aplicações para Medicina– Ex: Acesso a informações de pacientes, consulta a banco de dados de

doenças, interação entre equipe médica, monitoração de informações clínicas de pacientes e outras.

Page 3: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Aplicações e Serviços para Computação Móvel

• Policiamento e Segurança– Consulta de dados criminais de suspeitos, consulta de

dados de roubos e furtos, informações de ocorrências, etc.

• Aplicações Militares– Ex: Coordenação de operações, treinamento e outras.

• Serviços de Informação em geral– Ex: Trânsito, tempo, eventos, etc.

• Entretenimento– Ex: Jogos pessoais e interativos.

Page 4: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Aplicações e Serviços para Computação Móvel

• Serviços baseados na localização (LBS)– Serviços onde o resultado depende de:

• Localização do usuário;

• Informações de localização em uma base de dados.

– Questões a serem resolvidas:• Técnicas de obtenção da localização do usuário conforme infra-

estrutura de rede sem fio utilizada;

• Ter uma base de dados georeferenciada;

• Mecanismos de consulta.

– Classe importante de serviços.

– Exemplos,• Guias turísticos, serviços de transportes, serviços de emergência,

serviços de informação, etc.

Page 5: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Aplicações e Serviços para Computação Móvel

• Serviços de Comércio Eletrônico Móvel (M-Commerce)– Problema bem estudado para redes fixas;

– Questões a serem tratadas:• Modelagem da aplicação de M-Commerce;

• Levar em consideração características do ambiente de computação móvel (ambiente, energia, personalização, etc).

– Conseqüências:• Considerar interrupções na comunicação, transações simplificadas,

perfis de usuários, etc.

– Exemplo:• Compra em um shopping. Da pesquisa de preços até a realização da

transação.

Page 6: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

Page 7: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Existem muitos ambientes e ferramentas para o desenvolvimento de aplicação e serviços para computação Móvel.

• Os principais segmentos:– Celulares

– PDAs

• Dificuldades:– Variedade de plataformas

– Variedade de ferramentas

– Incompatibilidade entre dispositivos

Page 8: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Desenvolvimento para Celulares– Baseado em linguagens de marcação

– Tendência: XML

– Alguns Padrões existentes:• WML – Parte do padrão WAP

• HDML – HandHeld Markup Language, baseada no HTML

• CHTML – Compact HTML

• VoiceXML – Aplicações baseada na voz

• XHTML Básico – Versão simplificada do XHTML

Page 9: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Desenvolvimento para Celulares– WML – Wireless Markup Language

• Características:– Baseada em XML

– Metáfora de um baralho de cartas

– Utilização de Variáveis

– Existência de eventos e tarefas

• Vantagens:– Adaptada e otimizada para ambiente sem fio (Ex. codificação binária)

• Desvantagens:– Ainda restrita a celulares

– Recursos limitados.

Page 10: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Desenvolvimento para Celulares– WML – Wireless Markup Language

Page 11: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Desenvolvimento para PDAs– Ferramentas para a Geração de Aplicações Nativas

• Fornecedores provêm seus SDKs.

– Três grandes plataformas nos anos 90:• PALM OS• Windows CE• EPOC

– Ferramentas:• Destaque: Java 2 Micro Edition (J2ME)• OracleMobile – Ambiente para desenvolvimento de aplicações online.• AVIDRapidTools – Pacote de classes Java. Adaptação de conteúdo para

WML, Palm e outros.• AnyDevice’s GoAnyWhere Plataform – Aplicações com formato

proprietário SiteXML.• Everypath Mobile Application Plataform – Desenvolvimento com Java e

XML.• SmartServ Solution – Desenvolvimento para celulares com módulos

prontos.

Page 12: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Java 2 Micro Edition (J2ME)– Plataforma Java 2 para dispositivos móveis

– Modular e escalável

– Possibilidade de personalização

– Três camadas:• Java Virtual Machine Layer- máquina virtual

• Configuration Layer -bibliotecas mínimas para uma família de dispositivos

• Profile Layer -interfaces de programação (API) para uma categoria de dispositivos.

– Altamente portável.

– J2ME possui um conjunto de tecnologias e ferramentas para o desenvolvimento de aplicação Java para os mais diversos dispositivos móvel.

– Facilita a integração com outras soluções Java (Ex. J2EE).

Page 13: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Java 2 Micro Edition (J2ME)

Page 14: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Desenvolvimento de Aplicações e Serviços

• Novas plataformas de SW– Objetivos:

• Facilidade de uso (usabilidade e aplicações)• Fácil adaptação a diferentes plataformas de Hw (SOs)• Base de desenvolvimento comum (SDKs)

– Exemplo: SOs Móveis Proprietários• Symbian• Windows Mobile• Iphone OS-X

– Exemplo: SOs Móveis GPL• Nokia MAEMO (Linux)• Google Android (Linux)• Ubuntu Mobile• LiMo Foundation

Page 15: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Sistemas Operacionais Embarcados

Page 16: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Sistemas Operacionais

• Definição de SO:– “É um programa que atua como intermediário entre o usuário

e o hardware de um computador. Seu propósito é fornecer um ambiente no qual o usuário possa executar programas, tornando o uso do sistemas computacional conveniente usando o hardware de maneira eficiente.” (Silberschatz).

• Exemplos em PCs comuns: – Windows, Linux, MacOS, etc.

• Com o avanço das plataformas de sistemas móveis, Sos convencionais estão se tornando comuns.

Page 17: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

SOs: Vantagens

• Isola do programador a complexidade do hardware.– Abstrai complexidade.– Protege o uso do HW.

• Controla todos os recursos do computador.– Centraliza a responsabilidade sobre o HW.– Desenvolver programas que controlam todos os

componentes de HW é um trabalho extremamente difícil.

• Gerencia a execução de diferentes programas em determinados instantes de tempo (Escalonamento de processos).– Suporte à multiprogramação.

Page 18: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

SOs: Visão em Camadas

Hardware

Núcleo do Sistema Operacional

Aplicações Utilitários Linguagem deComandos

Usuários

Page 19: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

SOs: Componentes Comuns

• Gerenciamento de Processos• Gerenciamento de Memória

Principal• Gerência de Armazenamento

Secundário e Arquivos• Gerenciamento do sistemas de I/O• Outros:– Redes– Proteção– Contabilização– Logs

Hardware

SO

Aps Util. Com.

Users

Page 20: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Exemplo do STB

Plataforma de Hardware(Rádio, Processador, Periféricos)

Middleware(Ginga-J e Ginga NCL)

Aplicações de Apresentação e

Interatividade

(Navegador, EPG, Entretenimento, etc.)

Software Básico(SO: Controle e configuração do Hw)

Específico dosFabricantes

Camada de SWpara Desenvolvimento

Conteúdo e aplicaçõesdas operadoras

Page 21: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Linux Embarcado

Page 22: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Linux Embarcado

• Muitos dispositivos usam Linux– Linux é livre e de código aberto.– Implementação em C: Linguagem de alto nível facilita o

porte entre diferentes plataformas.– Sistema robusto e completo.– Muito conhecimento público.– Distribuições: Kernel, programas de sistema e utilitários.

Page 23: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Linux Embarcado

• Exemplos: IP phone design runs Linux — A large embedded consulting house in Japan has started shipping a hardware reference design for handheld IP (Internet protocol) phones. Based on a Marvell PXA310 ("Monahans-LV") processor clocked at 624MHz, Sophia Systems's Sandgate 3-P design runs Linux, including Trolltech's Qtopia Phone Edition, or Windows CE/Mobile 6.

Monsoon Multimedia has used embedded Linux to build a consumer DVR (digital video recorder) with remote multimedia file serving capabilities. The Hava -- recently implicated in a GPL violation court case -- aims to let the user access live and recorded TV content from broadband-connected locations.

Page 24: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Linux Embarcado

• Exemplos:

LinkSys Router Linux. For under $100 US, the Linksys WRT54G is a capable Linux platform with 16MB of RAM, a 125MHz processor and support for 802.11b and g.

Urna Eletrônica!

Page 25: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Linux Embarcado

Etapas Básicas de Desenvolvimento– Otimização do Kernel

• Objetivo: Redução do tamanho do SO.• Basicamente, trata da remoção de módulos não utilizados na

plataforma de destino.• Recompilação para a plataforma de destino.

– Composição do Sistema de Arquivos Básico• Estrutura em diretórios contendo software necessário para aplicação

embarcada (kernel, Módulos do SO, bibliotecas, utilitários, programas de sistema e aplicativos).

– Desenvolvimento de Drivers de Dispositivos• Necessário para o controle de Hws específicos.• Sua implementação deve conter as diretivas para manipulção direta

do hardware.

Page 26: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Estudo de Caso

NOKIA/MAEMO

Page 27: Aplicações e Serviços para Computação Móvel Carlos Maurício S. Figueiredo.

Estudo de Caso

Zagaia Aps