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 |