31
04/03/2013 1 Questões de Mobilidade em Diferentes Níveis M-Business and Mobile Applications Wireless Networks Wireless Infrastructure Platforms for Mobile Applications - Middleware Platforms (WAP, I-Mode, J2ME) - Mobile Platform Services (Mobile OS, Utilities) Mobile Computing Platforms Mobile Device (Cell Phone, PDA, Pocket PC) Server (Web Server, eMail server, Mainframe) Application Physical Wireless Network (Antennas, Transceivers, Base Stations, Cellular Networks, 802.11 LANs, Satellites) Middleware Services Network Transport Services Local Platform Services Application Mobile Computing Platform Network Transport Services Local Platform Services Middleware Services

Questões de Mobilidade em Diferentes Níveis - DPI | DEPARTAMENTO DE …nacif/cmovel/10_WAP.pdf · 2013-03-04 · Questões de Mobilidade em Diferentes Níveis ... uma linguagem

Embed Size (px)

Citation preview

04/03/2013

1

Questões de Mobilidade emDiferentes Níveis

M-Business andMobile Applications

Wireless Networks

WirelessInfrastructure

Platforms for Mobile Applications- Middleware Platforms (WAP, I-Mode, J2ME)- Mobile Platform Services (Mobile OS, Utilities)

Mobile Computing Platforms

Mobile Device(Cell Phone, PDA, Pocket PC)

Server(Web Server, eMail server,Mainframe)

Application

Physical Wireless Network(Antennas, Transceivers, Base Stations,

Cellular Networks, 802.11 LANs,Satellites)

MiddlewareServices

NetworkTransportServices

LocalPlatformServices

Application

MobileComputingPlatform Network

TransportServices

LocalPlatformServices

MiddlewareServices

04/03/2013

2

Mobile Computing Platforms

CAGR – Compound annual growth rate

Mobile Data Traffic(previsão Cisco)

Mobile Computing Platforms

Padrão médio de uso de tráfego de voz-dadosem smartphones: 70-30 Para usuários de iPhone é 45-55 Em 2010, cada tablet gerou em média cerca

de 5x mais tráfego na Internet do quesmartphones (Cisco, Fev/2011).

04/03/2013

3

Mobile Computing Platforms

Mobile Computing Platforms

04/03/2013

4

Crescimento Mobile

7

Mauro N. Rocha

Net Application Operating SystemsMarket Share

Julho/2008

Julho/2009

Fonte: http://www.netmarketshare.com/

04/03/2013

5

Mauro N. Rocha

Net Application Operating SystemsMarket Share

Julho/2010

Fonte: http://www.netmarketshare.com/

Setembro/2011

Mobile OS Net Market Share

04/03/2013

6

Mobile Computing Platforms

Mobile Computing Platforms

Sistemas Operacionais SGBDs Gerenciadores de Transações Ferramentas para Dispositivos MóveisWireless MiddlewareWireless Gateways Servidores de Aplicação

04/03/2013

7

Mobile Computing Platforms

Sistemas Operacionais Windows CE / Windows Mobile / Phone 7 Symbian OS BlackBerry Linux – LiMo (Linux Mobile) Foundation (Motorola et. al.);

Moblin.org (Intel); Linux Phone Standards Forum (LiPS -lipsforum.org)

iOS (iPhone, iPad, iPod) Android WebOS Chrome OS Ubuntu Firefox OS Jolla (MeeGo – ex-Nokia) Tizen (Intel + Samsung)

Mobile Computing Platforms

04/03/2013

8

Mobile Computing Platforms

Diversas soluções cross-platform Trolltech – C++ e Java (http://trolltech.com/)

Comprada pela Nokia final jan/2008 Qt (http://qt.nokia.com)

Azingo – S60 over Linux(http://www.azingo.com)

ACCESS – Palm to Linux (http://www.access-company.com/home.html)

JIL – Joint Innovation Lab (http://www.jil.org) -criação de widgets e serviços.

FireMonkey (Embarcadero Technologies)

Suporte para Mobile Apps

Depende do uso da rede por parte dasaplicações Podemos destacar três categorias gerais

para Aplicações em CM: Aplicações Stand-alone rodam inteiramente em

dispositivos móveis em modo desconectado(detached).

Aplicações C/S simples (e.g., DB query) c/tempos de conexão curtos.

Aplicações móveis avançadas (groupware emultimídia distribuída) – intercâmbio deinformações em tempo real.

04/03/2013

9

O Papel do Middleware

Transformação: Converter entre diferentes formatos(HTML / WML)

Detecção e ajuste: Detectar dispositivos diferentes eotimizar a saída de acordo com os recursos do dispositivo.

Compressão: Minimizar quantidade de dados trafegados narede.

Segurança: Assegurar privacidade e segurança fim a fim. Entrega de Mensagens: Assegurar entrega de mensagens

mesmo sendo desconectado da rede (storage / forwarding). Ferramentas de Suporte: Oferecer ferramentas de suporte

e gerência para provedores e clientes.

O Papel do Middleware

Adaptação Concorrência Fidelidade Agilidade

04/03/2013

10

Tipos de Middleware

Duas abordagens: Information Hiding (e.g. WAP) Information Providing (e.g. CODA)

WirelessAplicationProtocol

Universidade Federal de ViçosaCentro de Ciências ExatasDepartamento de Informática

04/03/2013

11

Histórico

Em Junho de 1997, quatro empresas uniram-se paradesenvolver um protocolo de aplicações sem fio emcomum, inicialmente chamado de MDI (Mobile DataInitiative)

O MDI herdou as características principais e afuncionalidade do HDML (Handheld Device MarkupLanguage) e HDTP (Handheld Device Transport Protocol)desenvolvido através da Unwired Planet (agoraPhone.com), a especificação TTML (Tagged Text MarkupLanguage) desenvolvido através da Nokia; e o ITTP(Intelligent Terminal Transfer Protocol) especificaçãodesenvolvida através da Ericsson.

Histórico

Desta união surgiu o WAP Forum, um órgãoindependente com a finalidade de desenvolverWAP e padronizar seu conteúdo.

Hoje o WAP Forum está incorporado ao OpenMobile Alliance (OMA), e não existe mais comoorganização independente.

04/03/2013

12

WAP Forum Location Interoperability Forum (LIF) SyncML Initiative Multimedia Messaging Interoperability Process

(MMS-IOP) Wireless Village Mobile Gaming Interoperability Forum (MGIF) Mobile Wireless Internet Forum (MWIF)

(Criado em 2002)

Arquitetura

04/03/2013

13

WAP Gateway

O WAP gateway (WAP Proxy) é um software que basicamenterealiza a conexão entre o cliente (dispositivo móvel) e o servidor.O WAP gateway possui as seguintes funcionalidades:

Gateway de protocolo - traduz pedidos do protocolo WAP parao protocolo WWW

Codificadores e Decodificadores de conteúdo - o codificadorde conteúdo traduz o conteúdo WAP para um formato decódigo compactado (bytecode), com a intenção de reduzir otamanho e o número de pacotes que trafegam na rede.

WAP Gateway

04/03/2013

14

Transmissão de dados

WTA (Wireless Telephony Application) - A finalidade de WTA éfornecer meios para criar serviços de telefonia (voz) utilizando WAP.

Quando o WAP browser é utilizado para solicitar informação, essepedido é enviado através da rede sem fio para o WAP gateway,utilizando o protocolo WML (Wireless Markup Language) e convertea requisição para o protocolo da Internet (HTTP). A seguir, o queacontece é o envio dessa requisição para o Web Server através daInternet. O Web Server recebe, lê a requisição e retorna umaresposta com conteúdo para o WAP gateway.

Transmissão de dados

04/03/2013

15

Pilha de Protocolos

Wireless Application Environment(WAE)

É a camada responsável por estabelecer um ambiente interativo.O WAE inclui um ambiente de micro-browser que suporta asseguintes tecnologias:

Wireless Markup Language (WML), uma linguagem demarcação similar ao HTML, mas otimizada para utilização emdispositivos móveis.

WML Script, uma linguagem de script similar ao Java Script. Um conjunto de formatos de dados bem definidos, incluindo

imagens, registros de agenda de telefones e de compromissos. Serviços de telefonia e interfaces de programação: Wireless

Telephony Application (WTA, WTAI).

04/03/2013

16

Wireless Session Protocol (WSP)

O WSP disponibiliza dois tipos de serviço para a camada deaplicação do WAP. O primeiro é o serviço orientado a conexão,que opera sobre o protocolo de transação WTP. O segundo é oserviço não orientado a conexão, que opera sobre o serviço dedatagrama seguro ou não (WDP).

Os protocolos da família WSP são otimizados para uma banda deconexão baixa, com latência relativamente alta. WSP foiprojetado para permitir que um proxy WAP conecte um clienteWSP a um servidor HTTP comum.

Wireless Transaction Protocol(WTP)

O WTP é executado sobre um serviço de datagramas, provendo umprotocolo orientado a conexão.

O WTP opera eficientemente, disponibilizando os seguintes serviços:

Três classes de serviços de transação:Requisições one-way (pedidos) não confiáveisRequisições two-way (pedidos e respostas) confiáveis

Confiabilidade opcional user-to-user. O usuário ativa aconfirmação a cada mensagem recebida

Transações Assíncronas

04/03/2013

17

Wireless Transport Layer Security(WTLS)

O WTLS é um protocolo de segurança baseado no protocolo TLS(Transport Layer Security), também conhecido como SecuritySockets Layer (SSL). O WTLS disponibiliza os seguintes serviços:

Integridade de Dados Privacidade Autenticação Detecção e rejeição de dados incorretos.

Wireless Datagram Protocol(WDP)

O WDP opera como um serviço geral de transporte de dados,oferecendo uma forma consistente de transmissão de pacotesdas camadas superiores da pilha WAP. Desta forma, as camadasde Segurança, Sessão e Aplicação podem funcionarindependentemente da rede sem fio utilizada.

04/03/2013

18

WAP x Protocolo de InternetPilhas de Protocolos

Comparativo do número de pacotesnecessários em uma comunicação

04/03/2013

19

Segurança

Privacidade

Integridade

Autenticação

Não rejeição

Wireless Transport Layer Security(WTLS)

O WTLS garante as seguintes propriedades:

Integridade de dados Privacidade Autenticação Proteção contra Denial-of-service

04/03/2013

20

WAP 2.0

WAP 2.0 é a evolução da pilha de protocolos WAP. Traz um conjuntode melhoramentos e especificações que aumentam o poder deprocessamento dos dispositivos móveis e proporciona uma maiorqualidade no acesso à Internet por parte dos mesmos.

WAP 2.0 - Arquitetura

A arquitetura do protocolo WAP 2.0 é organizada de modo asuportar uma pilha de protocolos baseada na pilha de protocolosusada na Internet, incluindo TCP, TLS e HTTP.

Suporta a linguagem XHTML MP (eXtensible HyperText MarkupLanguage – Mobile Profile).

WAP 2.0 não requer um WAP proxy, sendo toda a comunicaçãoentre o cliente e o servidor feita através do uso do protocoloHTTP.

O WAP proxy pode otimizar o processo de comunicação eoferecer melhoramentos nos serviços móveis.

04/03/2013

21

Pilha de Protocolos

WAP 2.0 – Pilha de Protocolos

04/03/2013

22

WAP 2.0 – Pilha Dupla(opcional)

Como WAP 2.0 suporta ambas as pilhas de protocolos (WAP 1.0 eWAP 2.0) é esperado que as pilhas operem independentemente.Dado isto, o dispositivo WAP deve possuir as duas pilhas deprotocolo funcionando em conjunto.

Serviços adicionais/aprimorados

WAP Push User Agent Profile (UAProf) Wireless Telephony Application (WTA) External Funtionality Iterface (EFI) Persistent Storage Interface (PSI) Data Sincronization Multimedia Messaging Service (MMS) Pictogram Binary XML Content Wireless profile Cascading Style Sheet Specification Document Type Definition (DTD)

04/03/2013

23

Estrutura da Linguagem WML

Mesma estrutura e regras do XML Tags WML são case sensitive As tags podem conter atributos Declaração de variáveis

$variable $(variable) $(variable:conversion)

Estrutura da Linguagem WML

Deck (baralho): Prólogo Cabeçalho Um ou mais cards (carta):

Unidade básica do display no WAP texto, imagens, hiperlinks e campos de entrada

(botões, múltipla escolha, caixa de entrada)

04/03/2013

24

Deck

Similar a uma página HTML (identificado por umaURL) Unidade de conteúdo de transmissão, enviada

integralmente do servidor WAP para o terminalmóvel Várias telas (cards) podem ser baixadas para um

cliente de uma só vez. Não deve exceder 1400 bytes (tamanho do arquivo

binário obtido a partir do arquivo fonte WML)

Estrutura da Linguagem WML

Imagens: WBMP (Wireless BitMap) P&B ou coloridas com até 150x150 pixels. Diretiva opcional “alt”, como no HTML, para

terminais sem interface gráfica.

04/03/2013

25

Exemplo (WML)<WML>

<CARD><DO TYPE="ACCEPT" LABEL="Next">

<GO URL="#card2"/></DO>Acme Inc.<BR/>Directory

</CARD><CARD NAME="card2">

<DO TYPE="ACCEPT"><GO URL="?send=$type"/>

</DO>Services<SELECT KEY="type">

<OPTION VALUE="em">Email</OPTION><OPTION VALUE="ph">Phone</OPTION><OPTION VALUE="fx">Fax</OPTION>

</SELECT></CARD>

</WML>

Acme Inc.Directory_____________Next

Services1>Email2 Phone____________OK

WMLScript

Linguagem derivada de JavaScript Otimizada para uso em dispositivos com CPUs e memórias

limitadas Omite algumas funções Facilmente integrada com WML

VM: bytecode-based, stack-oriented Assume compilador residente na rede p/ reduzir tráfego

de dados e uso de memória/CPU do dispositivo Bibliotecas para processamento de URLs, caixas de

diálogo simples (UI), processamento de strings efunções matemáticas, interface c/ browser WML

04/03/2013

26

Exemplo (WMLScript)functioncurrencyConvertor(currency,exchRate) {

return currency*exchangeRate;}function myDay(sunShines) {

var myDay;if (sunShines) {

myDay = “Good”;} else {

myDay = “Not so good”;};return myDay;

}

Funções

Estruturasde Controle

Variáveis

Exemplo (WTA / WTAI)

Elementode entrada

Chamada WTAI

<WML><CARD>

<DO TYPE=“ACCEPT”><GO URL=“wtai:cc/mc;$(N)”/>

</DO>Enter phone number:<INPUT TYPE=“TEXT” KEY=“N”/>

</CARD></WML>

Chamada WTAI

function checkNumber(N) {if (Lang.isInt(N))

WTAI.makeCall(N);else

Dialog.alert(“Bad phone number”);}

04/03/2013

27

Exemplo

Exemplo

04/03/2013

28

Exemplo

Exemplo

04/03/2013

29

Exemplo

Desenvolvendo para WAP 2.0

XHTML MP (XHTML Mobile Profile)WCSS (WAP CSS): subconjunto do CSS2 +

extensões específicas de WAP

04/03/2013

30

XHTML MP não dá suporte a:

decks and cards timers events variables client-side scripting programmable softkeys <u> tag format attribute for input fields posting of data with anchor links

Desenvolvendo para WAP 2.0

XHTML MP (XHTML Mobile Profile)WCSS (WAP CSS): subconjunto do CSS2 +

extensões específicas de WAP

Caso a adoção do XHTML MP ou WCSSnão seja requerido, pode ser preferível adotaro WML por dar suporte aos dispositivosWAP 1.x.

04/03/2013

31

Evolução das Linguagens deMarcação

Fonte: Wikipedia

Referências

http://www.novomilenio.inf.br/fixos/mundowap.htm Operadoras, portais, serviços, notícias, tecnologia

http://www.developershome.com/wap/wml/ Documentações e tutoriais de WML

http://www.wapforum.org http://www.wapbr.com.br http://www.penta.ufrgs.br/tp951/tccd_ml.html http://www.wmlclub.com http://www.ovum.com http://www.openmobilealliance.org http://www.passani.it/gap/Global Authoring Practices for the Mobile Web (XHTML MP)