Programación de aplicaciones web
Si es usted programador tal vez se haya preguntado alguna vez por
qué no es posible colocar su ejecutable en el servidor y que los
clientes vean las ventanas del programa desde sus ordenadores
conectados a Internet. La respuesta es que la comunicación entre
ordenadores no se produce de forma mágica, sino que debe estar
basada sobre determinados protocolos. El HTTP es el protocolo de la
Web, y por tanto la salida de nuestro ejecutable no deben ser
ventanas de Windows sino código HTML.
Tal vez se pregunte por qué usar el HTTP en lugar de un protocolo
que permita enviar ventanas completas tipo Windows. La respuesta es
que los procesos que requieren transmisión por la Red son órdenes de
magnitud más lentos que los que se producen en el interior de un
ordenador. Es decir, hay que programar de forma que se minimice el
tránsito de datos por la Red.
La programación para las redes TCP/IP se conoce con el
nombre de programación cliente-servidor. Consiste en que
nuestro programa se desdobla en dos: uno en el ordenador cliente y
otro en el servidor. La parte cliente se encarga del interfaz y de
la interacción con el usuario, y la parte servidor de obtener y
manipular los datos. La comunicación entre ambos se produce mediante
sockets (conexiones TCP) y eventualmente mediante protocolos
propios desarrollados para tal efecto.
La programación cliente-servidor tradicional (como la explicada
en el párrafo anterior) tiene su grado de complejidad. Sin embargo
con el advenimiento de la World Wide Web se abre una nueva
posibilidad: las aplicaciones para la Web. Se trata de una
especialización y concreción de las aplicaciones cliente-servidor,
donde tanto el cliente (el navegador) como el servidor (el servidor
web), y el protocolo mediante el que se comunican (el HTTP) son
estándar, y no han de ser creados por el desarrollador.
La parte de cliente de las aplicaciones web está formada
por el código HTML que forma la página web, con opción a código
ejecutable mediante los lenguajes de scripting de los navegadores
(JavaScript) o mediante pequeños programas (applets) en Java. La
parte de servidor está formada por un programa o script que es
ejecutado por el servidor web, y cuya salida se envía al navegador
del cliente. Tradicionalmente a este programa o script que es
ejecutado por el servidor web se le denomina CGI (Common Gateway
Interface).
Con la entrada en 1995 de Microsoft en el mundo Internet y la
salida al mercado de su servidor web (Internet Information Server)
se abrió un nuevo campo para las aplicaciones web: el ISAPI
(Internet Server Aplication Program Interface), es decir, un
conjunto de funciones que el servidor web pone a disposición de los
desarrolladores de bibliotecas. Con el ISAPI los desarrolladores
pueden crear DLL (bibliotecas de funciones) con funciones que
son invocadas para determinados archivos. Los filtros ISAPI permiten
al desarrollador escribir código que se ejecuta por el servidor web
cuando el cliente solicita un archivo con una determinada
extensión.
Todo el sistema ASP no es más que una DLL del tipo ISAPI, que es
invocada automáticamente para los archivos cuya extensión sea
.asp. La biblioteca ASP preprocesa el archivo ASP
interpretando su código como un script a ejecutar en el servidor.
Sin embargo ella no interpreta directamente el código, sino que en
función del lenguaje en el que está escrito, invoca a otra DLL que
se encarga de ejecutar el script. Después recoge la salida y se la
envía al servidor web.
Concepto de página ASP
Las páginas ASP se caracterizan por tener en un mismo archivo de
extensión ASP código de script que se ejecuta en el servidor y
código HTML que forma la página web. Es decir, en un mismo archivo
se encuentra el HTML (apariencia de las páginas) y el código de la
aplicación a ejecutar en el servidor.
A algunos programadores esto les puede parecer confuso y poco
estructurado. De hecho, parece preocupante que un webmaster
diseñador gráfico y un programador de aplicaciones de bases de datos
tengan que trabajar ambos sobre el mismo archivo.
Sin embargo, ésto es sólo una apariencia. Una reflexión más
profunda nos revela que la página ASP engloba tanto a las páginas
web como a los scripts CGI. En efecto, una ASP puede consistir sólo
en código HTML (y entonces es lo mismo que una página web normal) o
sólo en código ejecutable (lo mismo que un CGI). Por tanto la mezcla
de código y HTML es opcional, pero muy utilizada por resultar
práctica (por ejemplo, un formulario que se llama a sí mismo).
¿Qué ventajas y desventajas tiene el ASP
respecto a los CGI?
Entre las ventajas podemos destacar:
Se
puede elegir el lenguaje de programación de entre estos tres:
JavaScript, Visual Basic Script y PerlScript.
Incluso se pueden tener scripts en distintos lenguajes dentro de
la misma página ASP. El lenguaje escogido vale con cualquier
navegador, ya que se trata de código que se ejecuta en el
servidor. Al navegador sólo le llega HTML.

Se pueden utilizar
componentes del lado de servidor. Esto permite programar al
estilo VisualBasic creando objetos y utilizando sus métodos y
propiedades.

Se puede acceder a bases de datos con objetos
recordset de un modo muy parecido a como se hace en Visual
Basic.

Tiene persistencia de variables en memoria (entre
distintas visualizaciones de páginas web) que se pueden asociar a
cada sesión de usuario o a la aplicación en su conjunto. Esto
resuelve de forma elegante uno de los mayores problemas de la
programación en la web: el servidor web no tiene memoria entre la
visualización de una página web y la siguiente.
En cuanto a las desventajas, no tiene ninguna. Los partidarios
del Perl pueden seguir utilizando dicho lenguaje al 100% (incluyendo
bibliotecas) y aprovechar las nuevas características del ASP, sin
más que utilizar como lenguaje de programación el PerlScript.
Concepto de aplicación ASP
Una página ASP no es sólo un script. Se denomina aplicación ASP
al conjunto de páginas ASP, páginas web, archivos gráficos,
etcétera, dispuestos en un directorio y sus subdirectorios. Todo
este conjunto de scripts y datos es el equivalente en la web a la
aplicación tradicional que al final se compila en un ejecutable.
Las aplicaciones ASP tienen una raíz que es el directorio en el
que residen, que debe tener permisos de ejecución de scripts y una
aplicación en la metabase del IIS. Los Servidores Virtuales de arsys.es disponen de un panel de control con
funcionalidad para asignar permisos a directorios y crear
aplicaciones.
|