ASP y WAP

La aplicaci�n de ejemplo permite al usuario realizar el mantenimiento y la consulta de su cartera de valores de bolsa. Para ello se utiliza una base de datos (formato access .mdb) en la que se contemplan las tablas con las relaciones siguientes.

Relaciones BD

Entre las operaciones disponibles en la aplicaci�n figuran la consulta de los valores de la cartera del usuario, as� como la compra y venta de valores.

Una caracter�stica com�n en todas las p�ginas es la identificaci�n del tipo de informaci�n que el servidor web est� enviando en este caso al servidor WAP. ASP permite esta identificaci�n mediante la instrucci�n

<%  Response.ContentType = "text/vnd.wap.wml" %>

Deber�n considerarse funcionalidades no se han tratado como controles de los formularios de entrada de datos o errores de acceso a la base de datos.

.�Acceso y autentificaci�n

En la p�gina inicial del sistema (default.asp) se visualizan los campos de login o identificaci�n del usuario (en este caso el dni y un password).

Autentificación
P�gina: default.asp
<%
 Response.ContentType = "text/vnd.wap.wml"
' se inicializa la variable de sesi�n con un valor cualquiera
' para controlar el fin de sesion
session("DNI")="acme" %>

<?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="login" title="M�vil-bank">
<p>
        Bienvenido<br/>
        DNI: <input type="text" name="dni" maxlength="8"/>
        Password:<input type="password" name="password" maxlength="8"/>
	<do type="accept" label="Aceptar">
		<go method="post" href="procesarlogin.asp"/>
	</do>
</p>
</card>
</wml>

Cuando el usuario haya introducido su identificaci�n se envia al servidor la petici�n de la p�gina "procesarlogin.asp" que comprobar� la existencia del usuario en la BD. En caso afirmativo se muestra el enlace a la p�gina del men� y en caso contrario se muestra un mensaje de usuario no autorizado.

P�gina: Procesar login
<% Response.buffer = true %>         
<%Response.ContentType = "text/vnd.wap.wml" %>         
<!--#include file="bd_init.asp" -->
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<%
    Dim strSQL
    Dim cnn1
    Dim rs   
    Call CrearConexion()   
    strSQL = "SELECT * FROM Cliente WHERE IdCliente='" & request.form("DNI")
             & "' AND password='" & request.form("password") & "'"
    rs.Open strSQL, cnn1
    if rs.EOF then %>
        <card id="login" title="M�vil-bank">
        <p>
        	Datos incorrectos. Vu�lvelo a intentar <br/>
        	<do type="prev" name="anterior" label="Anterior">
        		<prev/>
        	</do>
        </p>
        </card>
<%   else   %>
        <card id="home" title="M�vil-bank">
        <p> 
        Hola <%=rs("nombre")%> !
        <anchor>
        	Men� <go href="menu.asp"/>
        </anchor>
          </p>
        </card>
<%
        ' Inicializaci�n de las variables de sesi�n
        Session("DNI") = request.form("DNI")
    end if
    rs.Close
    cnn1.Close
%>
</wml>

.�Include de conexi�n a BD y mantenimiento de la sesi�n

En la p�gina anterior as� como en todas las siguientes, se utiliza la t�cnica de incluir el archivo bd_init.asp que verifica la validez de la sesi�n e inicializa los objetos de acceso a base de datos que utilizan las p�ginas (connection y recordset).

En caso de que la sesi�n haya finalizado (t�picamente por inactividad del cliente) se redirecciona de nuevo la p�gina de inicio de la aplicaci�n "default.asp"

Se utiliza el acceso mediante dsn por lo que deber� crearse el correspondiente origen de datos ODBC de tipo Access a la base de datos bolsa.mdb con el nombre "wapbolsa".

ODBC
P�gina: db_init.asp
<%
Sub CrearConexion
    Dim strCnn

    ' Comprobar que la sesi�n est� activa
    if session("DNI")= "" then
        response.clear
        response.redirect "default.asp"
        response.end
    end if

    ' Abrir la conexi�n
    strCnn = "DSN=wapBolsa"
    Set cnn1 = Server.CreateObject("ADODB.Connection")
    cnn1.Open strCnn
    
    'Inicializaci�n del objeto Recordset
    Set rs = Server.CreateObject("ADODB.Recordset") 
End sub
%>

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO