Sunteți pe pagina 1din 15

1.1.

Arquitectura y funcionamiento de las aplicaciones


web.
Qu es ASP .NET?
ASP es una tecnologa de programacin web introducida por Microsoft, que permite a los
desarrolladores crear pginas web dinmicas. Las pginas web dinmicas son pginas cuyo
contenido es dinmicamente regenerado cada vez que la pgina es solicitada basada en algn
factor externo como por ejemplo el usuario que realiza la visita (la pgina de Amazon le presenta al
usuario artculos a comprar segn las preferencias mostradas en visitas anteriores).

Lo opuesto a una pgina dinmica es una pgina esttica. Las pginas web estticas alojan
contenidos que no cambian por ningn factor externo. Por ejemplo, las pginas HTML son pginas
web estticas. Considere una pgina HTML en un sitio web con las siguientes etiquetas:

Esta pgina es considerada esttica porque sin importar quin vea la pgina o qu factores
externos existan, la salida siempre ser la misma: el texto "Hola, mundo!" se mostrar en negritas.

La nica vez que el contenido de una pgina esttica cambnia es cuando alguien lo edita y guarda
la pgina, sobrescribiendo la versin anterior.

Virtualmente todos los sitios web existentes contienen una mezcla de pginas estticas y
dinmicas. Raramente encontrar un sitio web que solo tenga pginas estticas, porque tales
pginas son muy limitadas en su funcionalidad.

Es importante entender las diferencias entre cmo un sitio web sirve pginas estticas versus
pginas dinmicas.

ASP .NET es solo una de muchas tecnologas que pueden ser empleadas para crear pginas web
dinamicas. Otras tecnologas incluyen ASP - el predecesor de ASP .NET -, PHP, JSP y ColdFusion.

Cmo trabajan las transacciones web (sirviendo


pginas web estticas)?
HTTP es el mecanismo de comunicacin por el cual los navegadores web "hablan" con los sitios
web.

En su concepcin original, HTTP fue concebido solamente para enlazar documentos sin considerar
las interfaces de usuario basadas en web, las cuales son un requerimiento bsico de los sitios web
modernos. Las primeras versiones de HTTP soportaban solamente transferencias de flujos de texto
y no soportaban ningn otro tipo de transferencia de datos.

La primera especificacin formal para HTTP se encuentra en la versin 1.0 y fue publicada a
mediados de 1990, y agreg soporte para mensajes ms complejos que un simple protocolo de
transferencia de texto. HTTP creci para soportar diferentes medios (especificados por las
Extensiones de Correo de Internet de Propsitos Mltiples - Multipurpose Internet Mail Extensions -
MIME). La versin actual de HTTP es 2.

Normalmente la respuesta del servidor llega como un flujo de texto marcado con etiquetas HTML.

Un sitio web requiere que exista un servidor web. Un servidor web es una aplicacin de software
que continuamente espera por solicitudes web que son efectuadas para una particular URL
(Universal Resource Locator o URI: Universal Resource Identifier). El servidor web examina la URL
solcitada, localiza el archivo adecuado y devuelve el archivo al cliente que realiz la solicitud.

Este modelo es adecuado para servir pginas estticas, cuyo contenido no cambia. Sin embargo,
un modelo tan simple es insuficiente para servir pginas dinmicas porque el servidor web
simplemente devuelve el contenido de la URL solicitada al navegador que inicia la solicitud. El
contenido de la URL solicitada no es modificado de ninguna forma por el servidor web basado en
eventos externos.

Cmo trabajan las transacciones web (sirviendo


pginas web dinmicas)?
Para alojar contenido dinmico, las pginas web dinmicas contienen cdigo fuente que es
ejecutado cuando la pgina es solicitada. El cdigo de ejecucin produce HTML que es devuelto y
mostrado en el navegador del visitante. Revisemos el modelo de transacciones estticas:
Con este modelo, el contenido en realidad no es creado hasta que la pgina web es solicitada.
Imagine que deseamos crear una pgina web que muestre la fecha y hora actual. Para hacer esto
usando una pgina web esttica, alguien tendra que estar editando la pgina web cada segundo,
actualizando continuamente el contenido para que tenga la fecha y hora actual. Claramente, esto no
es factible.

Con una pgina web dinmica, sin embargo, el cdigo ejecutado puede recuperar y mostrar la fecha
y hora actual. Cuando una solicitud web llega, el cdigo de la pgina web es ejecutado y lo
devuelve al navegador web solicitante. El navegador del visitante mostrar la fecha y hora en que la
pgina fue ejecutada.

Normalmente, el servidor web y el software que ejecuta el cdigo fuente de las pginas dinmicas
se encuentran desacoplados. Cuando llega una solicitud web, el servidor web determina si la pgina
es esttica o dinmica. Si la pgina solicitada es esttica, su contenido es enviado directamente de
regreso al navegador que inici la solicitud. Si, por el contrario, la pgina web solicitada es dinmica
- por ejemplo, una pgina ASP .NET -, el servidor web transfiere la responsabilidad de ejecutar la
pgina al motor ASP .NET.

Una forma comn de los servidores web para determinar si la pgina solicitada es esttica o
dinmica es por la extensin del archivo solicitado. Por ejemplo, si la extensin es .aspx, el servidor
web sabe que la solicitud es para una pgina ASP .NET y por tanto transfiere la solicitud al motor
ASP .NET.

El motor ASP .NET es una pieza de software que sabe cmo ejecutar las pginas ASP .NET. Otras
tecnologas de programacin web, tales como ASP, PHP y JS tienen sus propios motores que
saben cmo ejecutar pginas ASP, PHP y JS.

Cuando el motor ASP .NET ejecuta una pgina ASP .NET, el motor genera la salida HTML. Esta
salida HTML es devuelta al servidor web, el cual la devuelve al navegador que inici la solicitud
web.

Caractersticas de ASP .NET.


oEs una tecnologa de secuencias de comandos del lado del servidor (incrustada en pginas
web) para ser ejecutadas por un servidor de internet.
o Un archivo ASP puede contener texto, HTML, XML y secuencias de comandos (scripts).
o Un archivo ASP tiene la extensin ".asp".
o Cuando un navegador solicita un archivo HTML, el servidor le devuelve el archivo sin
efectuar ningn procesamiento.
o Cuando un navegador solicita un archivo ASP, IIS traslada la solicitud al motor ASP
(ASP.DLL) en el servidor.
o El motor ASP lee el archivo lnea por lnea y ejecuta la secuencia de comandos en el archivo
que estn marcadas como secuencias de comando del servidor en <% %>.
o Finalmente, la salida generada es devuelta al navegador como HTML plano.
A diferencia del desarrollo de la mayora de aplicaciones de escritorio, en las cuales muchas de las
partes se encuentran disponibles localmente (como componentes en el disco duro del usuario),
desarrollar una aplicacin web requiere obtener partes de software que trabajen sobre una amplia
red distribuida usando un protocolo desconectado.

Para trabajar adecuadamente con ASP .NET se requiere conocer lo siguiente:

o Cmo trabajan las transacciones HTTP.


o Cmo trabaja HTML.
o Cmo son manejadas las transacciones HTTP en la plataforma de produccin web de
Microsoft, Servicios de Informacin de Internet (IIS).
.

Pginas web.
Para ver una pgina web ASP .NET que reside en un servidor web se necesita solicitarla con un
navegador web. El navegador enva una solicitud al servidor web, el cual transfiere la solicitud al
motor ASP .NET. El motor ASP .NET procesa la pgina solicitada, devuelve el HTML resultante al
servidor web, el cual lo enva de regreso al navegador, donde es mostrado al usuario. Para
desarrollar sitios web, las pginas ASP .NET que construya sern almacenadas en su computadora
personal. Para probar estas pginas, su computadora debe tener un servidor web instalado.

El alojar pginas ASP .NET localmente tiene sus ventajas:

o Las pruebas pueden ser efectuadas offline - debido a que las solicitudes de su navegador
son dirigidas a su computadora personal, no necesita estar conectado al internet para
probar sus pginas ASP .NET.
oEs rpido - las solicitudes locales son, naturalmente, mucho ms rpidas que las solicitudes
que viajen sobre internet.
o Se tienen disponibles caractersticas avanzadas de depuracin - al desarrollar localmente
puede usar tcnicas de depuracin avanzadas, tales como detener la ejecucin de una
pgina ASP .NET y ejecutar su cdigo lnea por lnea.
La principal desventaja de alojar pginas ASP .NET localmente es que pueden ser vistas solamente
desde su computadora. Esto es, un visitante en otra computadora no puede introducir ningn URL
en la barra de direcciones de su navegador que lo lleve hacia el sitio web que ha creado en su
computadora local. Si desea crear un sitio web ASP .NET que pueda ser visitado por cualquiera con
una conexin internet, debe considerar usar una compaa de alojamiento web.

Las compaas de alojamiento web tienen varias computadoras accesibles por internet, en las
cuales individuos y compaas pueden alojar sus sitios web. Estas computadoras contienen
servidores web que estn accesibles desde cualquier computadora en internet.

Lenguaje de marcacin de hipertexto (HTML).


La mayora de las solicitudes HTTP resultan en un flujo de texto regresando al programa que realiz
la solicitud. HTML es el lenguaje para dar formato a documentos y todos los navegadores lo
entienden.

El primer lanzamiento de HTML fue la versin 2.0. La versin 3.2 introdujo nuevas caractersticas,
tales como tablas, flujos de texto, applets, superscripts y subscripts, mientras ofreci compatibilidad
con el estndar existente HTML 2.0.

Esto facilit el inicio de la tecnologa de desarrollo de interfaces de usuario, siempre que se tenga
un navegador competente y una estructura HTML bien formada. Y debido a que HTML fue
entendido por todos los navegadores ejecutndose en una variedad de plataformas, se inici la
implementacin de una plataforma de computacin interactiva mundial.

La estructura de un archivo HTML es la siguiente:

Utilice el bloc de notas para escribir y guardar el cdigo anterior con el nombre ejemplo1.htm o con
el nombre ejemplo1.html en la carpeta C:\Inetpub\wwwroot.

En una nueva ventana del navegador deber


escribir http://localhost/ejemplo1.htm o http://localhost/ejemplo1.html, dependiendo del nombre
de archivo que us.
NOTA: Debe tener IIS (Internet Information Services) instalado y ejecutndose.
Para instalar IIS, seleccione el botn de inicio de Windows, Control Panel,
Programs, Turn Windows features on or off, Internet Information Services.

La salida que obtendr es similar a la figura siguiente:

Un segundo ejemplo sobre el uso de HTML bsico:

Utilice el bloc de notas para escribir y guardar el cdigo anterior con el nombre ejemplo2.htm o con
el nombre ejemplo2.html en la carpeta C:\Inetpub\wwwroot.
En una nueva ventana del navegador deber
escribir http://localhost/ejemplo2.htm o http://localhost/ejemplo2.html, dependiendo del nombre
de archivo que us.

La salida que obtendr es similar a la figura siguiente:

Sin embargo, esto es una pgina esttica y no realiza ninguna accin, a pesar de contener un
combo box y un botn. Para que una pgina sea dinmica, el servidor que se encuentra en el otro
extremo necesita soportar contenido dinmico.

Contenido dinmico.
Los primeros sitios web fueron construidos principalmente usando pginas HTML estticas, lo cual
permita navegar hacia una pgina y leer el documento ah alojado. Si bien en un principio fue algo
sorprendente, HTML eventualmente evolucion para ser capaz de mucho ms que simplemente dar
formato a textos.

HTML incluye las etiquetas <form> y </form> para notificar al navegador que una seccin de HTML
incluye etiquetas representando controles con los cuales el usuario interactuar para eventualmente
devolver informacin al servidor. As es como se especifica en un documento web que manejar
entradas efectuadas por el usuario final y no solo salida de informacin. El contenido de la forma, lo
cual es la data contenida en los controles de entrada, ser enviado al servidor para su
procesamiento. Esta es la razn por la cual el caso de uso tpico de un documento HTTP es GET, y
luego POST para devolver datos al servidor.

La etiqueta <form> encierra un conjunto de etiquetas especificando controles de entrada del


usuario, tal como se muestra en el ejemplo siguiente:
Utilice el block de notas para escribir y guardar el cdigo anterior con el nombre ejemplo3.htm o
con el nombre ejemplo3.html en la carpeta C:\Inetpub\wwwroot.

En una nueva ventana del navegador deber


escribir http://localhost/ejemplo3.htm o http://localhost/ejemplo3.html, dependiendo del archivo
que us.

La salida que obtendr es similar a la figura siguiente:


Despus de seleccionar la opcin deseada y hacer clic sobre el botn "Enviar", el URL debera
mostrar lo siguiente (asumiendo que seleccion la opcin "Ninguna"):

http://localhost/"http://localhost/ejemplo3.htm"?Carrera=Ninguna&Seleccion=Enviar

Este URL modificado, a menudo llamado cadena de consulta, es enviado al servidor.

Adems, obtendr un mensaje de error debido a que todava no se ha escrito cdigo para manejar
la informacin enviada al hacer clic sobre el botn.

Adicionar la etiqueta <form> en el cuerpo del documento es slo una parte para tener una
aplicacin HTTP que en realidad interacte con el usuario. Ahora se necesita un poco ms de
soporte del lado del servidor, y es aqu donde el servidor empieza a jugar un papel mucho ms
activo.

Common Gateway Interface (CGI).


Los primeros servicios web que soportaron "contenido web dinmico" lo hicieron por medio de
Common Gateway Interface (CGI), el cual fue el primer estndar para construir servidores web. Los
programas CGI se ejecutan en tiempo real y cambian sus salidas basados en el estado de las
aplicaciones y las solicitudes entrantes. Cada solicitud proveniente de un servidor web ejecutando
corridas de CGI corre una instancia del programa para poder responderla. La aplicacin poda
correr cualquier tipo de operaciones, incluyendo bsqueda de informacin en una base de datos,
aceptar nmeros de tarjetas de crdito y enviar informacin con formato.

Pero tambin representaba un alto costo debido a los elevados tiempos de espera y los
requerimientos de memoria.

La plataforma Microsoft como un servidor web.


Debido a que era muy costoso para la plataforma Microsoft el tener que ejecutar un nuevo proceso
para cada solicitud, la solucin de Microsoft fue disponer de un proceso daemon (que en Microsoft
se le llama servicio) para monitorear el puerto 80 en busca de paquetes de red entrantes y cargar
DLLs para manejar solicitudes separadas cuando el contenido necesita ser cambiado. La
plataforma web estndar de Microsoft est basada en los Servicios de Informacin de Internet (IIS).

Internet Server Application Programming Interface


(ISAPI).
Crear un espacio de proceso sobre la plataforma Microsoft es una proposicin costosa (en trminos
de recursos de sistema y ciclos de reloj), ya que al intentar responder a cada solicitud iniciando un
programa separado saturara muy rpidamente un servidor.

La arquitectura de Microsoft prefiere usar DLLs para responder a solicitudes, ya que son
relativamente no costosas para cargar, y ejecutar cdigo dentro de una DLL se realiza muy
rpidamente. Las DLLs que manejan las solicitudes web son llamadas ISAPI DLLs.

Internet Information Services (IIS).


Todos los ambientes de aplicaciones web trabajan fundamentalmente de la misma forma. Sin
importar la plataforma de hardware/software que use, alguna parte de software es requerida en el
servidor para monitorear al puerto 80 (tpicamente) por solicitudes HTTP entrantes. Cuando llega
una solicitud, es trabajo del servidor responder de alguna manera a la solicitud en una forma
significativa. En la plataforma Microsoft, IIS es el guardian que intercepta las solicitudes HTTP del
puerto 80 - el puerto de entrada normal para solicitudes HTTP. Los servidores de internet usan
tambin otros puertos. Por ejemplo, HTTPS (HTTP Seguro) sucede sobre el puerto 443.

Cuando un navegador hace una llamada a un servidor ejecutndose en la plataforma Microsoft, IIS
intercepta esa llamada y busca el recurso identificado por el URL. IIS divide su espacio de directorio
en piezas manejables llamadas directorios virtuales. Cada directorio virtual tpicamente se refiere a
una sola aplicacin y es usado para mapear un directorio fsico en el disco duro del servidor a un
URL de internet. Usando directorios virtuales, uno por aplicacin, IIS puede servir mltiples
aplicaciones. Cada directorio virtual incluye varias propiedades de configuracin (por ejemplo:
opciones de seguridad, redireccin de manejo de errores y opciones de aislamiento de
aplicaciones).

Pginas Activas de Servidor (ASP - Active Server


Pages).
Microsoft desarroll originalmente Pginas Activas de Servidor (ASP) para animar a un gran nmero
de desarrolladores y no solo a los que usaban C++ para realizar el desarrollo web. Cuando apareci
IIS, era ciertamente un ambiente factible para desarrollar sitios web sobre la plataforma Microsoft
comparada con otras plataformas. De hecho, an puede ver algunos sitios hoy desarrollados como
sitios puros ISAPI DLL; slo observe las cadenas de conexin viajando entre el navegador y el
servidor.
Sin embargo, escribir un sitio entero usando slo ISAPI DLLs puede ser intimidante. Escribir ISAPI
DLLs en C o en C++ le da un control completo sobre cmo su sitio se desempear. Sin embargo,
junto con este control viene una cantidad igual de responsabilidad debido a que desarrollar software
usando C o C++ presenta numerosos retos.

Al presentar ASP, Microsoft provey una sola ISAPI DLL llamada ASP.DLL. Los desarrolladores
web ASP escriben su cdigo en archivos identificados con la extensin .asp. Los archivos ASP a
menudo contienen una mezcla de HTML esttico y secciones ejecutables (usualmente escritas en
un lenguaje de secuencias de comandos) que generan resultados en tiempo de ejecucin.

A continuacin se presenta un ejemplo de ASP clsico:

Utilice el bloc de notas para escribir y guardar el cdigo anterior con el nombre ejemplo4.asp en la
carpeta C:\Inetpub\wwwroot.

En una nueva ventana del navegador deber escribir http://localhost/ejemplo4.asp.

La salida que obtendr es similar a la figura siguiente:


NOTA: este ejemplo es nicamente con fines demostrativos respecto a la evolucin de
las pginas web, aunque es muy probable que no le funcione en su computadora. Si
ese es el caso, no se preocupe porque la asignatura no ser desarrollada de esta
manera.

Puede intentar corregir este problema seleccionando el botn Windows, Panel de


control, Programas, Activar o desactivar caractersticas de Windows, Internet
Information Services, World Wide Web Services, Application Development Features,
marcar la opcin ASP y reiniciar la computadora para que se aplique la nueva
configuracin.

IIS monitorea el puerto 80 por solicitudes. Cuando una solicitud llega, IIS ve la extensin del archivo
.asp y le solicita a ASP.DLL que maneje esta solicitud (as es como el mapeo de archivos se
establece). ASP.DLL simplemente reproduce el cdigo esttico HTML. Luego, cuando encuentra las
etiquetas de ejecucin (<% y %>), ejecuta esos bloques al correrlos en un analizador JavaScript
(observe la etiqueta de lenguaje en la primera lnea de cdigo).

A continuacin se presenta un segundo ejemplo sobre el uso de ASP clsico:


Utilice el bloc de notas para escribir y guardar el cdigo anterior con el nombre ejemplo2.asp en la
carpeta C:\\Inetpub\wwwroot.

En una ventana del navegador deber escribir http://localhost/ejemplo5.asp.

La salida que obtendr es similar a la figura siguiente:

Al cargar la pgina:
NOTA: recuerde que este ejemplo es nicamente con fines demostrativos respecto a la
evolucin de las pginas web, aunque es muy probable que no le funcione en su
computadora. Si ese es el caso, no se preocupe porque la asignatura no ser
desarrollada de esta manera.

Puede intentar corregir este problema seleccionando el botn Windows, Panel de


control, Programas, Activar o desactivar caractersticas de Windows, Internet
Information Services, World Wide Web Services, Application Development Features,
marcar la opcin ASP y reiniciar la computadora para que aplique la nueva
configuracin.

ASP .NET.
Todo esto nos lleva a ASP .NET. Un tema comn es que ASP .NET toma caractersticas
usualmente implementadas (una y otra vez) por desarrolladores y las incluye en el marco de trabajo
de ASP .NET.

ASP .NET ha estado evolucionando continuamente desde que fue liberado por primera vez. ASP
.NET 1.0 introdujo una estructura bien definida, un modelo de extensin viable, un modelo de
ejecucin de control del lado del servidor y numerosas caractersticas adicionales para hacer el
desarrollo de sitios web muy realizable. ASP .NET 2.0 llev a ASP .NET 1.0 al siguiente nivel e
implant an ms caractersticas comnmente implementadas en el marco de trabajo. Un ejemplo
es la adicin del subsistema de autenticacin.

Las principales liberaciones de ASP .NET se muestran a continuacin:

S-ar putea să vă placă și