• Nenhum resultado encontrado

Integração de uma aplicação WAP com o PHP

N/A
N/A
Protected

Academic year: 2021

Share "Integração de uma aplicação WAP com o PHP"

Copied!
10
0
0

Texto

(1)

Integração de uma aplicação WAP com o PHP

Jacques Schreiber1, Janice Inês Deters2

1– Universidade de Santa Cruz do Sul (UNISC) - Departamento de Informática CEP: 96815-900 – Santa Cruz do Sul – RS- Brazil

2 Universidade Federal de Santa Catarina (UFSC) – LSC – Laboratório de sistemas de Conhecimento

Caixa Postal 15.064 – 91.501-970 – Florianópolis – SC – Brazil jacques@unisc.br, janice@inf.ufsc.br

Abstract. In this article a site developed in WAP is presented. This site allow

that an user, using a cellular telephone with support to this technology, has access a page web. This page web makes possible the user to verify the available flights, allowing to select the starting point, destination and company. After one searches in the database, all the flights that if to fit in the parameters are presented in the screen of the cellular one.

Resumo. Neste artigo é apresentado um site desenvolvido em WAP que

permite a um usuário, utilizando um telefone celular com suporte a esta tecnologia, acesse uma página web. Esta página web possibilita o usuário verificar os voôs disponíveis, permitindo selecionar o ponto de partida, destino e companhia aérea. Após uma pesquisa na base de dados, todos os vôos que se enquadrarem nos parâmetros são apresentados na tela do celular.

1. Introdução

O WAP (Wireless Application Protocol) é uma especificação aberta e global, que visa permitir aos usuários de dispositivos móveis, sem fio, acessem facilmente informações e serviços de forma instantânea. Esta tecnologia possibilita o acesso à Internet através de aparelhos de telefonia celular. O WAP está posicionado na convergência de duas tecnologias de rede que estão evoluindo muito rapidamente: a transmissão de dados sem fio e a Internet (Arehart, 2001).

A grande maioria das tecnologias desenvolvidas para a Internet, entretanto, são destinadas a computadores de mesa, com alto poder de processamento, grande quantidade de memória, com média para alta largura de banda, em redes geralmente confiáveis. Por isso, a utilização em dispositivos sem fio obrigou a criação de um padrão que considerasse as seguintes características de ambientes móveis (Nokia, 2002):

• Menor poder de processamento • Pouca memória (ROM e RAM)

(2)

• Consumo restrito de energia • Telas pequenas

• Diferentes dispositivos de entrada de dados (como o teclado do telefone celular, por exemplo)

• Pequena largura de banda

• Maior latência na transmissão de dados • Pouca estabilidade entre e durante a conexão

Neste artigo, é apresentada uma aplicação WAP. Esta aplicação Web permite que o usuário acesse um site WAP através do telefone celular. Este site apresenta no display do celular as cidades e respectivas companhias aéreas que as interligam. O aplicativo possibilita escolher um ponto de partida, o destino e a companhia aérea. Ao efetuar esta operação, uma página web é gerada dinamicamente contendo os horários dos vôos entre as cidades escolhidas. Esta funcionalidade é possível devido ao método dinâmico de criação da página em resposta a solicitação do usuário.

O artigo é organizado em seções, a segunda seção, ressalta e explica as diferenças entre um site estático e um site dinâmico. A terceira seção, apresenta mais detalhadamente a tecnologia WAP/WML. Esta tecnologia permitiu a construção do lado cliente da aplicação considerada. A quarta seção contextualiza a aplicação, explica o projeto e apresenta os códigos implementados. Ao final, conclusões e trabalhos futuros são discutidos.

2. Sites Web: Estático X Dinâmico

Há uma diferença sutil entre uma aplicação web estática e uma dinâmica. Uma aplicação Web dinâmica é um Web site onde as entradas do usuário (navegação pelo

site e entrada de dados) afetam o conteúdo da página resultante. Na essência, uma

aplicação dinâmica usa um Web site como o front end para uma aplicação mais típica. A arquitetura para um Web site contêm três componentes principais: um servidor Web, uma conexão de rede e um ou mais browsers cliente (figura 1). O servidor web distribui as páginas de informações formatadas para os clientes que as solicitaram.

A informação disponibilizada em um Web site é tipicamente formatada e armazenada em arquivos. Clientes solicitam os arquivos pelo nome, os quais são denominados de páginas e representam o conteúdo de um Web site. Quando o conteúdo de uma página estiver armazenado em um ou mais arquivos temos uma aplicação Web estática, porém em algumas situações, o conteúdo de uma página não é necessariamente armazenada em arquivos. Ele pode ser montado em tempo de execução a partir de informações armazenadas em uma base de dados (ou outro repositório de informação) e por instruções formatadas em um arquivo. O servidor Web interpreta e executa os

scripts da página (veja figura 2). Web sites que empregam essa estratégia são chamados sites dinâmicos.

(3)

envia distribui requisita Página Web Browser Cliente Servidor Web

Figura 1 - Arquitetura de aplicação básica Web

envia Acessa e recupera dados requisição monta página executa Scripts do servidor Browser Servidor Web Banco de Dados

Figura 2 – Criação dinâmica de uma página

Web sites dinâmicos oferecem certas vantagens para projetistas do Web site. Eles facilitam a manutenção do conteúdo atualizado e sincronizado com os dados de uma base de dados. Neste contexto, o arquivo pode ser um arquivo texto com scripts interpretado pelo servidor Web, ou um arquivo binário compilado que é executado pelo servidor Web. Em ambos os casos o código na “página” referencia e utiliza recursos do servidor, tais como: base de dados, serviços de email, serviços de arquivo, etc.

3. A tecnologia WAP/WML

As origens do WAP são bem interessantes, já que elas foram criadas na premissa da cooperação entre as indústrias. Sem dúvida esta cooperação foi um dos maiores propelentes da grande aceitação do WAP, permitindo que os padrões fossem rapidamente desenvolvidos e integrados a muitos produtos já existentes de muitas das empresas responsáveis pelo seu desenvolvimento. Este padrão aberto também levou ao aparecimento de muitas iniciativas focadas no desenvolvimento e marketing de suas aplicações de nicho (Nokia, 2002).

Como mais companhias participaram, começando a desenvolver tecnologias similares, tornou-se óbvio que a cooperação entre as várias organizações era o único caminho para que qualquer companhia tivesse lucros deste projeto. Após um tempo de intenso desenvolvimento e negociações, esta iniciativa cooperativa culminou na formação do WAP Forum. O WAP Forum é uma associação de várias indústrias líderes de mercado, como a Ericsson, Nokia e Motorola, que se uniram para formalizar uma tecnologia de acesso a serviços e informações através de dispositivos móveis, como telefone celulares. O padrão estabelecido ficou conhecido como WAP - Wireless Application Protocol.

Em resumo, WAP provê um método para comunicação através de redes sem fio rapidamente, com segurança e eficiência. A comunicação pode tomar lugar

(4)

utilizando-se, mas não restrito, a dispositivos telefones celulares, pagers, rádios e PDA’s. Estas comunicações não estão limitadas a páginas estáticas como a Internet fora antes, mas o WAP oferece a oportunidade de integrar bancos de dados, conteúdo dinâmico, comércio eletrônico trafegando via um dispositivo WAP

3.1. Formas de um dispositivo WAP se conectar à Internet

Quando uma conexão é solicitada em um dispositivo WAP, um acesso dial-up para o provedor é iniciada, via PPP, da mesma forma que ocorre com usuários de Internet via computadores de mesa.

Na maioria dos casos, configurações dial-up pré-definidas pela operadora são utilizadas. Entretanto, a maioria dos dispositivos WAP permitirão a utilização de configurações próprias do usuário, o que significa que corporações que possuem uma Intranet com serviços WAP poderão conectar-se diretamente com sua rede local.

Através do protocolo PPP, após a autenticação do nome de usuário e senha, o dispositivo WAP recebe um número IP, e está, a partir daí, possibilidado a acessar serviços da Internet ou intranet, através da requisição via WAP Gateway.

No Brasil, quatro fabricantes de celulares estão no mercado de internet móvel no Brasil: Motorola, Nokia, Ericsson e Sansung.

3.3 Desenvolvimento de sites WAP

Os sites WAP são constituídos, basicamente, de páginas WML. Para criar sites WAP, o desenvolvedor deve aprender a utilizar a linguagem WML, trabalhar com imagens WBMP e construir scripts em WMLScript. Para construção de sites mais interativos, entretanto, é interessante trabalhar com páginas WML dinâmicas, ou seja, geradas por scritps executados no servidor, como ASP, PHP ou Servelts Java (Converse, 2001). 3.4 A linguagem WML

O WML (Wireless Markup Language) é a linguagem de marcação utilizada para exibir documentos em dispositivos compatíveis com WAP. O WML está para o WAP assim como o HTML está para a Web. O WML é baseado em XML, e, por isso, é muito rigoroso em relação a sua formatação. Por ser destinado a dispositivos móveis, que possuem grandes limitações de exibição e entrada de dados, o WML é muito restrito, sendo composto basicamente por elementos de exibição de texto, imagens simples (WBMP) e formulários de dados (Arehart, 2001).

A programação em WML é parecida com o HTML. Todo elemento é

identificado por dois comandos, o abre <tag> e o fecha </tag>. A estrutura das páginas é a seguinte: <wml> <head> <template> <card> ... </card> </wml>

(5)

Nas áreas <head> e <template> são feitas as configurações gerais da página. Já em <card> são colocados elementos da página, seria o equivalente a área <body> da programação HTML.

Outra informação que faz parte de todo o código WML é o cabeçalho de identificação. Todo código WAP é considerado XML(eXtensible Markup Language), por isso no começo de todo código WML é colocado um cabeçalho parecido com este:

<?xml version=”1.0”?> <!DOCTYPE wml>

Os exemplos acima apenas demonstram algumas características de programação em WML, um tutorial está fora do escopo deste artigo. Maiores detalhes poderão ser obtidos em sites especializados no assunto(www.developer.phone.com).

4. A aplicação desenvolvida - “Aeroporto On-Line”

O WAP Site desenvolvido consiste de uma aplicação com a finalidade de apresentar horários de vôos no display de um celular. Este celular deve ter a capacidade tecnológica de acessar sites WAP.

A funcionalidade do site é bastante simples. O usuário acessa o site, escolhe um aeroporto de origem, um de destino e a companhia aérea e, a partir desta escolha, uma consulta a base de dados é efetuada. O resultado é uma lista dos vôos e respectivos horários mostrados no display do celular.

Sistematicamente, os passos são os seguintes:

1- O usuário acessa o site. O sistema apresenta uma página WAP com os aeroportos de origem

2- O usuário escolhe um aeroporto de origem, seu destino e companhia aérea de sua preferência, envia esta informação ao servidor

3- No servidor, um script, utiliza as informações fornecidas como parâmetro de seleção em uma tabela do Access

4- Os registros obtidos (vôos e horários) são utilizados para montar dinamicamente uma página WAP

5- Esta página é enviada ao microbrowser do usuário que então visualiza os vôos e horários de partida.

A diagrama na figura 3 apresenta esta funcionalidade (os números indicam a ordem):

(6)

Figura 3. Diagrama apresentando a sequencia de passos(notação não oficial) Na prática, esta aplicação foi desenvolvida utilizando um emulador de micro-browser que lê e carrega, a partir do servidor web Apache, uma página WML. Esta página possui um formulário(semelhante a um form do HTML) que permite a escolha de um cinema. Veja o código da aplicação desenvolvida:

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="Lazer" title="Aeroporto On-line"> <p>

<small><b>Ponto de partida </b></small><br/> <select name="org" title="Origem" >

<option value="Porto Alegre">Porto Alegre</option> <option

value="Florianopolis">Florianopolis</option>

<option value="Sao Paulo">Sao Paulo</option> <option value="Recife">Recife</option>

<option value="Curitiba">Curitiba</option> </select>

<br/><br/>

<do type="accept" label="Destino"> <go href="#Destino"/>

</do> </p> </card>

<card id="Destino" title="Aeroporto On-line"> <p>

<b><small> Selecione o destino</small></b><br/> <select name="des" title="Destino" >

<option value="Campinas">Campinas</option> <option

(7)

<option value="Sao Paulo">Sao Paulo</option> <option value="Recife">Recife</option>

<option value="Curitiba">Curitiba</option> <option value="Rio de Janeiro">Rio de Janeiro</option> <option value="Belo Horizonte">Belo Horizonte</option> <option value="Salvador">Salvador</option> </select>

<br/><br/>

<do type="accept" label="Companhia"> <go href="#Companhia"/>

</do> </p> </card>

<card id="Companhia" title="Companhias Aereas"> <p>

<b><small>Selecione a companhia aerea</small></b><br/>

<select name="com" title="Companhia" > <option value="Varig">Varig</option> <option value="Tam">Tam</option> <option value="Vasp">Vasp</option> </select>

<br/><br/>

<do type="accept" label="Horarios"> <go href="wml3.php3" method="post">

<postfield name="Origem" value="$(org)"/>

*

<postfield name="Destino" value="$(des)"/>

<postfield name="Companhia" value="$(com)"/> </go>

</do> </p> </card>

</wml>

Pode-se observar na linha de código WML aninhado com o caracter *, que, quando o ponto de partida, destino e companhia aérea forem selecionados e esta escolha for enviada para o servidor, um script chamado wml3.php3 será executado. As variáveis $Origem, $Destino e $Companhia conterão os parâmetros necessários para a seleção dos vôos.

Já no lado servidor, o script wml3.php3 é executado, conforme abaixo:

<?

header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>\n");

echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");

?>

A)

<wml>

<card id="result" title="Aeroporto On-Line"> <p>

<?

$sql_sel_hor = "SELECT voo.cod_voo, voo.companhia, voo.[hora-saida], voo.[hora-chegada] FROM voo WHERE (((voo.origem)='$Origem') AND ((voo.destino)='$Destino') AND ((voo.companhia)='$Companhia'))";

(8)

$SITE_DSN = "odbc_voo"; $db = odbc_connect($SITE_DSN,"","",SQL_CUR_DEFAULT); B) if (!$db){

echo(" Problema na consulta "); echo("<br>");

echo(" Contacte a sua operadora ");

$erro = true; }else{ $qhorarios = odbc_exec($db,$sql_sel_hor); if (!$qhorarios){ echo("Erro na consulta.<br>"); $erro = true; } } ?> <? if (!$erro){ echo("<small>"); echo("Companhia : "); echo("<b>");echo($Companhia);echo("</b>"); echo("<br/>"); echo(" Voo Partida Chegada");echo("<br/>");

echo("---"); echo("</small>"); echo("<br/>"); odbc_fetch_row($qhorarios,1); do{ echo("<small>"); echo(odbc_result($qhorarios,'cod_voo')."...."); $hs = substr(odbc_result($qhorarios,'hora-saida'), -8); $hsaida = substr($hs, 0, 5); echo($hsaida);echo("..."); $hc = substr(odbc_result($qhorarios,'horachegada'), -8); $hchegada = substr($hc, 0, 5); echo($hchegada); echo("<br/>"); echo("</small>"); }while(odbc_fetch_row($qhorarios)); odbc_close($db); } ?> </p> C) </card> </wml>

Para fins didáticos, neste artigo, o script foi dividido em três seções descritas a seguir: (a) a diretiva header tem a função de informar que o conteúdo gerado a partir deste ponto é conteúdo WML. Esta funcionalidade é requerida uma vez que o código padrão gerado pelo PHP é HTML e não WML (Wireless, 2003); (b) nesta seção, o script monta o comando de select, conecta-se(via ODBC) na base de dados e executa o comando de seleção; (c) a seção final do script monta dinamicamente a página de resposta.

5.1 O WAP Site – interface

Nesta sub-seção é apresentado o site WAP sob a perspectiva do usuário, ou seja, apenas o layout e funcionalidade do site sob “ponto de vista” do usuário é apresentada.

(9)

O site WAP apresenta-se conforme a Figura 4. Diante da lista das cidades de origem, o usuário utilizando o botão de navegação do celular, deverá escolher uma. O mesmo procedimento é efetuado para determinar a cidade de destino e a companhia aérea. O botão com a função de “Ok” é pressionado. Ocorre então uma consulta a base de dados e uma página com os respectivos vôos e horários aparece no display do celular, conforme é apresentado na figura 5.

Figura 4 – A interface do WAP dinamicamente Site Figura 5 –Pág. Wap gerada Na figura 5, pode-se observar a página WAP com o vôo escolhido, a hora de partida e a hora de chegada ao destino.

O usuário, utilizando os botões de navegação do celular, poderá selecionar outros destinos e/ou origens e então visualizar os vôos disponíveis.

5. Conclusão

Este artigo apresentou um site WAP que possibilita um usuário através do seu telefone celular, selecionar um vôo e verificar os horários de partida e chegada respectivamente.

O protótipo foi implementado utilizando a atual tecnologia WAP/WML no lado cliente e a linguagem PHP e o banco de dados Access, do lado servidor.

As aplicações WAP nos conduz a reflexões sobre o design de sites, pois com uma área reduzida para apresentar informações, o projeto e layout certamente deverão ser melhor elaborados. Atualmente, por exemplo, um único formato de figuras é permitido: o formato WBMP. Este formato suporta apenas figuras monocromáticas e portanto um tratamento específico para essas imagens deverá ser feito.

Possivelmente, com a disseminação desta nova tecnologia, alternativas viáveis para o design desta categoria de sites serão produzidas. Além desse fato, a evolução da tecnologia WAP provavelmente incluirá em futuras versões, novas possibilidades para o projeto estético de páginas WAP.

(10)

6. Referências

Arehart, Charles et al. (2001) “Professional WAP”, Edited by Makron Books, NYC, USA.

Converse, Tim. (2001) “PHP4: a bíblia, Editora Campus, Rio de Janeiro.

Nokia (2002) “Nokia ToolKit ”, Disponível em: http://www.nokia.com, Acesso em: 23 de Agosto 2002.

Wireless (2003) “Adding Client-Side Logic To WAP Using WMLScript”. Disponível em: http://www.wirelessdevnet.com/channels/wap/training/wmlscript.html , Acesso em 20 de junho de 2003

Referências

Documentos relacionados

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

O Plano de Manutenção dos Monumentos é uma ferramenta de gestão e de conservação preventiva que tem os seguintes objetivos: melhorar a gestão de recursos (reduzindo custos a

O termo extrusão do núcleo pulposo aguda e não compressiva (Enpanc) é usado aqui, pois descreve as principais características da doença e ajuda a

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as