Está en la página 1de 4

36

Edicin digital / ATI 2000

MONOGRAFIA

NOVATICA jul./ago. 2000 n146

Nuevos lenguajes para la red


Fernando Gonzlez, Moiss Cid, Pedro Cuesta
Departamento de Lenguajes y Sistemas Informticos,
Universidad de Vigo
<pcuesta@uvigo.es>

Desarrollo de aplicaciones
web utilizando ASP (Active
Server Pages)
Este trabajo ha sido parcialmente financiado por el proyecto CICYT TEL990335-C04

Resumen: Internet se est convirtiendo en el soporte bsico


para el desarrollo de aplicaciones distribuidas. ASP es una
tecnologa desarrollada por Microsoft para facilitar la
construccin de aplicaciones web, que aporta capacidad
operativa a las pginas, combinando HTML con cdigo en
un lenguaje script. Permite adems el acceso a recursos del
servidor integrando componentes ActiveX en las propias
pginas web.
Palabras clave: aplicacin web, ASP, base de datos, lenguaje script, ISAPI

1. Introduccin
Internet se est convirtiendo en uno de los medios de comunicacin ms importantes hoy en da. No slo est cambiando la forma de acceso, sino que est revolucionando los mecanismos de distribucin de informacin y va a marcar los
prximos pasos en una economa cada vez ms globalizada,
en donde las tecnologas de la informacin y las comunicaciones constituyen una herramienta bsica para el negocio.
World Wide Web, o simplemente web, ha sido el principal
impulsor del gran crecimiento experimentado por Internet.

Figura 1: esquema de funcionamiento de ASP

Ante la necesidad de un sistema comn de publicacin de


documentos, HTML ha supuesto un estndar en la
transmisin y recuperacin de informacin basada en
hipertexto. Su limitacin la constituye el hecho de ser un
lenguaje de marcas que nicamente permite definir el
formato en el que se visualizar el documento.
Esto no es suficiente para satisfacer las necesidades de las
aplicaciones web actuales, caracterizadas por informacin
que evoluciona continuamente, sistemas que precisan de la
interaccin del usuario o de la recuperacin flexible de
datos. Es necesaria, por tanto, la utilizacin de tecnologas
que complementen a HTML aportando capacidad de
programacin.
Una de las tecnologas ms utilizadas hoy en da y que ofrece
numerosas facilidades para el desarrollo de aplicaciones
web, es ASP (Active Server Pages). El resto de este artculo
se dedica a presentar los fundamentos de esta tecnologa, las
caractersticas de la plataforma sobre la que ejecuta, su
utilizacin de bases de datos y una comparativa con otras
herramientas similares para la construccin de aplicaciones
web.

NOVATICA jul./ago. 2000 n146

Edicin digital / ATI 2000

37

Figura 2: ejemplo de pgina ASP y resultado generado

2. Fundamentos de ASP
ASP es una tecnologa desarrollada por Microsoft [1] que
aporta capacidad operativa a las pginas web, combinando
HTML con un lenguaje de secuencia de comandos, o lenguaje script. Los lenguajes ms usados actualmente para programar el cdigo script dentro de las pginas ASP son
VBScript y JScript, aunque tambin se pueden utilizar otros
como Rexx, Perl y Python. El cdigo contenido en estos
scripts se ejecuta en el servidor y el navegador del cliente tan
slo recibe pginas HTML, lo que convierte a ASP en una
tecnologa vlida para cualquier tipo de navegador.
Otra caracterstica de ASP es que permite integrar componentes ActiveX en las pginas, para de esta forma acceder a
recursos residentes en el propio servidor. Componentes que,
por ejemplo, pueden utilizarse para la comunicacin con
una base de datos, aportando un acceso a ms alto nivel.
2.1. Funcionamiento de las pginas ASP
Una pgina ASP est formada por cdigo HTML e instrucciones en un lenguaje script. El cdigo script aparece
encerrado entre las etiquetas <% y %>, o entre <SCRIPT
LANGUAGE=VBScript RUNAT=SERVER> y </
SCRIPT>. Cuando un usuario realiza la peticin de una
pgina ASP (fichero con extensin ASP) a travs de su
navegador, el servidor se encarga de ejecutar el cdigo que
se encuentra entre las etiquetas de manera totalmente transparente al cliente y manteniendo igual el resto de la pgina.
Una vez ejecutado, el servidor devuelve al cliente una pgina
que estar formada nicamente por cdigo HTML (figura 1).
ASP utiliza la tecnologa ISAPI (Internet Server Aplication
Program Interface). Una aplicacin ISAPI est basada en
libreras de enlace dinmico que se ejecutan en el mismo
espacio de direcciones que el servidor web, de manera que
soportan numerosas peticiones simultneas con una sola
imagen en memoria. Cuando el servidor recibe la peticin de
una pgina ASP, se inicia la ejecucin de una librera
(ASP.dll) encargada, en primer lugar, de averiguar el len-

guaje en que est codificada la pgina. Una vez determinado, pone en marcha un motor de ejecucin adecuado al
lenguaje que realiza la validacin de las instrucciones. Por
ltimo, se ejecutan dichas instrucciones y el cliente recibe un
fichero, que nicamente contiene cdigo HTML, generado
como resultado de la unin del propio cdigo HTML que ya
contena la pgina y el que resulta de la ejecucin de los
scripts. En la figura 2 se puede apreciar un ejemplo de una
pgina web obtenida tras la ejecucin del cdigo adjunto.
No siempre la ejecucin de los scripts contenidos dentro de una
pgina ASP tienen que dar lugar a cdigo HTML, sino que
pueden ser utilizados para realizar otras tareas como, por
ejemplo, la actualizacin de registros en una base de datos.
2.2. Objetos integrados
ASP dispone de una serie de objetos integrados, elementos
ActiveX, que se encuentran siempre a disposicin de los
diseadores sin que haya que crearlos explcitamente. Estos
elementos facilitan muchas de las tareas que resultan
complicadas en la programacin de aplicaciones web
utilizando otras tecnologas. Como por ejemplo la dificultad
de comunicacin entre los mdulos del sistema, debida a que
las variables tienen mbito de pgina (su contenido se
destruye al cambiar de una pgina a otra). ASP resuelve este
problema creando variables globales con los objetos
integrados Session y Application.
Con este mismo objetivo, ASP utiliza un archivo llamado
global.asa [2], que permite definir instrucciones que se
ejecutan cada vez que comienza o finaliza la aplicacin web
o la sesin de un usuario. Hay que tener en cuenta que una
sesin comienza cada vez que se realiza una peticin de una
pgina del sistema y finaliza cuando el usuario cierra su
navegador o transcurre un tiempo estipulado sin que se
realice una peticin.
La figura 3 muestra un modelo de fichero global.asa, en el
que se puede observar como se inicializa una variable de tipo
Application para contabilizar las visitas a un sitio web.

38

NOVATICA jul./ago. 2000 n146

Edicin digital / ATI 2000

Los objetos integrados de ASP son: Application, Session,


Server, Request y Response. Cada uno de ellos cuenta con
una serie de mtodos y propiedades cuyo funcionamiento se
explica brevemente a continuacin:
Objeto Application. Su comportamiento es similar a una
variable global, ya que es accesible por todos los usuarios
de la aplicacin. Como se comprueba en el ejemplo anterior (figura 3), un posible uso de este objeto podra ser la
implementacin de un contador de visitas.
Objeto Session. Se utiliza para definir variables que
permitan guardar informacin relativa a cada uno de los
usuarios que acceden a la aplicacin. La creacin de
variables de sesin es similar a las del objeto Application,
pero el contenido es accesible slo por el usuario que ha
iniciado la sesin. El objeto Session est basado en cookies,
por lo que el navegador cliente debe estar preparado para
aceptarlas.
Objeto Server. Su caracterstica ms importante es que
permite crear instancias de componentes ActiveX, algo
imprescindible para utilizar los recursos instalados en el
servidor.
Objeto Response. La tarea principal de este objeto es enviar
informacin al cliente a travs del mtodo Write, que se
puede invocar de manera abreviada mediante <%= variable %>.
Objeto Request. Se utiliza para recibir informacin del
cliente a travs de formularios.

3. Plataforma de ejecucin
Para que una aplicacin ASP funcione correctamente, el servidor web debe cumplir una serie de exigencias. El principal
requisito es utilizar como servidor de pginas Microsoft Internet
Information Server (IIS) [3], que tiene instaladas las extensio-

Figura 3: ejemplo de fichero global.asa

nes necesarias para trabajar con pginas ASP.


La limitacin de este software es que slo funciona bajo el
sistema operativo Windows NT Server, o su sustituto Windows
2000 Server. Aunque se puede instalar un servidor IIS sobre
un sistema operativo Windows 98 o Windows NT Workstation,
el servidor web ve reducidas sus prestaciones y servicios.
Esta opcin se suele escoger sobre todo para el desarrollo de
aplicaciones en un equipo local o para la realizacin de
pruebas de ejecucin.
El hecho de que las pginas ASP no funcionen sobre un servidor que no sea IIS y que ste, a su vez, no se ejecute bajo un
sistema operativo que no sea de Microsoft, les resta
competitividad con respecto a otras tecnologas actuales que
funcionan bajo diferentes sistemas operativos. Esta caracterstica hace que las pginas ASP sean especialmente apropiadas
para el desarrollo de aplicaciones web para Intranets, donde el
sistema operativo mayoritario es Microsoft Windows NT.
Los requisitos necesarios para visualizar en el navegador de
un equipo cliente una pgina ASP son prcticamente los
mismos que para visualizar cualquier otra pgina web, con
la nica exigencia de que el navegador debe estar preparado
para aceptar cookies.

4. ASP y Bases de Datos


ASP realiza el acceso a bases de datos utilizando el modelo
ADO (ActiveX Data Objects) y la tecnologa de conexin
con bases de datos ODBC (Open Data Base Connectivity),
aunque tambin puede usarse OLEDB [4]. Gracias a esto,
ASP permite trabajar fcilmente con la mayor parte de los
sistemas gestores de bases de datos actuales. ODBC proporciona una interfaz que permite a la aplicacin acceder a la

NOVATICA jul./ago. 2000 n146

Edicin digital / ATI 2000

39

de programar.
Otra tecnologa de reciente aparicin, basada tambin en
Java, es JSP (Java Server Pages), similar en algunos
ASPectos a ASP, pero que reemplaza el cdigo script por
lenguaje Java. Esta caracterstica asegura la independencia
de la plataforma, al contrario de lo que ocurre con ASP.
Adems utiliza un lenguaje totalmente orientado a objetos y
mucho ms robusto que los lenguajes scripts [8].

6. Conclusiones

Figura 4: acceso a una base de datos utilizando ADO

informacin contenida en las bases de datos a travs de sus


distintos controladores, utilizando para ello el lenguaje SQL
estndar, independientemente del sistema gestor de bases de
datos empleado. Los objetos ADO, basados en tecnologa
COM (Component Model Object) [5], ofrecen una serie de
mtodos que proporcionan un soporte adecuado para el
acceso a bases de datos desde pginas ASP. Bsicamente
ASP utiliza siete objetos ADO para trabajar con bases de
datos: Connection, RecordSet, Command, Error, Parameter,
Field y Property.
En la figura 4 se muestra un ejemplo de una pgina ASP que
realiza un acceso a una base de datos. Se supone que existe
una tabla llamada Proveedores y que posee los campos:
Nombre, Apellidos, DNI y Telfono. Para que esta pgina
funcione adecuadamente hay que dar de alta una DSN (Data
Source Name) de ODBC en el servidor, indicando el gestor
de base de datos y el nombre de la fuente de datos, por
ejemplo bdprueba.

5. Comparativa con otras tecnologas


Una de las primeras tecnologas utilizadas para el desarrollo
de aplicaciones web CGI (Common Gateway Interface), define una forma simple de ejecutar programas en el servidor
que pueden estar escritos en cualquier lenguaje de programacin [6] (uno de los ms utilizados ha sido Perl). Su gran
inconveniente es el rendimiento, ya que por cada peticin se
crea una nueva copia del programa en la memoria del servidor. As, si acceden muchos usuarios de forma simultnea se
produce una disminucin en la eficiencia de dicho servidor [7].
Otra tecnologa ampliamente utilizada hoy en da son los
Java Servlets. Su funcionamiento es similar al de los CGI,
con la diferencia de que los programas que se ejecutan en el
servidor estn escritos en lenguaje Java. Esta tecnologa
soluciona el problema del rendimiento gracias a que slo
mantiene una imagen del programa en memoria, aunque
existan mltiples peticiones.
Otra importante ventaja es la portabilidad que ofrece utilizar
Java. Cuenta con el inconveniente de su complejidad de
aprendizaje, adems de requerir un mayor esfuerzo a la hora

La facilidad con la que se puede desarrollar una aplicacin


web utilizando ASP ha sentado un precedente en la
construccin de sistemas distribuidos. La posibilidad de
integrar en una misma pgina lenguaje HTML con cdigo
script simplifica la construccin de aplicaciones que se
ejecutan a travs de Internet, ya que permite organizar y
mantener la informacin de manera sencilla.
ASP ha introducido un nuevo concepto en la forma de
disear las pginas que visualizar el usuario en su navegador.
Tecnologas como CGI y Java Servlets tienen que mantener
plantillas de cdigo HTML dentro del propio programa, sin
embargo ASP, y ms tarde JSP, contiene estas plantillas
dentro de las propias pginas.
La posibilidad de integrar componentes ActiveX para acceder
a los recursos del servidor simplifica la comunicacin con una
base de datos, y hacen de esta tecnologa una herramienta muy
apropiada para el desarrollo de sistemas de informacin.
Quizs el principal inconveniente de ASP es que slo est
disponible en entornos Microsoft. Esto puede limitar su
utilizacin en un mundo donde la tendencia es la
interoperabilidad de los sistemas, obtenida gracias a
herramientas portables. En este sentido parece que JSP va a
marcar las nuevas tendencias en el desarrollo de aplicaciones
web. Aun as, ASP es una tecnologa que tiene que tenerse en
cuenta, bsicamente por su potencia y su facilidad de utilizacin.

7. Bibliografa
[1] 2000 Microsoft Corporation; Todos los derechos reservados, http:/
/www.microsoft.com/
[2] Jess Bobadilla, Alejandro Alcocer; Creacin de aplicaciones Web
en Windows NT, Active Server Pages, Editorial Ra-Ma, Diciembre 1998.
[3] Microsoft Internet Information Server. Kit de Recursos, Microsoft
Press, McGraw-Hill, 1998.
[4] Microsoft Universal Data Access; 2000 Microsoft Corporation,
http://www.microsoft.com/data/
[5] Scot Hillier, Daniel Mezick; Programacin de Active Server Pages,
Microsoft Press Mc GrawHill, 1997.
[6] P. Cuesta, Jos B. Garca, Jos M. Lpez, Roberto Gonzlez;
Metodologa de Desarrollo de Sistemas de Informacin Distribuidos
Basados en Tecnologas Web. Actas de JISBD99, IV Jornadas de Ingeniera
del Software y Bases de Datos, 1999.
[7] P. Cuesta, P. Carrin, E. Gonzlez; Desarrollo de Aplicaciones
Distribuidas basadas en Tecnologas Web. Actas de II JORNADAS DEL
MAR, Herramientas Informticas de Simulacin y Modelizacin en Oceanografa, 2000.
[8] James W. Cooper; Comparing JSP, ASP, and Servlets, http://
www.devx.com/upload/free/features/javapro/2000/04apr00/jt0004/
jt0004.ASP