ASP. Preguntas y respuestas
Este artículo contiene
algunas de las preguntas más comunes referentes
a Microsoft Active Server Pages (ASP), componente de Microsoft
Internet Information Server 3.0.
1. P. ¿Qué son las Active Server Pages?
R. Active Server Pages (ASP) es el entorno de ejecución "lado-
servidor" de Internet Information Server (IIS) 3.0, que
posibilita la ejecución de "Scripts ActiveX" y componentes
"ActiveX Server" en el servidor. Con la combinación de scripts y
componentes, las organizaciones pueden crear fácilmente
contenido dinámico y potentes aplicaciones basadas en Web
(aplicaciones para Internet).
Con las ASP, IIS 3.0 además de ser un potente "servidor de
información Web", se convierte en un "servidor de aplicaciones
Web".
2. P. ¿Qué es contenido dinámico?
R. "Contenido Dinámico" son las páginas Web que son personalizadas
o creadas para cada usuario "en tiempo real", basándose en las
acciones y/o peticiones del usuario. Por ejemplo, a los nuevos
visitantes de su servidor Web les pueden ser mostrados
diferentes mensajes de bienvenida, que les lleven a páginas o
contenido on-line desde las que puedan realizar consultas a
bases de datos, de tal forma que los clientes siempre verán la
información más actual disponible.
3. P. ¿Quién debería usar Active Server Pages?
R. Las organizaciones usarán la tecnología ASP para crear
aplicaciones Web "front-end" (lado cliente) basadas en
soluciones de negocio existentes, o para crear aplicaciones Web
completamente nuevas. Dado que ASP proporciona un entorno de
desarrollo abierto, con soporte para VBScript y JScript, las
organizaciones pueden mantener y rentabilizar las inversiones ya
realizadas en estos "lenguajes de scripting".
4. P. ¿Quién puede crear contenido dinámico con Active Server Pages?
R. Webmasters y profesionales de la Programación familiarizados con
HTML y lenguajes tales como Visual Basic, JavaScript, Perl,
REXX, or C++.
5. P. ¿Qué necesito para ejecutar Active Server Pages?
R. Active Server Pages requiere Internet Information Server 3.0 y
Windows NT Server 4.0 o Windows NT Workstation 4.0 y Peer Web
Services.
ASP es un componente de IIS 3.0, que es gratuíto (descargable
directamente del servidor Web de Microsoft en
http://www.microsoft.com/iis/ ) y es un componente integrado en
Windows NT Server 4.0.
6. P. ¿Qué puede proporcionar ASP a una aplicación de negocio en
Internet?
R. Permite el desarrollo de una nueva generación de aplicaciones
basadas en Web, incluyendo la extensión de servicios al Cliente
y servicios de Ventas a servidores Web, proporcionando acceso a
bases de datos y aplicaciones corporativas a cualquier Browser
(Explorador o Navegador de Internet) en Internet o en una
Intranet.
7. P. ¿Qué Componentes ActiveX Server están soportados por ASP?
R. ASP permite a las organizaciones extender la potencia de
"scripting" en el servidor con Componentes ActiveX Server. Estos
componentes pueden ser creados usando Visual Basic, Java
(Visual J++), Visual C++, etc.
8. P. ¿Qué "lenguajes de scripting" soporta ASP?
R. ASP proporciona soporte nativo tanto para VBScript como para
Jscript. Además, hay componentes (plug-ins) ActiveX Scripting
disponibles para REXX, PERL, and Python.
9. P. ¿Qué Browser (exploradores de Internet) soporta ASP?
R. ASP puede trabajar con cualquier browser. La salida de un
fichero .ASP es HTML "simple y plano", por lo que el contenido
es adaptado a las capacidades del cliente.
10.P. ¿ASP mantiene el "estado" de la conexión?
R. Sí. ASP le permite definir variables de aplicación y de sesión
que pueden ser extendidas a múltiples páginas y ser manipuladas
en distintos puntos/usos del servidor Web. Esta funcionalidad
puede ser aplicada a puntos tan sencillos como recordar un
nombre de usuario, y es necesaria en aplicaciones de compra en
Internet para seguir el listado de productos seleccionados.
11.P. ¿Sobre qué plataformas se ejecuta Active Server Pages?
R. ASP se ejecuta sobre Windows NT Server 4.0 (Intel o Alpha) con
"Internet Information Server 3.0", Windows NT Workstation 4.0
con "Peer Web Services" y Windows 95 con "Personal Web Server".
Windows NT 3.51 NO está soportado. Windows NT Server 4.0 sobre
MIPS tampoco está soportado por ASP.
12.P. ¿Es Active Server Pages un entorno seguro?
R. Sí. ASP es un componente de Internet Information Server, y por
tanto usa la seguridad integrada de Windows NT. Los ficheros ASP
pueden ser fácilmente restringidos a un grupo de usuarios usando
autentificación segura de Windows NT, autentificación Web básica
o certificación "lado cliente". Además, para seguridad
adicional, todos las comunicaciones entre cliente y servidor
pueden ser aseguradas con SSL (Secure Socket Layer).
13.P. ¿Con qué fuentes de datos puedo integrar mi aplicación Web?
R. Una aplicación ASP puede integrarse con cualquier base de datos
compatible-ODBC, incluyendo bases de datos Microsoft SQL Server,
Oracle, Sybase, Informix, DB2, Access, FoxPro, dBase, Clipper,
etc. Cualquier aplicación OLE 2, tal como Lotus Notes, Microsoft
Excel o Microsoft Word, también pueden ser manejadas para
acceder o procesar información.
14.P. Comparación entre ASP y CGI.
R. ASP proporciona toda la funcionalidad de aplicaciones CGI en un
entorno más robusto y fácil de usar.
ASP es una forma más sencilla de que su servidor acceda a
información no directamente accesible por el cliente (tal y como
una base de datos SQL), actuando como una pasarela entre el
cliente y el servidor para producir la información que el
cliente puede ver y usar.
Con CGI el servidor crea tantos procesos como número de
peticiones de clientes recibidas. Cuanto más concurrentes son
las peticiones, mayor es la concurrencia de procesos creados por
el servidor. Sin embargo, la creación de un proceso por cada
petición consume tiempo y requiere gran cantidad de RAM en el
servidor. Además, esto puede restringir los recursos disponibles
para compartir con las aplicaciones propias del servidor,
ralentizando las prestaciones e incrementando los tiempos de
espera en el servidor Web.
ASP, en cambio, se ejecuta en el mismo proceso que el servidor
Web, gestionando por tanto las peticiones de clientes de forma
más rápida y eficiente. Es mucho más sencillo desarrollar
contenido dinámico y aplicaciones Web con Active Server Pages.
15.P. Comparación entre ASP y aplicaciones ISAPI.
R. Las aplicaciones ISAPI requieren que todo el "esqueleto" y la
programación esté contenida en una DLL escrita en C++. Las
aplicaciones ISAPI son, por tanto, difíciles de crear y
mantener.
Con ficheros ASP, cualquier programador en HTML puede crear un
componente externo y formatear la salida. ASP separa el
"esqueleto" y el diseño de la lógica de programación.
16.P. Comparación entre ASP y PERL.
R. PERL y otros lenguajes de scripting no son herramientas de
desarrollo robustas por sí mismas. ASP proporciona un entorno
familiar y objetos para construir aplicaciones complejas que
requieren datos de bases de datos relacionales y fuentes de
datos antiguas.
ASP soporta cualquier lenguaje de scriting (VBScript y Jscript)
para construir estas aplicaciones. Terceros fabricantes están
actualmente desarrollando "motores de scriting" adicionales,
tales como PERL.
17.P. ¿Puede ASP usar Java?
R. Sí. ASP soporta componentes ActiveX Server (antiguamente
conocidos como "Controles OCX") escritos en cualquier lenguaje,
incluyendo Java. Además ASP incluye la "Java Virtual Machine"
standard de referencia de Microsoft Windows, lo que permite que
cualquier aplicación ASP puede ejecutar e interactuar con
cualquier "applet" Java.
18.P. ¿Qué hace que ASP sea la mejor herramienta de desarrollo de
aplicaciones Web?
R. Manteniendo sus conocimientos actuales, sus fuentes de datos,
sus componentes y sus aplicaciones puede llevarlas de forma
rápida a la Web. Otras herramientas crean contenido estático
HTML o se basan en modelos o lenguajes de programación no
estándar. ASP está basado en estándar admitidos por la
industria, haciendo sencilla la construcción, mantenimiento y
evolución de potentes aplicaciones Web interactivas.
19.P. Comparación de Microsoft Active Server Pages con Netscape
LiveWire.
R. Netscape LiveWire requiere el uso de JavaScript, mientras que
Microsoft ASP soporta el uso de cualquier lenguaje de scripting,
con soporte nativo para VBScript y Jscript.
ASP soporta componentes escritos en cualquier lenguaje (Visual
Basic, Visual C++, Java), mientras que LiveWire soporta sólo
componentes Java.
Las aplicaciones LiveWire deben ser manualmente compiladas
después de cada cambio, y a continuación la aplicación debe ser
parada y reiniciada. ASP, en cambio, reconoce cuando un fichero
ASP es modificado, y automáticamente lo recompila la
aplicación ante la siguiente petición.
20.P. Sencillo procedimiento paso-a-paso de creación y ejecución de
una página ASP con IIS 3.0.
R. La unidad básica de ActiveX Server es un fichero Active Server
Page (fichero .ASP). Un fichero .ASP contiene texto ASCII en uno
de los siguientes formatos: texto, HTML o script.
El siguiente código es una completa y simple Active Server Page:
(NOTA: Cree un fichero denominado EJEMPLO.ASP con el siguiente
código usando cualquier editor de textos, por ejemplo NotePad de
Windows).
<HTML>
<P>
<%FORi=3 to 7%>
<FONT SIZE=<%=i%>>
Hola Mundo!
<BR>
</FONT>
<%Next%>
</HTML>
El "script" consiste en comandos insertados dentro de etiquetas
(tags) ActiveX Script o etiquetas HTML <SCRIPT> (o el
equivalente: etiquetas <%>) que son procesadas en el servidor
por el mecanismo ActiveX Server.
Cuando un usuario requiere una URL con un fichero de extensión
.ASP (http://<servidorWWW>/ejemplo.ASP), el mecanismo ActiveX
Server lee el fichero .ASP de arriba abajo, ejecutando cualquier
comando y enviando texto y HTML al Browser del usuario-cliente.
El scriting ActiveX Server está completamente integrado en las
páginas HTML.
Todo lo necesario para que el mecanismo ActiveX Server lea el
fichero es la presencia de la extensión .ASP en el nombre del
mismo. Por tanto, los ficheros HTML existentes pueden ser
renombrados cambiando la extensión .HTM (o .HTML) por la
extensión .ASP, convirtiéndolos así en Active Server Pages.
Los desarrolladores pueden entonces añadir ActiveX Server script
(código VBScript o JScript) al código-texto estático HTML, para
convertir así los ficheros .HTML estáticos en páginas .ASP
dinámicas.
El lenguaje de scripting host nativo de ActiveX Server es Visual
Basic Script (VBScript) o JavaScript (JScript). Sin embargo, un
desarrollador puede usar las etiquetas <SCRIPT> HTML para
incluir códido de script creado con cualquier otro lenguaje de
scriting (como por ejemplo PERL) en el texto.
En este ejemplo, el código de scripting "lado-servidor" ha sido
diseñado con la etiqueta de apertura y cierre <%>, y son
procesadas antes de que la página sea enviada al browser. En
este caso, un simple bucle visualiza el texto "Hola Mundo!" en
una fuente progresivamente mayor en tamaño, generando así una
página .HTML retornada al cliente formada por 5 líneas, cada una
de ellas visualizando el texto indicado en fuente de tamaño
progresivamente aumentado. Todo el código de scripting es
procesado en el servidor, y tan sólo el HTML es enviado al
cliente.
Si en ese momento, en el browser cliente visualizamos el código
.HTML que el browser está visualizando veríamos que el código de
scripting "lado-servidor" aparece ahora de la siguiente forma:
<Html>
<body>
<p>
<font size="3">
Hola Mundo!
</font>
<font size="4">
Hola Mundo!
</font>
<font size="5">
Hola Mundo!
</font>
<font size="6">
Hola Mundo!
</font>
<font size="7">
Hola Mundo!
</font>
</p>
</body>
</html>
Por tanto, esta es la ASP "Hola Mundo" tal y como es visualizada
por Microsoft Internet Explorer 3.0 junto con el código fuente
HTML enviado al cliente (visto con NotePad). El scripting "lado-
servidor" es ejecutado y después eliminado de la página por el
servidor, de tal forma que sólo código HTML es enviado al
cliente.
21.P. Después de llamar mediante la URL correspondiente a una página
.ASP ubicada en un servidor Web con IIS 3.0 y Windows NT Server
4.0, la página enviada al Browser cliente (Internet Explorer
3.0) no es ejecutada en el servidor. Es decir, el código de
scripting contenido en la página .ASP ubicada en el servidor no
es ejecutado, y en vez de enviar el código HTML resultante de
ejecutar la página .ASP en el servidor, el cliente recibe el
"código fuente" sin ejecutar de la página .ASP, y dado que el
browser cliente no entiene dicho código .ASP, en vez de
visualizar la página HTML resultante, el cliente visualiza el
código fuente de la página .ASP (incluyendo el código de
scripting). ¿Por qué sucede esto?
R. Esto sucede cuando sobre el directorio en el que está ubicada la
página (fichero) .ASP en el servidor IIS 3.0 NO hemos
establecido derechos de Ejecución. Es decir, si sobre el
directorio (por defecto en IIS 3.0, ubicado bajo
C:\InetPub\wwwroot\) en el que hemos ubicado la página .ASP
hemos dejado los derechos por defecto (derechos de Sólo
lectura), el mecanismo de ActiveX Server NO podrá ejecutar la
página ASP para enviar el resultado (código HTML) al cliente, y
se produce el problema descrito.
Para solventarlo, bastará con dar derechos de Ejecución al
directorio que contiene la página .ASP en el servidor IIS 3.0.
Para ello: en el "Internet Service Manager" (herramienta
administrativa de IIS 3.0, situada en Inicio/Programas/Internet
Information Server), abrir las Propiedades del servicio World
Wide Web (WWW). En la ficha "Directories", seleccionar el
directorio en cuestión que contiene las páginas .ASP. Una vez
seleccionado el directorio, hacer clic en el botón "Editar
Propiedades...". En la ventana de las Propiedades del
directorio, observar que (por defecto) sólo el Permiso de
"Lectura" está marcado, y para el directorio que contiene las
.ASP necesitaremos marcar la casilla correspondiente el Permiso
de "Ejecución".