Desenvolvimento de aplicações WAP - Parte 1 - Arquitetura WAP


Autor/fonte: Giuliano Sposito
Tags: [ introdução ]



Digg del.icio.us

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;
  • Dezembro de 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;
  • Dezembro de 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.

Imagem representativa da comunicação WAP:

http://www.htmlstaff.org/img/post/23334_01.jpg

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:

http://www.htmlstaff.org/img/post/23334_02.jpg

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.

http://www.htmlstaff.org/img/post/23334_03.jpg

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:

http://www.htmlstaff.org/img/post/23334_04.jpg

  • Usuário pressiona uma tecla do aparelho celular para que ele faça a requisição de uma URL específica;
  • O dispositivo então manda a requisição de URL para o WAP Gateway, usando para isso a pilha de protocolos WAP;
  • 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;
  • 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;
  • 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;
  • 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;
  • 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:

WAP Forum - Consórcio padronizador WAP




Enviado por xKuRt em 28/01/2009 às 11:50


Itens relacionados

Desenvolvimento de aplicações WAP - Parte 2 - Wireless Markup Language
Criando uma página WML para WAP

Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Sexta, 19 de Dezembro de 2014




Leitura recomendada

Shell Script Profissional

Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Princípios de Sistemas de Informação: Tradução da 9º Edição Norte-Americana


Capa do livro
Algoritmos Estruturados


Capa do livro
Fundamentos de Transferência de Calor e de Massa





Hostnet

IMD