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
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
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
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)
Top Related