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 

DESENVOLVIMENTO DE APLICAÇÕES WAP
Parte I - Arquitetura WAP

AUTOR: Giuliano Sposito (*)


Data: 16/08/2000
Cortesia de 

[Esta página possui muitas figuras grandes. Aguarde a carga se a conexão estiver lenta]

Objetivo
Este documento tem como objetivo iniciar um desenvolvedor com experiência em aplicações WEB à construção de aplicações WAP (acessadas por dispositivos sem fio). Faremos o leitor entrar em contato com os conceitos básicos da tecnologia WAP - arquitetura e funcionamento, destacando também os principais aspectos do protocolo WML/WMLS - para escrita de "decks" WAP.

Pré-Requisitos
A construção de uma aplicação WAP se assemelha em muitos aspectos (aliás, em quase todos!!) à construção de uma aplicação WEB, seja qual for a plataforma de desenvolvimento (ASP,ISAPI,PERL,Java, etc...). Assim sendo, é aconselhável que o leitor tenha:
  • Alguma experiência com desenvolvimento de aplicações WEB (Cliente/Servidor)
Histórico



Se fomos levar em conta o projeto de acessar computadores através de dispositivos portáteis sem fio, devemos contabilizar desde o surgimento das primeiras histórias de ficção científica envolvendo computadores onde nem mesmo o conceito de redes de computadores existia. Entretanto somente nos últimos 5 anos com a popularização de tecnologias como a do telefone celular e a consolidação da Internet é que foram feitos projetos de significativa importância, acompanhe o breve histórico de como o protocolo WAP sugiu:
  • 1995: Ericsson inicia trabalho com um protocolo conhecido como ITTP (Intelligent Terminal Transfer Protocol) melhorando a performace do HTTP.
  • 1996-97: Nokia desenvolve o conceito de "Smart Messaging", e a Unwired Planet cria o HDML (Handheld Device Markup Language), uma linguagem de marcadores similar ao HTML, so que otimizados para dispositivos com displays pequenos como telefones e PDA's.
  • Dez 1997: Ericsson, Motorola, Nokia, e Unwired Planet (agora conhecida como PhoneCom) se unem para formar um consórcio chamado de WAP Forum.
  • 1998: Primeiro Release da especificação WAP 1.0. WAP Forum se torna aberto para outras companias.
  • Dez 1999: Já são mais de 90 o número de companhias membros do WAP Forum.
  • 1999-2000: Surge a especificação WAP 1.2 atualmente em uso.
Wireless Application Protocol - WAP
O protocolo WAP, especifica dois elementos essenciais para a comunicação sem fio: um protocolo de comunicação fim-a-fim e um ambiente de aplicação baseado em visualizadores ("browsers"). Muito da arquitetura WAP foi inspirada na Internet atual, visando justamente se agregar a ela com o menor esforço possível, em virtude dessa característica semelhantes entre Wap e Web não são meras coincidências.

O protocolo WAP é basicamente uma pilha de protocolos de comunicação que tem como meta unir um servidor de aplicação à um dispositivo sem fio ("wireless user agent"), numa filosofia Cliente/Servidor, ou seja, o dispositivo sem fio faz a requisição de alguma informação a um servidor e este lhe responde os dados requeridos.




Muitos paralelos podem ser feitos, entre a arquitetura TCP/IP e a arquitetura WAP. A fim de que o leitor não encare o protocolo WAP de uma maneira "metafísica", descreveremos brevemente abaixo os principais elementos de sua pilha de protocolos, relacionando-os com seus equivalentes no TCP/IP. Observe o diagrama abaixo:

 

 


Basicamente podemos observar as seguintes entidades:

  • Wireless Application Enviroment (WAE): Consiste na camada de "aplicação" do protocolo, estabelecendo padrões para os Browsers (visualizadores) e para a linguagem de renderização (WML). Na Internet seria equivalente à especificação do HTML.

  • Wireless Application Protocol (WAP): Divido em 4 subcamadas (1-Sessão, 2-Transação, 3-Segurança e 4-Datagrama) é a camada responsável pela requisição e transporte dos dados, implementando neste nível requisitos de segurança e controle transacional. Seu equivalente na Internet seria uma mistura de HTTP com o TCP/UDP

  • Bearer: É a camada equivalente ao nível de enlace da arquitetura OSI/ISO, responsável pela condução dos dados "no ar", entre a celular da operadora até o dispositivo em wireless, varias tecnologias podem ser empregadas, comumente se usa SMS e CSD


O ambiente de aplicação (WAE) segue a filosofia de um browser WEB. Dentro dos dispositivos sem-fio, há um micro-browser, que interpreta dados recebidos de um servidor, tendo a funcionalidade de executá-los, no caso de um script e/ou de renderizá-los no display do aparelho. Tal browser é bastante semelhante ao Web Browser, só que interpreta e renderiza código WML (Wireless Markup Language). WML é o conjunto de umas poucas tags existentes no HTML com o formalismo de sintaxe do SGML, que por sua vez é o pai de todo mundo (XML, HTML, WML, etc.)

A arquitetura da sistema que possibilita que o dispositivo sem fio (comumente um celular) se conecte com a Internet, em si, é muito simples. Basicamente o dispositivo sem fio estabelece um circuito de troca de dados (CSD- Circuit Switch Data) junto ao hardware da operadora (na verdade, o celular, no caso, liga para um modem e estabelece uma linha de dados e não de voz). Após isso, o dispositivo está pronto para fazer requisições à rede, entretanto ele não faz essa requisição diretamente, ele faz isso através de um elemento que desempenhará o papel de proxy de sua conexão. Esta entidade, geralmente um simples computador, é conhecido com WAP Gateway e tem a função de fazer as requisições HTTP na Internet pelo celular.

 



O WAP Gateway, quando recebe da URL consultada, o conteúdo pedido pelo celular, faz uma verificação de sintaxe no código WML recebido, verificando se não está mal formatado e se seu tamanho não ultrapassa a capacidade suportada pelo celular. Depois compila tal código, substituindo as tag's do WML por códigos binários que ocupam menos espaços, otimizando assim a banda de passagem, e enfim, remete o código compilado (chamado comumente de "digest") para o celular a fim de que ele seja renderizado e/ou executado pelo microbrowser.

Aplicação WAP

A aplicação WAP consiste então, num servidor de aplicação e um cliente wireless que faz 'downloads', através de um gateway, do servidor para o cliente de dados para exibição e de scripts para a execução. Semelhante ao sistema WEB na Internet. A plataforma WAP prove padrões para a consistência entres 'browsers' e 'script interpreters'. O Microbrowser é muito similar ao da WEB e pode manipular conteúdos descritos na especificação do WML (Wireless Markup Language).

O WMLScript Interpreter, presente no MicroBrowser, permite que trechos de códigos sejam executados no dispositivo sem fio. Também estende um pouco a implementação de scripts permitindo a implementação de conjuntos de bibliotecas que permitem acesso a serviços do dispositivo wirelesss. Tanto WML como o WMLScript foram especificamente projetados para uso com dispositivos sem fio, com pequena banda de passagem de rede e ambos são compilados em códigos binários para otimizar a eficiência de transmissão por microondas entre as estações e os dispositivos sem fio.

As etapas para a realização da busca por uma URL de um dispositivo sem fio na arquitetura WAP podem ser vistas no gráfico abaixo:

 

 


  1. Usuário pressiona uma tecla do aparelho celular para que ele faça a requisição de uma URL específica.

  2. O dispositivo então manda a requisição de URL para o WAP Gateway, usando para isso a pilha de protocolos WAP.

  3. O WAP Gateway cria então um HTTP convencional acessando o WEB Server (ou qualquer outro serviço disponível por HTTP) especificado pela URL.

  4. No WEB Server, a requisição HTTP é processada, seja ela um CGI-BIN, um ASP Script, um Java Servlet executando as instruções dadas pela URL.

  5. O WEB Server retorna então um WML, informando no header da responsta que o content-type é 'text/vnd-wap-wml' em vez do habitual 'text/html'. Este código pode ser estático ou gerado dinâmicamente por um script.

  6. O WAP Gateway, recebe a responta, então verifica o header da mesma e o conteúdo WML recebido, compilando-os em um formato binário. Depois disso, cria um resposta WAP e envia de volta ao dispositivo sem fio.

  7. O dispositivo recebe a resposta WAP, faz o parsing no WML mostrando as informações nele discrita, ou enventualmente executando algum WMLScript.

É fácil notar, que diante desta arquitetura, qualquer tecnologia utilizada para construção de aplicações em WEB é facilmente adaptada para a implementações de aplicações WAP, uma vez que a arquitetura Cliente/Servidor naturalmente isola a plataforma do servidor e o WAP Gateway acessa os serviços utilizando o mesmo protocolo HTTP. Do ponto de vista estrutural a diferença está no conteúdo que o WEB Server fornecerá, que agora, em vez de HTML será WML.

Entretanto a transição WEB para WAP não é trivial. Uma aplicação WAP/WML é "ordens de grandeza" mais limitada (em todos os aspectos) do que uma aplicação WEB/HTML. A limitação do tamanho do conteúdo, da velocidade, da interface de entrada de dados (geralmente um teclado telefônico!) e da interface de saída (uma tela LCD de 3 x 2 cm!) forçam que tais aplicações sejam muito bem estudadas e trabalhadas para permitir que o usuário interaja sem grandes dificuldades. Apesar dessas limitações o poder de acessar informações de qualquer lugar e em qualquer momento torna uma aplicação WAP poderosíssima para domínios onde se faz presente tal necessidade.


Referências
Autor
(*) O autor, Giuliano Sposito (gsposito@compera.com.br) é Engenheiro de Computação formado pela Unicamp e trabalha como Gerente de Projetos e Tecnologias na GowapCorp com desenvolvimento de aplicações wireless e integração de sistemas, envolvendo as várias tecnologias correntes como WEB, WAP, SMS, Wifi, XML e protocolos de telecomunicação.

 

Home WirelessBR                              Próxima