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:




  

Quarta, 04 de Março de 2015




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Questões Comentadas de Informática para Concurso Público na Área de Tecnologia da Informação


Capa do livro
Metodologia de Pesquisa para Ciência da Computação


Capa do livro
Python e Django - Desenvolvimento Ágil de Aplicações Web





Hostnet

IMD