WAP se basa en el uso de protocolos y conceptos de Internet aplicados para el acceso a informaci�n y servicios mediante el tel�fono m�vil.
La especificaci�n en la que se basa la tecnolog�a WAP est� desarrollada por el Forum Wap (http://www.wapforum.com) en la que forman parte las empresas m�s representativas de la telefon�a m�vil.
De manera similar a la arquitectura de capas en la que se basan las redes de ordenadores, WAP utiliza la especificaci�n denominada WML (Wireless Markup Language) para enviar y recibir los datos entre el servidor y el m�vil como si se tratase del protocolo HTTP entre el servidor y el navegador de Internet. Siguiendo con la equivalencia con Internet, el conocido JavaScript, se denomina en telefon�a m�vil WMLScript, y permitir� realizar validaci�n de datos y otros procesos del cliente mediante un sencillo lenguaje de script.
En la siguiente captura (extra�da de la Gu�a de desarrollo de Nokia Wap Toolkit) se detalla la equivalencia de los protocolos WAP y de Internet.

Modelo de operaci�n WAP (extra�do de la gu�a de desarrollo de Nokia Wap Toolkit)

- Petici�n de una URL
- El dispositivo (m�vil) env�a una URL a un proxy WAP mediante el protocolo WAP
- El proxy WAP convierte la URL en formato HTTP que es enviada al servidor Web
- La petici�n HTTP es procesada por el servidor WEB. Puede tratarse de una petici�n est�tica o puede intervenir un CGI, JSP (Java Server Pages) o ASP.
- El servidor Web devuelve una pagina WML con la cabecera HTTP
- El proxy WAP recibe la p�gina, y tras su verificaci�n la convierte a formato binario que ser� enviado al m�vil.
- El m�vil recibe la respuesta en formato WAP. Procesa el WML que contiene mostrando el primero de los elementos <card>
�Emuladores WAP
El ejemplo desarrollado en este tutorial ha sido probados con el emulador proporcionado por Nokia. Puede descargar este emulador en la direcci�n de Nokia http://www.nokia.com
Para su ejecuci�n necesitar� Java 1.2 disponible en el site de Sun http://www.javasoft.com

Con el kit de desarrollo de Nokia, podr� crear sus propios archivos wml, probarlos mediante un completo entorno de desarrollo que incluye el editor de texto, compilador WML y WMLScript, visualizador de debug como variables y mensajes e informaci�n de la sesi�n. Adem�s cuenta con un emulador gr�fico de un tel�fono m�vil wap con el que podr� interactuar con los archivos wml generados.

En la captura se visualiza el emulador gr�fico de tel�fono m�vil. Con los botones centrales, puede realizar desplazamiento (scroll) vertical mientras que los botones laterales permiten realizar la acci�n que se visualiza en la parte inferior del visor.
�WML
El lenguaje WML est� basado en XML, como descriptores de los elementos se utilizan tags (que contienen atributos) que deben cerrarse para tratarse de un documento sint�cticamente correcto. Se trata de un lenguaje case sensitive y los atributos deben estar en min�sculas.
Por ejemplo:
<tag atributo1="valor1"> contenido </tag> <tag/> elemento vac�o (sin contenido)
Como cualquier documento XML necesita un archivo DTD que determine las reglas de dise�o del documento una informaci�n que se indica en la l�nea:
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
Conozca el contenido del documento wml_1.1.xml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<!-- Ejemplo de documento WML -->
<wml>
<template>
<do type="prev" name="anterior" label="Anterior">
<prev/>
</do>
</template>
<card id="login" title="M�vil-bank">
<p>
<img src="logoasp.wbmp" alt="logo"/>
Bienvenido al primer banco que opera por el m�vil
DNI: <input type="text" name="dni" maxlength="8"/>
<do type="accept" label="Aceptar">
<go href="#inicio"/>
</do>
<!-- Sobreescribir el elemento DO/PREV del template
para evitar esta acci�n en el primer desk -->
<do type="prev" name="anterior">
<noop/>
</do>
</p>
</card>
<card id="inicio" title="M�vil-bank">
<p>
<do type="accept" label="Consultar saldo">
<go href="#opConsulta"/>
</do>
<do type="accept" label="Transferencia">
<go href="#opTransferencia"/>
</do>
Seleccione la operaci�n que desea realizar
</p>
</card>
<card id="opConsulta" title="Consulta de saldo">
<p align="left">
Seleccione su <b> cuenta corriente</b>:
<select title="Cuenta Cte" name="idCta" iname="iidCta">
<option value='cta1'>2010-8893</option>
<option value='cta2'>2019-2232</option>
<option value='cta3'>2321-1221</option>
</select>
</p>
<p>
<do type="accept" label="Aceptar">
<go method="get" href="/asps/doQuery"/>
</do>
</p>
</card>
<card id="opTransferencia" title="Transferencia" ontimer="#inicio">
<timer value="500"/>
<p>
Bienvenido a la p�gina de <b>transferencias</b><br/>
<anchor>
Volver <go href="#inicio"/>
</anchor>
</p>
</card>
</wml>
Las siguientes im�genes muestran algunos ejemplos del documento WML anterior
� |
� |
| Card inicio | Men� de Opciones |
� |
� |
| Card de la operaci�n consulta | Card de la operaci�n Transferencia |