Site hosted by Angelfire.com: Build your free website today!
   

ASP (Active Server Pages)

DEFINICIÓN:

ASP (Active Server Pages) significa que el servidor procesa el código de la página antes de servirla al navegador.

Las páginas asp (*.asp) son páginas html en las que hemos introducido código, que al ser procesado por el servidor, dan como resultado una página html convencional, pero cuyos datos, textos, formatos y apariencia han sido personalizados antes de ser visualizada.

Este código que procesa el servidor nos permite construir páginas HTML de una manera dinámica, en función de parámetros que le pasamos al servidor (botones, listas desplegables, campos de texto...), en función de datos del propio servidor (Bases de datos), etc..

ASP responden al nombre Active Server Pages, que en castellano significa Páginas de Servidor Activas.

Gracias a esta tecnología creada por Microsoft, el usuario de Internet puede recibir páginas generadas dinámicamente en el servidor. 

Agrupadas en la categoría de lenguajes de script (guión) las páginas ASP contienen además de los tags de HTML habituales en las páginas Web, fragmentos de código que el servidor resolverá antes de enviarlo al navegador.
 

VENTAJAS:


- Es multiplataforma, no depende del hardware que estemos utilizando.

- Las consultas y actualizaciones de datos se realizan en tiempo real.

- Las modificaciones de los formularios de búsqueda, así como las páginas de respuesta, son actualizados y modificados en el servidor por la persona encargada del mantenimiento, repercutiendo de manera instantánea a cualquier cliente que se conecte a partir de ese momento.

- Se puede mantener la base de datos desde páginas web de acceso restringido, no siendo necesario estar cambiando el archivo de base de datos.
 

APLICACIONES DE LAS PÁGINAS ASP


La facilidad para conectar con una Base de datos y extraer datos de la misma dinámicamente visualizándolos en el navegador es la utilidad más practicada de las páginas ASP.

Puede conectarse a gestores de Base de datos SQL, Access, Oracle, o cualquier otro motor que disponga de driver ODBC.

Comercio electrónico, portales, sedes personalizables y todas aquellas aplicaciones en las que el protagonista es la información dinámica.
 

Requisitos


Para procesar una página ASP no existe ninguna restricción especial en el lado del cliente, por lo que es indiferente la utilización del navegador Internet Explorer o Netscape Comunicator sin embargo, en el lado del servidor, es necesario un servidor Web de Microsoft. Se utiliza el archivo ASP.DLL para interpretar el código, siendo el servidor más extendido Internet Information Server (más conocido como IIS). 

Estos son los servidores de contenidos ASP posibles para plataformas Microsoft

Internet Information Server 3.0 o superior (para sistema operativo NT) 

Personal Web Server (para Windows 95 y Windows 98) 

Para plataformas Unix es necesario añadir un software que actue de intérprete siendo algunos de los más conocidos:

  • Chilisoft 
  • Instant ASP 

MARCAS DE CÓDIGO ASP


Para identificar las marcas de código ASP se utilizan los tags <% (como marca de inicio del código) y %> (como marca final del código).

Ejemplo de código ASP

<% Response.write ("hola") %>
 

COMPORTAMIENTO DEL PROCESADOR ASP


Escriba la siguiente página ASP en cualquier editor de texto. Recuerde que debe grabarla con extensión '.asp' y tener un servidor IIS o Personal Web Server (por ejemplo). Introduzca la dirección de la página en el campo 'dirección' de su navegador.

Tenga en cuenta que no debe introducir la dirección local del modo (c:\mis documentos\mipagina.asp) sino que es necesario introducir el prejifo 'http' para que el servidor pre-procese la página antes de enviarla al navegador, por ejemplo: http://nombrePc/mipagina.asp
 

Mi primera página ASP


<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<BODY>
<%
  Dim nombre
  nombre = "Alex Morales"
%>
<h1>Mi nombre es: <b><%=nombre%></b></h1>
</BODY>
</HTML>

Recuerda que el texto situado entre los simbolos <% y %> es procesado por el parser ASP.DLL servidor enviando al cliente solo el código resultante. De este modo, cuando desde el navegador se solicite la opción "Ver código fuente", se visualizará el siguiente código:
 
 

Codigo fuente visualizable en el navegador del cliente

<HTML>
<BODY>
<h1>Mi nombre es: <b>Alex Morales</b></h1>
</BODY>
</HTML>
 

CONTENIDO DE UNA PÁGINA ASP


Además del código HTML habitual para las páginas Web, el autor de las páginas ASP puede escoger entre dos lenguajes de script para codificar los contenidos dinámicos. Estos lenguajes son VBScript y JScript, el primero de ellos es el más utilizado y tiene su origen en el conocido lenguaje Visual Basic. Por el contrario JScript se parece a JavaScript.

<%@ LANGUAGE="VBSCRIPT" %> 

<%@ LANGUAGE="JSCRIPT" %> 
 

TRATAMIENTO DE LOS COMENTARIOS


Para especificar un comentario en un página ASP debe introducir una comilla simple 

Ejemplo:

<%

'Esta linea no será procesada por tratarse de un comentario

%> 
 

TRATAMIENTO DE LAS VARIABLES


Todas las variables de una páginas ASP son de tipo Variant por lo que no debe especificarse entre Integer, string u otro tipo de objeto. 

Su declaración es opcional aunque su práctica es una buena costumbre ya que evita errores y facilita la lectura del código. En la declaración se utiliza la palabra reservada "Dim" pudiéndose anidar varias declaraciones mediante el separador ",". 

Para forzar a que se declaren todas las variables de una página debe introducirse el código "Option Explicit"

Ejemplo de creación y asignación de variables

<%@ LANGUAGE="VBSCRIPT" %> 

<%
Option explicit 
  ' declaración de 3 variables
Dim nombre, fecha_nacimiento, edad
  'asignación de valores
nombre = "paula valdes"
fecha_nacimiento = "16/10/76"
edad = 22
%> 
 

COMPORTAMIENTO DE LOS OBJETOS


Los objetos son programas compilados e instalados en el servidor y que han sido programados para realizar un conjunto de operaciones fácilmente accesibles por otros programas y que reciben el nombre de Métodos.

Debido a que el resultado de procesar una página ASP es una página HTML, el objeto Response es probablemente el más utilizado en las páginas ASP ya que permite la comunicación entre el servidor y el cliente.

Veamos ahora el método Write, mediante el cual enviaremos información al navegador. Entre esta información podremos incluir el valor de las variables y tags html que condicionan el aspecto de la página.

Utilización del objeto Response

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<BODY>

<%
  Dim nombre
  nombre = "paula valdes"
    ' Imprime el nombre de la variable
    ' Concatenar strings utilizando VBSCRIPT
  Response.Write("<h1>Mi nombre es: <b>" & nombre & "</b></h1>")
    ' Imprime la cadena de texto entre comillas. 
    ' El mismo resultado que Response.Write utilizando el 
    ' signo igual
   (="Mi primera página ASP")
%>

</BODY>
</HTML>
 

ORGANIZACIÓN DEL CÓDIGO EN FUNCIONES


Para facilitar la lectura del código en las páginas ASP, obtener rehusabilidad y en definitiva estructurar la aplicación, ASP permite crear funciones y subrutinas (las primeras se distinguen de las segundas porque retornan un valor). Si conoces Visual Basic observarás que el sistema es idéntico en las páginas ASP.

Ejemplo de subrutina

<%@ LANGUAGE="VBSCRIPT" %>

<%
    ' Declaración de la subrutina Sumar
  sub Sumar(valorA, valorB, res)
  res = valorA + valorB
end sub
%>

<HTML>
<BODY>
<% Dim result
    'Llamada a la subrutina Sumar
  Call Sumar 30, 40, c
  Response.write "El resultado de: 30 + 40 es " & c %> 
</BODY>
</HTML>

Ejemplo de Función

<%@ LANGUAGE="VBSCRIPT" %>

<%
    ' Declaración de la Función Sumar
  function Sumar(valorA, valorB)
  Sumar = valorA + valorB
end function
%>

<HTML>

<BODY>
<% Dim result
    'Llamada a la Función Sumar
  Response.write "El resultado de: 30 + 40 es " & Sumar (30,40) %> 
</BODY>
</HTML>
 

REDIRECCIÓN DE UN PAGINA ASP


Para redireccionar la ejecución de una página ASP utilizará el método Redirect proporcionado por el objeto Response.

Esta técnica es útil en aquellas situaciones en las que debe mostrar en el navegador del usuario dos páginas distintas según una condición previa (tipo de usuario, hora del día, versión del navegador, etc.)

Ejemplo

En el siguiente ejemplo se utiliza la sentencia Response.Redirect mi_pagina para interrumpir la ejecución de la página y visualizar en el navegador la pagina identificada en la variable "mi_pagina"

Código de ejemplo de Redirect

<%
  response.buffer = true
  Dim mi_pagina
    'Comparación ficticia para inicializar la variable mi_pagina
  If tipo_usuario = "cliente" Then
    mi_pagina = "clientes.htm"
  Else
    mi_pagina = "inicioNoClientes.htm"
  End If
    ' Llamada al método redirect 
  Response.clear
  Response.Redirect mi_pagina
  Response.End
%>

Se debe tener en cuenta que el procedimiento utilizado por el servidor es enviar al cliente una cabecera HTTP indicando que el objeto ha sido movido. A continuación el navegador recibe en el location la dirección de la nueva página a visualizar (destino de la redirección).

La sentencia response.buffer = true sirve para indicar al servidor que la página debe almacenarse en un buffer (espacio de memoria temporal) y ser enviada al cliente cuando ha finalizado la ejecución de la misma. Este uso, evita que el navegador carge una pagina que será actualizada en unos segundos lo que además resulta molesto para el usuario.
 

ACCESO A BASE DE DATOS


El acceso a bases de datos es uno de los recursos más utilizados en las páginas ASP, la facilidad con la que puede crear un sitio web dinámico queda patente en este taller en el que aprenderá los conceptos básicos sobre conexión a bases de datos.

Las páginas ASP con acceso a datos permiten interactuar con la información de una base de datos ya sea para obtener información y mostrarla al usuario o bien para actualizar su contenido.

Son muchas las aplicaciones de este concepto en los sistemas de información actuales por ejemplo, una empresa que vende sus artículos por Internet debe disponer de páginas en las que se visualicen los datos de sus productos, disponibilidad, precio, etc. y almacenar los pedidos de sus clientes. Al tratarse de información en continua actualización la presencia de una base de datos y su consulta dinámica se hacen indispensables.

Para conectarse a una base de datos, las páginas ASP utilizan la tecnología ADO (ActiveX Data Objects) y pueden accederse a sistemas de gestión de bases de datos comatibles con ODBC (entre otras SQL Server, Access, Informix o Oracle.)

  • Conexión
Pueden utilizarse dos sistemas de conexión a Base de Datos:

-Mediante DSN 

-Sin DSN 
 

DSN


Este sistema consiste en definir un identificador de la conexión mediante el driver ODBC accesible desde el Panel de Control. Posteriormente, desde las páginas ASP, se practica el acceso mediante un string de conexión que incluye el identificador antes mencionado.

Para crear un DSN en Windows, haz clic en el botón Inicio selecciona la opción Panel de Control del menú Configuración. En la ventana del Panel de Control selecciona Fuentes de Datos ODBC y accede a la pestaña DSN de Sistema. Selecciona la base de datos que quieres añadir y define un nombre a la conexión y la localización física de la base de datos
 

Sin DSN


Este sistema requiere almacenar directamente el archivo de la BD (habitualmente de Access) en un directorio del servidor. De este modo, en la conexión se utilizará un String un poco más complejo ya que deben identificarse tanto el driver como el directorio físico completo de la base de datos.

Estos son los 3 pasos para realizar la conexión

Crear el objeto para conectarase a la Base de datos mediante la instrucción Server.CreateObject("ADODB.Connection")

Definir la conexión (con/sin DNS), mediante la instrucción objConn.ConnectionString

Abrir la conexión mediante la instrucción: objConn.Open

Instrucciones de conexión a una base de datos

<%
  Dim objConn
    ' Creación del objeto que realiza la conexión a la base de 
    ' datos
  Set objConn = Server.CreateObject("ADODB.Connection")
    ' Proporcionar al objeto la información correspondiente a 
    ' la conexión ODBC a utilizar

    'Mediante DNS
  objConn.ConnectionString = "DSN=bdProgramacion" 

    'Sin DNS

  objConn.ConnectionString = "DBQ=C:\mis 
documentos\program.mdb;DRIVER={MS Access (*.mdb)}" 

    'Abrir la conexión
  objConn.Open 
%>
 

EL LENGUAJE SQL


Mediante el lenguaje SQL (Structured Query Language) puedes interactuar con los motores de base de datos relacionales para obtener y modificar la información almacenada en la base de datos.

La información en una base de datos se almacena en tablas que a su vez se componen de columnas o campos. Para realizar una consulta a una tabla deberá utilizar la instrucción SELECT. En una consulta básica en la clasula SELECT se indican las columnas a visualizar, en la claúsula FROM, la tabla de la cual obtener los datos por último en la claúsula WHERE se indican las restricciones a aplicar.

Instrucciones SQL de CONSULTA

SELECT * FROM clientes WHERE poblacion="Sevilla"

SELECT nombre FROM Productos WHERE precio > 2000

Las operaciones de insertar, actualizar y borrar información de la base de datos también se realizan mediante instrucciones SQL concretamente utilizaremos INSERT, UPDATE y DELETE respectivamente.

Por ejemplo, la sentencia UPDATE se compone de la clausula SET para indicar el nuevo valor de los campos y WHERE para indicar los registros sobre los que se desea practicar la actualización.

Instrucciones SQL de MODIFICACIÓN: INSERT

INSERT INTO Productos (nombre, precio, distribuidor)

VALUES ("Auriculares", 1730, "batech")

Instrucciones SQL de MODIFICACIÓN: UPDATE

UPDATE Productos

SET precio = precio + (0,02 * precio)

WHERE distribuidor="ACME"

Instrucciones SQL de MODIFICACIÓN: DELETE

DELETE FROM Productos

WHERE distribuidor="ACME"
 

ACCESO A LOS DATOS

A continuación, se practicará las instrucciones para que desde la página ASP pueda acceder a la información de la base de datos y mostrarla en la ventana del navegador del usuario

Se supone que se tiene una tabla de Productos con las siguientes columnas: nombre, precio y distribuidor.

En la página ASP a crear se visualizará aquellos productos cuyo precio sea inferior a los 30 Euros y para realizar esta consulta utilizará el objeto ADODB.Recordset
 
 

Instrucciones de acceso a los datos

<%
  Dim objConn
  Dim objRS
  Dim strSQL
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.ConnectionString = "DSN=gestion" 
    'Inicialización del objeto Recordset
  Set objRS = Server.CreateObject("ADODB.Recordset") 
    ' Construcción de la consulta mediante SQL
  strSQL = "SELECT nombre, precio FROM productos WHERE precio < 30" 
    ' ejecución de la consulta
  objRS.Open strSQL, objConn 
%>

Como resulta de la anterior ejecución, el servidor obtiene un conjunto de registros procedentes de la base de datos y posiciona el cursor en el primero de ellos. El objeto recordset proporciona mecanismos para acceder a los diferentes campos y mover el cursor entre los diferentes registros. Puede conocer cómo mediante el siguiente código

Visualización de datos

<table>
<tr><td>NOMBRE</td><td>PRECIO</td></tr>
<%
    'Bucle hasta encontrar EOF (final del cursor)
  Do Until objRS.EOF = True
  Response.Write "<tr>"
    'objRS("nombre") y objRS("precio") contienen los valores
    'de los campos nombre y precio de la Base de datos
  Response.Write "<td>Nombre= " & objRS("nombre") & "</td>"
  Response.Write "<td>Precio = " & objRS("precio") & "</td>"
  Response.Write "</td></tr>"
    'Mover el cursor al siguiente registro. 
    'Cuando ya esté en el último registro EOF valdrá cierto.
  objRS.MoveNext
  Loop 
%>
</table>
 

CERRAR CONEXIONES


Es una práctica recomendable cerrar y borrar los objetos recordset y de conexión creados en la página ASP. Para ello se utiliza el código indicado a continuación:

Cerrar conexión

<%
    'Cerrar el objeto Recordset
  objRS.Close
    'Eliminar el objeto Recordset
  Set objRS = Nothing
    'Cerrar el objeto de la conexión
  objConn.Close
    'Eliminar el objeto de la conexión
  Set objConn = Nothing 
%>
 

ADOVBS.INC


ADOVBS.INC es un archivo que se incluye con el servidor Internet Information Server y en el que se definen todas aquellas constantes utilizadas con objetos del ADO.

La inclusión de archivos es muy aconsejable para realizar código legible y rehutilizable dos características imprescindibles en páginas de acceso a datos. Para ello se utiliza la instrucción include virtual que pertenece al juego de instrucciones del protocolo HTTP y cuya sintaxis es la siguiente:

<%
<!-- #include virtual="/adovbs.inc" --> 
%> 

En este caso deberá tener almacenado el archivo ADOVBS.INC en la raiz del directorio de su aplicación
 

COMPONENTE FILE SYSTEM OBJECT (FSO)


El componente FileSystemObject, uno de los más utilizados en las páginas ASP, facilita el acceso al sistema de archivos del servidor.

Crear y leer archivos y directorios, son algunas de las operaciones más habituales que se realizan con el componente FileSystemObject, también conocido por las siglas FSO.

Es importante tener en cuenta que permite acceder al sistema de archivos del servidor pero no al sistema de archivos del cliente.

El siguiente código muestra el uso del componente FSO, en el que destacan las operaciones:

  • Instanciación del objeto de acceso a archivos 
  • Abrir el archivo deseado en el modo deseado (lectura, escritura) 
  • Manipular/visualizar el contenido del archivo 
  • Cerrar los objetos utilizados 


El ASP es un entorno abierto, libre de compilaciones en donde puede combinar páginas HTML, scripts y componentes de servidor ActiveX para crear páginas web muy completas. 

Libre de compilaciones

ASP esta integrado en Windows NT Server, por eso sabe cuando un fichero ha sido modificado. Un script modificado es compilado automaticamente la proxima vez que se utiliza. Esto quiere decir que cuando esta desarrollando scripts y aplicaciones, usted puede guardar y comprobrala inmediatamente con su navegador.

Más rápido que CGI 

ASP ofrece la flexibilidad de los programas CGI y scripts, pero a diferencia de estos, se ejecutan en el servidor como un proceso del mismo, siendo multi-tarea y optimizado para soportar un numero elevado de usuarios. 

Compatible con sus inversiones

ASP no requiere que los desarrolladores aprendan un nuevo entorno de programación. Combina la sencillez del HTML con herramientas conocidas como Visual Basic Scripting y componentes ActiveX. Para los desarrolladores experimentados ASP también da soporte para cualquier lenguage de programación de scripts y componentes, incluido Java. 

Microsoft JScript. Permite a los desarrolladores escribir scripts que se ejecutan tanto en el servidor como en el cliente. 

Componentes ActiveX. Previamente conocidos como OLE, son componentes (u objetos) a los que puede acceder desde una página web u otra aplicación para reutilizar la funcionalidad del paquete programado por otro.

Utilizando scripts es como ASP utiliza componentes ActiveX. Por ejemplo, para recuperar datos de una base de datos, el script pasa la informacion al Active Database Object (ADO) que contiene la lógica para comunicarse con la base de datos. Otro script recupera la información del componente ADO y lo muestra en la página HTML. 

Los componentes ActiveX server dan soporte para Microsoft Component Object Model (COM), y pueden ser escritos en virtualmente cualquier lenguaje de programación incluyendo Visual Basic, C++, Cobol, and Java. 

Conectividad de Bases de Datos

Active Database Object (ADO) proporciona acceso facil a cualquier fuente de datos compatible con OLE/DB u ODBC, por ejmeplo Microsoft Access, Microsoft SQL Server, así como los populares Oracle, Informix, y Sybase. 

Con páginas ASP los lenguajes de negocios y programación estan encapsulados en componentes Active X. Los desarrolladores pueden escribir componentes para acceder cualquier tipo de informacion accesible desde la red. Por ejemplo, algunos desarrolladores independientes proporcionan componentes Active X para acceder a informacion en hosts de IBM. 

Construcción de Aplicaciones Web 

ASP es un entorno de aplicaciones abierto y extensible. Da soporte para la utilización de virtualmente cualquier lenguaje de programacion de scripts y componentes. La funcionalidad de una aplicación Web creada con ASP esta basada en componentes, asi las piezas se pueden reutilizar en otros web y aplicaciones client-server. 

Un fichero ASP es simplemente un fichero de texto, similar a un fichero HTML standard. Estos se pueden editar con culaquier editor de texto. Muchas herramientas HTML incluyen la posibilidad de insertar scripts server-side y guardar ficheros como ASP. Una de estas herramientas es Microsoft FrontPage. 

Acceso las variables y funciones del servidor. 

ASP proporciona una acceso sencillo a todas las variables HTTP del servidor tales como tipo de servidor y página de referencia. Esto hace sencillo desarrollar páginas personalizadas para cada usuario. 

Compatible con cualquier navegador.

Los scripts y componentes son procesados en el servidor y el output the un fichero ASP es HTML standard, asi ASP funciona con cualquier navegador. El contenido puede ser facilmente personalizado para la capacidad de cada navegador para obtener una optima visualización sin necesidad de mantener una página para cada tipo de escenario.