ASP. Preguntas y respuestas



Fuente: Microsoft.com

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".