WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
|
WAP – WIRELESS APPLICATION PROTOCOL (6) |
||
Autor: Givanildo Francisco da Silva Junior |
(Esta página contém muitas figuras grandes. Aguarde a carga se a conexão estiver lenta)
6.0
–
WAE
6.1 Descrição Geral
de propósito geral baseado, fundamentalmente, nas tecnologias e
filosofias web e tem como
objetivo primário estabelecer um ambiente interoperável que permita a
operadores e provedores de serviços construírem aplicações e serviços
que possam atingir uma grande variedade de plataformas sem fio de maneira útil
e eficiente.
O WAE adota um modelo bastante semelhante ao modelo WWW, o que significa dizer que todo o conteúdo foi especificado em formatos que são bastante similares aos padrões da Internet. Todo conteúdo é transportado usando protocolos padrões se o domínio for do tipo WWW, e otimizado em um protocolo semelhante ao http, se for um domínio sem fio.
O WAPForum foi cuidadosamente atencioso no que diz respeito às restrições de memória e capacidade de processamento dos terminais móveis, além de levar em conta a baixa largura de banda e a alta latência das redes sem fio para a especificação da arquitetura. O WAE assume a existência de um gateway funcionalmente responsável pela codificação e decodificação dos dados transferidos para e a partir do cliente móvel. O propósito da codificação do conteúdo entregue é minimizar o tamanho dos dados enviados para o cliente aéreo, bem como minimizar a energia computacional requerida pelo cliente para processar aqueles dados. A funcionalidade de gateway pode ser adicionada aos servidores de origem ou ser colocada em gateways dedicados, conforme mostra a Figura 13.
Figura
13: Modelo Lógico do WAE
Figura 14: Componentes do Cliente WAE
6.2.1
Agentes-usuários
6.2.2 – Serviços e Formatos
A linguagem é baseada em subconjunto do HDML versão 2.0, entretanto o WML mudou alguns elementos adotados do HDML e introduziu novos elementos, alguns dos quais foram modelados de acordo com elementos similares do HTML.
mover de um card para outro. As instruções contidas nos cards podem invocar serviços no servidor, se for necessário interação de maneira particular, e os decks são requisitados ao servidor conforme sejam necessários. Os decks WML podem ser armazenados em arquivos estáticos ou podem ser gerados dinamicamente por geradores de conteúdo como, por exemplo, scripts e servlets.
O WML foi especificado de maneira a permitir a apresentação do conteúdo em uma grande variedade de dispositivos, além de permitir que cada fabricante incorpore suas próprias MMI 4 (Man-Machine Interface – Interface Homem-Máquina). Um exemplo disso é que o WML não especifica como a requisição de entrada do usuário será implementada e sim especifica sua intenção de maneira abstrata. Esta filosofia permite que o WML seja implementado em uma grande variedade de dispositivos e mecanismos de entrada. Por exemplo, uma implementação pode escolher que o usuário insira seus dados visualmente como os agentes-usuários WWW, enquanto outra pode escolher uma interface baseada em voz. Cabe ao agente-usuário decidir qual a melhor maneira de apresentar todos os elementos dentro de uma carta dependendo das capacidades do dispositivo, uma vez que alguns deste possuem grandes displays e podem apresentar a informação de uma vez só em um único card, outros, contudo, têm displays menores e, portanto, precisam quebrar o conteúdo em várias telas.
A linguagem possui uma grande variedade de características, incluindo:
· Suporte a texto e a imagem: o WML provê aos autores de conteúdo várias maneiras de especificar os textos e as imagens que serão mostradas aos usuários, incluindo sugestões de layout e apresentação. Como todas as outras linguagens de marcação, o WML requer que o autor especifique a apresentação em termos gerais e dá ao agente-usuário uma grande liberdade para determinar como ele deve apresentar a informação ao usuário final.
· Pilha de História e Navegação: O WML permite vários mecanismos de navegação usando URL, incluindo o uso de hiperlinks semelhante ao HTML e elementos de navegação entre cards, assim como elementos de navegação na história.
· Independência de MMI: A especificação abstrata do layout e da apresentação do WML permite aos fabricantes de dispositivos controlarem o projeto da MMI para seus dispositivos.
· Otimização para banda estreita: a linguagem inclui uma grande variedade de tecnologias para otimização da comunicação para dispositivos de banda estreita, como a capacidade de especificar múltiplas interações com o usuário (cards) em uma única transferência da rede (deck) e facilidades de gerenciamento de estado, o que minimiza a necessidade de requisições ao servidor. O WML permite, por exemplo, ao autor parametrizar ou passar variáveis a um contexto subseqüente.
O WMLScript é uma linguagem fracamente tipada, ou seja, uma variável não é formalmente definida e, portanto, o seu tipo pode variar durante o seu ciclo de vida dependendo do dado atribuído a dela. Os tipos de dados suportados pelo WMLScript são lógico, inteiro, ponto flutuante, cadeia de caracteres e inválido, e a própria linguagem tenta fazer a conversão automaticamente entre os tipos. O suporte ao tipo ponto flutuante varia de acordo com as capacidades do dispositivo alvo.
A linguagem tem como características principais:
· Lógica Procedural: adiciona o poder da lógica procedural ao WAE.
· Implementação Compilada: o WMLScript pode ser compilado para um bytecode bem pequeno, que é transportado ao cliente.
6.2.2.3 URL
O WAE utiliza bastante a semântica do HTTP para definição de endereços e, em alguns casos, seus componentes estendem a da URL como no WML, onde os fragmentos de uma URL podem ser usados para permitir a ligação seja uma chamada para funções particulares do WMLScript.
6.2.2.4
– Formatos do Conteúdo
Os dois formatos mais importantes na camada são os de bytecodes codificados do WML e do WMLScript, o que torna a transmissão destes mais eficiente e minimiza a necessidade de capacidade computacional do cliente. Além destes, o WAE adota outros formatos de dados como imagens, mensagem e formatos específicos do agente-usuário.
6.3
– Transporte do WML e WMLScript
Os servidores de origem provêem os serviços de aplicação para o usuário final e a interação destes serviços entre o usuário final e os servidores de origem é empacotada em decks WML e scripts padrões, os quais podem estar armazenados estaticamente ou serem dinamicamente gerados. Um codificador WML em um gateway converte cada deck WML em seu formato binário, que depois é enviado ao cliente para ser interpretado e mostrado. Algumas otimizações podem ser feitas pelo gateway baseado nas características do cliente.
Figura 15: Arquitetura Lógica do Agente-Usuário do WML
O agente-usuário pode enviar uma ou mais requisições adicionais (usando algum esquema de endereço URL) ao WMLScript quando o primeiro encontrar referências para a linguagem em um deck WML. Ao retornar a requisição ao cliente, o compilador do WMLScript traduz o script para o bytecode que é enviado para o cliente para interpretação e execução.
A existência de um gateway não é obrigatória, uma vez que a compilação e codificação podem ser funções internas dos servidores de origem, o que não afetaria em nada o processo já descrito. A Figura 15 ilustra a arquitetura sem o gateway.
Figura
16: Arquitetura Lógica sem um Gateway
do Agente-Usuário do WML
O WTA é uma estrutura de aplicação para serviços de telefonia, onde o agente-usuário WTA é uma extensão do agente-usuário padrão WML com capacidades de se conectar com serviços disponíveis de rede móvel para um dispositivo de telefonia móvel. A Figura 17 descreve uma possível configuração da estrutura da WTA, levando em conta somente os componentes do cliente.
Figura
17: Exemplo da Arquitetura WTA
A Figura 17 ilustra como o agente-usuário WTA, o repositório (armazenagem persistente) e a WTAI (Wireless Telephony Application Interface – Interface para Aplicação para Telefonia Sem Fio) interagem uns com outros e com outras entidades em um dispositivo cliente móvel com capacidades de usar a WTA. O agente-usuário WTA é capaz de solicitar conteúdo de um repositório e a WTAI assegura que o agente-usuário da WTA possa interagir com as funções da rede sem fio (como fazer ligações) e com as capacidades do dispositivo (como manipular a lista de telefones). O agente usuário WTA recebe os “eventos da rede” que podem ser ligados ao conteúdo e, assim, disponibiliza aplicações dinâmicas de telefonia.
6.4.2
– Os agentes-usuários WTA e WAE
É claro que a capacidade de suportar simples funções de telefonia de dentro de um agente-usuário do WAE é muito importante e para tal intento uma biblioteca especial do WTA foi definida: a Biblioteca Pública WTAI – que contém funções que podem ser chamadas de dentro de qualquer aplicação WAE, de acordo com a Figura 17, e provê acesso a funcionalidades de telefonia simples como um adicional à experiência do usuário. Por exemplo, os programadores WML podem incluir a funcionalidade “clique para ligar” dentro do seu conteúdo para resguardar os usuário de digitar um número usando a MMI padrão.
Os eventos de rede que estarão disponíveis para o agente-usuário do WTA são aqueles que são resultados das ações tomadas pelos serviços rodando no próprio agente-usuário WTA. Os eventos de telefonia iniciados de fora do dispositivo também são passados para o agente-usuário WTA.
A Figura 18 ilustra como o agente-usuário WAE e a Biblioteca Pública WTAI interagem uma com a outra e com outras entidades de cliente móvel. O agente-usuário WAE somente requisita seu conteúdo via gateway WAP e somente tem acesso às funções da Biblioteca Pública WTAI.
Figura
18: O Agente-Usuário WTA e a Biblioteca Pública WTA