You are on page 1of 21

1

Aquellas aplicaciones cuya interfaz se construye a partir de pginas web.


R= Aplicaciones web

Son ficheros de texto en un formato estndar denominado HTML (HiperText Markup Languaje)
que se almacenan en un servidor web al cual se accede utilizando protoloco HTTP (HyperText
Transfer Protocol).
R= Las pginas Web

Biblioteca portable para el desarrollo de interfaces graficas:
R= SWING

Etapas del ciclo de vida del software que ms recursos consume (del 40 al 80 %):
R= fase de mantenimiento

La capacidad de enlazar un texto con otro para crear un hipertexto es la caracterstica mas
destacable de las pginas web. Sus orgenes se remontan al sistema Memex ideado por Vannevar
Busch 1945.

Coleccin de documentos (nodos) con referencias cruzadas (enlaces), la cual podra explorarse con
la ayuda de un programa interactivo (navegar) que nos permitiese movernos fcilmente de un
documento a otro.
R= Hipertexto (Ted Nelson en 1965)

Para que los usuarios pendadn acceder a nuestra pgina web, solo necesitaremos:
R= Un servidor web que atienda las peticiones HTTP generadas por el navegador web del usuario
(ejemplos: Internet Information Server de Microsoft o el Apache)

R= Y una IP fija para la mquina donde alojemos el servidor HTTP.

Cadena de texto fcil de recordar que el servicio de nombres DNS traduce a la direccin IP
necesaria para establecer con xito una conexin con el servidor.
R= Nombre de Dominio

Configuracin tpica de una aplicacin web que se limita a ofrecer la informacin almacenada en
pginas HTML a las que el usuario final accede desde su navegador web utilizando el protocolo
HTTP.
R= HTML esttico

La creacin de aplicaciones web, en consecuencia, requieren la existencia de software
ejecutndose en el servidor que genere automticamente los ficheros HTML que se visualizan en
el navegador del usuario.

2

La diferencia entre las pginas dinmicas y las estticas consiste en que, ahora, el servidor HTTP
delega en otros mdulos la generacin dinmica de las pginas HTML que se envan al cliente.

Protocolo simple en el que se establece una conexin TCP independiente para cada solicitud del
cliente, sea que cada vez que el usuario accede a un fichero de nuestro servidor, lo hace de
forma independiente.
R= Protocolo HTTP

En ellas el contenido que se le muestra al usuario se genera dinmicamente para cada solicitud
proveniente del navegador web instalado en la mquina cliente.
R= Aplicaciones web

Las aplicaciones web slo se distinguen de las aplicaciones de escritorio tradicionales en que en
vez de implementar la interfaz de usuario utilizando un lenguaje particular como c/c# o Java, se
utilizan pginas web como punto de acceso a las aplicaciones.

Aplicaciones que construyen su interfaz utilizando formularios HTML, implementando su lgica en
sistemas distribuidos y suelen almacenar sus datos en sistemas gestores de bases de datos
relacionales.

R= Aplicaciones web multicapa

La lgica de la aplicacin se distribuye. El intercambio de mensajes en formato XML y el uso de
protocolos estndares de Internet nos permiten mantener conectadas las distintas partes de una
aplicacin, aunque sta haya de funcionar en un sistema distribuido heterogneo.
R= Servicios web

Caracterstica comn que comparten todas las aplicaciones web:
R= Centralizar el software para facilitar las tareas de mantenimiento y actualizacin de grandes
sistemas.

Se basa en construir un modelo basado en objetos del documento HTML, de forma que podamos
acceder fcilmente a los distintos elementos que lo componen.
R= El HTML dinmico (DHTML)

La modificacin dinmica de las pginas HTML se realiza a travs de:
R= pequeas macros o scripts que suelen incluirse en el mismo fichero de la pgina.

Facilita la creacin de pginas web dinmicas al ofrecer una forma de acceder a los distintos
elementos que componen una pgina web:
R= DHTML DOM (Document Object Model)

3

En el HTML dinmico, cada etiqueta HTML se convierte en un objeto con sus propiedades y
eventos asociados.

Estos han de proporcionarle al navegador el cdigo correspondiente a la respuesta prevista por el
programador para los distintos eventos que se pueden producir.
R= Scripts

Estas se ejecutan cuando se produce algn evento asociado a alguno de los elementos de la pgina
web de modo analgico a como se programa en cualquier entorno de programacin visual para
construir interfaces de usuario.
R= Las macros

Actualmente las macros se escriben utilizando JavaScript por cuestiones de portabilidad.

Estndar oficiao de JavaScrip ratificado por ECMA:
R= ECMAScript

javaScript es un lenguaje interpretado originalmente llamado LiveScript que Netscape desarrollo
para sus productos relacionados con la web.

En JavaScript y en Java, para declarar una variable no hay que especificar su tipo; basta con:
R= asignarle un valor que podemos obtener de alguno de los elementos de nuestra pgina web.

Var dato = document.forms (0) .elements (0). Value;

JavaScript es idependiente de Java, el primero es un estndar abierto, ratificado por ECMA igual
que el lenguaje C#, miestras que java es propiedad de Sun Microsystems.

Estos estn construidos sobre COM (Component Object Model), el modelo de Microsoft para
desarrollo de componentes anterior a la plataforma .NET, y se compilan previamente, lo que
permite su ejecicion ms eficiente:
R= Los controles Active X

Al ser una tecnologa de Microsoft, la inclusin de controles Active X en pginas web slo funciona
correctamente en el navegador web de Microsoft, el IE. Y suele utilizarse en aplicaciones web para
intranets.

Los controles Active X fueron la primera respuesta de Microsoft a los applets de Java. La segunda
fue la creacin de la plataforma .NET.

Son aplicaciones escritas en Java que se ejecutan en el navegador web. A diferencia de las macros
interpretadas de JavaScripts, estas son aplicaciones completas compiladas para la mquina virtual
4

Java, se adjuntan a las pginas web y pueden ejecutarse en cualquier navegador que tenga
instalada una mquina virtual Java:
R= Los applets

La ejecucin de un applet es, en principio ms lenta que la de un control Active X

Cuando se utiliza un applet, se descarga del servidor web el cdigo intermedio del applet
correspondiente a la mquina virtual Java; esto es:
R= Sus Bytecodes

Cada aplicacin se ejecuta en un espacio independiente llamado:
R= Sandbox

Son componentes que permiten alterar, mejorar o modificar la ejecucin de una aplicacin en la
que se instalan, por ejemplo para visualizar PDF o ejecutar Flash.
R= Plug-ins

Para incluir un fichero para el cual necesitemos un plug-in especifico, basta con incluir una
etiqueta:
R= EMBED en el HTML de la pgina web

Producto que permite construir aplicaciones web utilizando plug-ins, este mejora la capacidad de
HTML a la hora de construir interfaces de usuario sin salirse del navegador web, se paga no por la
licencia si no por la cantidad de datos que se transmiten comprimidos desde el servidor.
R= Curl (lenguaje comercializado por un spin-off del MIT

Las aplicaciones web pueden almacenar estas pequeas cadenas de texto en el navegador web del
cliente para realizar tareas como el mantenimiento de sesiones del usuario llamadas:
R= Cookies

En el servidor

Las aplicaciones que se ejecutan en el servidor pueden recibir informacin del cliente de distintas
formas y entre las ventajas ms destacables de las aplicaciones web desarrolladas de esta forma
estn su accesibilidad (desde cualquier punto de Internet), su fcil mantenimiento (no hay que
distribuir el cdigo de las aplicaciones ni sus actualizaciones), su relativa seguridad (el cdigo no
puede manipularlo el usuario, al que slo le llega una representacin de los daros que le
incumban) y su escalabilidad (utilizando arquitecturas multicapa y clusters de PCs resulta
relativamente sencilla ampliar en nmero de clientes a los que puede dar servicio la aplicacin).



5

Aplicaciones web compiladas: CGI

Nombre que se le da a una aplicacin web que recibe sus parmetros utilizando un estndar
donde se establece como han de comunicarse la aplicacin con el servidor web, y qye permite
ejecutar programas externos a un servidor HTTP:
R= Aplicaciones web compiladas CGI (Common Gateway Interface)

Hace referencia a un programa escrito en Java que se ejecuta en el servidor en vez de ejecutarse
en el navegador del cliente como los applets, este extiende el comportamiento del servidor web
de la misma forma que un CGI tradicional.
R= Servlets

ASP (Active Server Pages)
En vez de crear programas que incluyan en su interior el cdigo necesario para generar el
documento HTML, creamos documentos HTML que incluyen el cdigo de la aplicacin en su
interior.

Una pgina ASP/JSP contienen HTML esttico intercalando con scripts que se encargan de generar
HTML de forma dinmica.
R= Funcionamiento de las pginas de servidor

Las pginas ____ permiten crear aplicaciones web fcilmente incluyendo en los documentos HTML
fragmentos de cdigo escrito en un lenguaje como VBScript, lo ms usual, o JScript, la versin de
JavaScript de Microsoft.
R= ASP

Permite generar documentos HTML o XML de forma dinmica combinando plantillas estticas con
el contenido dinmico que se obtiene como resultado de ejecutar fragmentos de cdigo en Java,
tambin permite separar mejor la interfaz de usuario.
R= JSP

Una pgina ASP no es ms que un fichero HTML con extensin .asp (.aspx en el caso de ASP.NET)
al que le aadimos algo de cdigo.

La parte esttica de la pgina se enva junto con el resultado de ejecutar el cdigo en el servidor,
de ah el AS de ASP.

Funcin predefinida que nos devuelve la fecha y la hora que marque el reloj del sistema donde
este instalado el servidor web.
R= Now()


6

Funcin que encapsula los datos enviados desde el cliente y nos permite programar nuestra
pgina sin tener que conocer detalles del protocolo HTTP :
R= Request
En Visual Basic .NET los _____ son obligatorios en las llamadas a los mtodos.
R= ()

Es el nombre con el que se conoce la parte de la plataforma.NET que permite el desarrollo y
ejecucin tanto de aplicaciones web como de servicios web.
R= ASP.NET

Son las dos herramientas principales con las que se pueden construir interfaces de usuario en .NET
R= Los formularios Windows y los formularios ASP.NET

Las plataformas .NET: Los formularios ASP.NET y los formularios Windows son las dos alternativas
principales de las que dispone el programador para crear las interfaces de usuarios de sus
aplicaciones.

Eventos en ASP.NET: La respuesta de la aplicacin web se obtiene como resultado de ejecutar los
manejadores de eventos asociados a los controles incluidos en la interfaz de usuario.

Todos los controles que aparecen en la interfaz derivan de la clase:
R= System. Web.IU.Control

ASP.NET se encarga de mostrar los formularios web de la forma que resulte ms adecuada para el
navegador que utilice el usuario final de la aplicacin.

Estilos:

El primero consiste en incluir tanto los controles como el cdigo en un nico fichero .aspx.

El segundo mantiene los controles de nuestra interfaz en un fichero .aspx y dejar todo el cdigo en
un lugar aparte (code-behind page)

En HTML existen:

Parrafos (delimitados por la etiqueta <P>

Encabezados, empleados para definir ttulos y subttulos (de mayor a menos nivel, con las
etiquetas <H1> a <H6>

Enlaces para enganchar unas pginas con otras: <A HREF= url> texto

7

Las etiquetas <BODY> y </BODY> definen la parte principal o cuerpo del documento.

Negrita <B></B>
Cursiva <I></I>
Subrayado <U></U>
Centrado <CENTER></CENTER>
Tamao y color del tipo de letra <FONT SIZE = +1 COLOR = #rrggb></FONT>
Salto de lnea <BR>
Separador horizontal <HR>

HTML (De la 35 a la 45)

Formularios WEB

ASP.NET sustituye a las pginas interpretadas utilizadas en ASP por un sistema basado en
componentes integrados en la plataforma .NET. De esta forma podemos crear aplicaciones web
utilizando los componente que vienen incluidos en la biblioteca de clases de la plataforma .NET o,
incluso, creando nuestros propios componentes.

Ejecucin de Paginas ASP.NET

Cuando el usuario intenta acceder a un fichero con extensin .asp, el Internet Information Server
delega en la biblioteca asp.dll, que se encarga de interpretar la pgina ASP, cuando la pagina es
ASP.NET las solicitudes recibidas son enviadas a la biblioteca aspnet_isapi.dll

Estos mdulos sirven para crear aplicaciones web sin que en el servidor se tenga que crear nuevos
procesos cada vez que, como respuesta a una solicitud, se ha de crear dinmicamente una pagina
web.
R= Mdulo ASAPI

Biblioteca encargada de la ejecucin de las pginas ASP.NET
R= aspnet_isapi.dll

A diferencia de las pginas ASP tradicionales, las paginas ASP.NET se:
R= Compilan antes de ejecutarse. La primera vez que alguien accede a una pgina ASP.NET, sta se
compila y se crea un fichero ejecutable que se almacena en una cach del servidor web, un
assambly,de esta forma las siguientes ocasiones en las que se solicite la pagina, se podr usar
directamente el ejecutable.




8

Creacin de pginas ASP.NET
Una aplicacin web, generalmente, estar formada por varios formularios web. Cada uno de esos
formularios lo implementaremos como una pgina ASP.NET. En la plataforma .NET, las pginas
ASP.NET se construyen creando clases derivadas de la clase System.Web.IU.Page

Fichero que especificaremos el aspecto de nuestra interzas, utilizando tanto etiquetas HTML
estndar como etiquetas especficas para hacer referencia a los controles ASP.NET que deseemos
incluir en nuestra pgina.
R= fichero con extensin .aspx

Fichero en el cual incluiremos el cdigo de la lgica de la aplicacin:
R=Fichero con extensin .cs

Si el cdigo de la pgina ASP.NET cambia, el cdigo se recompilar automtica,ente, por lo que
podemos editar libremente nuestra pgina en el servidor y al acceder a ella ejecutaremos siempre
su versin actual.

Uso de controles en ASP.NET
En ASP.NET se utilizan controles predefinidos en la biblioteca de clases .NET

Dentro de ASP.NET los controles se indican en el fichero:
R= .aspx utilizando etiquetas de la forma <asp:/0>

Las etiquetas se encuentran dentro del cajn Web Forms del cuadro de herramientas

El identificador de un objeto es la propiedad ID

Todos los controles en una pgina ASP.NET deben estar dentro de una etiqueta <form> con el
atributo runat=server. Adems, ASP.NET requiere que todos los elementos HTML estn
correctamente anidados y cerrados (como sucede en XML)

Este evento nos permite especificar acciones que deseamos realizar antes de mostrarle la pgina
al usuario:
R= El evento Page_Load

El servidor web ser el encargado de interpretar las etiquetas correspondientes a los controles
Asp.NET y visualizar correctamente en el navegador del usuario, para lo cual tendr que generar el
cdigo HTML que resulte ms apropiado.

Estos controles representan etiquetas HTML tradicionales y funcionan de forma similar a los
objetos utilizados en JavaScript para manipular dinmicamente el contenido de una pgina web.
R= Los controles HTML
9


Estos controles estn asociados a las etiquetas especificas de ASP.NET y facilitan el desarrollo de
interfaces web utilizando un entorno de programacin visual como Visual Studio .NET
R= Los controles Web

Estos controles se emplean para validar las entradas introducidas por el usuario de una forma
relativamente cmoda.
R= Controles de validacin

Aparte de los controles dichos anteriormente el usuario puede crear sus propios controles para
simplificar la creacin de interfaces consistentes y evitar la duplicacin innecesaria de cdigo en
distintas partes de una aplicacin web.

Para que las etiquetas HTML sean programables en el servidor, solo tenemos que aadirle el
atributo:
R= runat = server

Si utilizamos Visual Studio .NET, para manipular un control HTML en el servidor slo tenemos que
seleccionar la opcin:
R= Ejecutar como control del servidor del men contextual asociado a la etiqueta HTML en el
diseo del formulario web.

La biblioteca de clases de la plataforma .NET incluye una gama bastante completa de
componentes que encapsulan las distintas etiquetas que pueden aparecer en un documento
HTML. Dichos componentes se encuentran en el espacio de nombres:
R= System. Web.UI.HtmlControls

Las etiquetas ms comunes en HTML tienen su control HTML equivalente en ASP.NET, por ejemplo
los enlaces o las imgenes en HTML, los cuales se representan como objetos de tipo HtmlAnchor y
HtmlImage en las pginas ASP.NET.

Si nos encontramos con que no existe un control HTML especifico para representar una etiqueta
HTML determinada, esto no impide que podamos manipular desde nuestra aplicacin web, ya que
existe un control genrico llamado:
R= HtmlGenericControl.

Controles:

htmlAnchor enlace
HtmlButton botn
Htmlform formulario
HtmlGenericControl Cualquier element HTML para el cual no existe un control HTML especifico
10

HtmlImage Imagen
HtmlInput Distintos tipos de entradas en un formulario HTML: Botones (button, submit y reset),
texto (text y password), opciones (checkbox y radio), imgenes (image), ficheros (file), y entradas
ocultas(hidden)
HtmlSelect Lista de opciones en un formulario
HtmlTable Tablas, filas y celdas
HtmlTextArea Texto en un formulario

Estos controles permiten desarrollar aplicaciones web compatibles con distintos navegadores y
facilitan la tarea de programador al ofrecerle un modelo de programacin basado en eventos:
R=Controles web

Variar en funcin del tipo de control que el programador decida incluir en su pgina ASP.NET:
R= etiqueta control

Especifica el identificador que le asociamos a la variable mediante la cual accederemos al control
desde el cdigo de nuestra aplicacin:
R= identificador

Existen componentes que nos permiten manipular las etiquetas ASP.NET desde el cdigo de la
aplicacin. Dichos componentes encapsulan a las distintas etiquetas ASP.NET y se encuentran en
el espacio de nombres:
R= System.Web.IU.WebControls y derivan de la clase WebControl

Tabla Pag. 61 (TABLA) ******************

Cuando el usuario rellena los datos de un formulario y alguno de los datos introducidos no verifica
la restriccin impuesta por el control de validacin, el control de validacin se encarga de
mostrarle un mensaje de error al usuario. Y se activa automticamente cuando se pulsa un botn,
ya tenga la forma de un botn estndar (button), de una imagen (ImageButton) o de un enlace
(LinkButton).

Pero se puede desactivar la validacin si establecemos a___ la propiedad de _______de dicho
botn.
R= false CausesValidation

Se puede forzar la validacin manualmente en el momento que nos interese mediante el mtodo
____ asociado a la pgina ASP.NET
R= Validate

Podemos forzar a que una entrada determinada est dentro de un rango vlido de valores con un
control de validacin del tipo:
11

R= RangeValidator

Todos los controles de validacin derivan de la clase:
R= System.Web.UI.WebControls.BaseValidator

Controles:

Compara el valor de una entrada con el de otra o un valor fijo:
R= CompareValidator

Permite implementar un mtodo cualquiera que maneje la validacin del valor introducido:
R= CustomValidator

Comprueba que la entrada est entre dos valores dados:
R= RangeValidator

Valida el valor de acuerdo a un patrn establecido como una expresin regular
R= RegularExpressionValidator

Hace que un valor de entrada sea obligatorio:
R= RequiereFieldValidator

Controles Creados por el Usuario:

A partir de una coleccin de controles ya existentes, el programador decide cmo han de
visualizarse conjuntamente. En vez de tener que repetir la disposicin del conjunto de controles
cada vez que hayan de utilizarse en la aplicacin, la coleccin de controles se encapsula en un
nico control. Cada vez que se desee, se puede aadir el control a un formulario web para mostrar
el conjunto completo de controles a los que encapsula.
R= Por composicin

Los controles se implementan como clases, estas clases heredarn, directa o indirectamente, de la
clase base de todos los controles web: la clase System.Web.UI.WebControl
R= Por derivacin

Nos permiten seguir utilizando la clase de la misma forma y, al mismo tiempo, mantener la
encapsulacin de los datos:
R= Las propiedades

Para encapsular un conjunto de controles en un nico control, lo nico que tenemos que hacer es
crear un control de usuario web, que nos permite definir el aspecto visual conjunto de una
coleccin de controles a los que encapsula.
12


La forma mas sencilla de utilizar un control web creado por el usuario es, en el mismo entorno de
desarrollo, arrastrar el control desde el Explorador de Soluciones hasta el lugar del formulario web
en el que deseamos que aparezca nuestro control.

La tecla____ nos llevar del diseador de formularios web al cdigo asociado a la pgina.
R= F7

Tcnicas habituales de programacin orientada a objetos:
R= encapsulacin, herencia y polimorfismo

Al solicitar una pgina ASP.NET desde un cliente, en el servidor se dispara el evento _______
asociado a la pgina antes de generar ninguna salida:
R= Page_Load

Si lo que deseamos es realizar alguna tarea solo la primera vez que un usuario concreto accede a la
pgina, hemos de emplear la propiedad__________, que posee el valor false cuando el cliente
visualiza por primera vez la pgina ASP.NET, mientras que toma el valor true cuando no es la
primera vez que la pgina ha de ejecutarse para ser mostrada.
R= Page.IsPostBack

Si queremos que la pgina se actualice en el mismo momento en que el usuario selecciona un
elemento de la lista, hemos de establecer a true la propiedad AutoPostBack del control de tipo
DropDownList que corresponde a la lista desplegable.

La propiedadAutoPostBack sirve para que, ante determinados eventos relacionados con acciones
del usuario, el estado de los controles de la pgina se enve automticamente al servidor. Esto
permite actualizar el contenido de la pgina conforme el usuario interacta con la aplicacin.

ASP.NET incluye un sencillo mecanismo por el cual se puede almacenar el estado de una pgina,
basndose en la utilizacin de un array asociativo (ViewState) en el cual podemos almacenar
cualquier objeto, siempre y cuando ste sea serializable

El estado de una pgina ASP.NET se define mediante un campo oculto incluido en el formulario
HTML correspondiente a la pgina y se le aade en el servidor a cada pgina que tenga un
formulario con el atributo runat =server
R= _VIEWSTATE

A nivel de la pgina, podemos emplear la directiva <%@ Page EnableViewState = false %> en la
cabecera del fichero .aspx. Esto deshabilita el mantenimiento del estado para todos los controles
de la pgina ASP.NET

13

A nivel de un control particular, podemos establecer su propiedad EnableViewState a false. De
esta forma, podemos controlar individualmente el comportamiento de las distintas partes de una
pgina en lo que se refiere al mantenimiento de su estado.

Aplicaciones Web

El protocolo _______ es un protocolo simple de tipo solicitud-respuesta incluido dentro de la
familia TCP/IP que se utiliza en Internet, lo que significa que cada vez que accedemos a una pgina
(en general, a un recurso accesible a travs de HTTP), se establece una conexin diferente e
independiente de las anteriores.
R= HTTP (HiperText Transfer Protocol)

Salvo que se indique lo contrario en la propia URL, la conexin con el servidor se establecer a
travs del puerto ______ TCP
R= 80

El protocolo HTTP slo distingue dos tipos de mensajes, solicitudes y respuesta, que se diferencias
nicamente en su primera lnea.

Sirve para que el cliente no tenga que descargar una pgina si sta no ha cambiado desde la ultima
vez que accedi a ella en el servidor.
R= If-Modified-Since

Con ella se averigua el sistema operativo y el navegador que usa el cliente al acceder al servidor
HTTP:
R= User-Agent

El final de una solicitud lo marca:
R= Una lnea en blanco

Mensaje:

xito ..Ok
Redireccin . Moved Permanently, Resource Temporarily Moved
Error en el cliente . Bad Request, Unauthorized, Forbidden
Error en el servidor. Internal Server Error

Cuando tenemos una aplicacin web con mltiples pginas ASP.NET, lo ideal es que cada pgina
sea independiente de las dems para facilitar su mantenimiento y su posible reutilizacin.

Cuando queremos redirigir al usuario a una URL concreta, lo nico que tenemos que escribir es lo
siguiente:
14

R= Response.Redirect (http://csharp.ikor.or)

El mtodo ______ de la clase _______ redirige al explorador del cliente a la URL especificada
utilizando la respuesta HTTP adecuada, mediante el uso del grupo de cdigos de estado 3xx
R= Redirect . HttpResponse

Cuando lo nico que queremos es enviar al usuario a otra pgina ASP.Net de nuestra propia
aplicacin, podemos utilizar el mtodo_____ de la clase_____
R= Transfer.HttpServerUtility

El mtodo Undo se encarga de deshacer cualquier cambio que se hubiese efectuado al ejecutar el
mtodo Do.

Todas las peticiones HTTP que reciba nuestra aplicacin se atienden a travs de nuestro
manejador, esto se consigue aadiendo lo siguiente en seccin System.we de un fichero XML
denominado Web.Config que contiene los datos relativos a la configuracin de una aplicacin
ASP.NET

Los mdulos HTTP son clases que implementan la interfaz IHttpModule y se pueden usar para
interceptar los mensajes HTTP correspondientes a solicitudes y a respuestas en varios momentos
de su procesamiento, por lo que al implementar un mdulo HTTP, deberemos decidir cundo se
interceptarn los mensajes.

Las hebras nos permiten ejecutar concurrentemente distintas tareas, para evitar que la pagina se
quede en blanco mientras piensa o termina de ejecutar una accin.

Existen dos tipos de hebras:

La hebra principal se encargara de mostrarle al usuario el estado actual de la aplicacin, estado
que se refrescara en su navegador automticamente gracias al uso de la cabecera Refresh,
definida en el estndar para las respuestas HTTP.

Una hebra auxiliar ser la encargada de ejecutar el cdigo correspondiente a efectuar todos los
clculos que sean necesarios para satisfacer la solicitud del usuario.

La clase auxiliar Results se limita a mantener una coleccin con los resultados de las distintas
hebras que se hayan lanzado, para que la pgina de resultados pueda acceder a ellos.

Finalmente, la pgina encargada de mostrar los resultados se refrescar automticamente hasta
que la ejecucin de la hebra auxiliar haya terminado y sus resultados estn disponibles.

15

Cabecera Cache-Control, que se utiliza en ocasiones para disminuir el trfico en la red no
accediendo al servidor cada vez que, a travs del navegador, se accede a una URL.

La cabecera Cache-Control: no cache garantiza que no se utiliza ningn tipo de cache al acceder a
determinada URL.
Definicin de cabeceras HTTP especficas para modificar el comportamiento por defecto de una
aplicacin web. En este caso, para que el usuario nunca acceda por error a versiones antiguas de
las imgenes almacenadas en un directorio, se evita que su navegador almacene copias locales de
estas imgenes.

Lo anterior equivale a: Response.AddHeader (Cache-Control, no-cache);

Para que una pgina ASP.NET quede almacenada en la cache de pginas y no sea necesario volver
a generarla basta con usar la directiva @OutputCache al comienzo del fichero .aspx
OutputCache Duration = 6 VaryByParam = none la pagina almacenada en cache caduca en 60
segundos, es decir se eliminara y en el siguiente acceso se volver a ejecutar la pgina.

Una cookie, es una pequea cantidad de datos almacenada en el cliente, es decir un par nombre-
valor acompaado por una fecha de caducidad.

Los cookies se usan para mantener sesiones de usuarios (conjuntos de conexiones HTTP
relacionadas desde el punto de vista lgico) y tambin para analizar los usos y costumbres de los
usuarios de portales web.

Para utilizar las cookies en ASP.NET basta con acceder a las propiedad Request.Cookies y
Response.Cookies.

El mtodo ProcessRequest es el encargado de procesar una solicitud HTTP concreta, a la cual se
puede acceder utilizando el objeto de tipo HttpContext que recibe como parmetro.

El mtodo IsReusable, sirve simplemente para indicar si una instancia de IHttpHandler puede
utilizarse para atender distintas solicitudes HTTP o deben crearse instancias diferentes para cada
solicitud recibida.

SessionStateModule es un modulo HTTP que se encarga de la gestin de sesiones de usuario en
ASP.NET.

Objetos:

HttpContext El entorno en el que se atiende la peticin
Request La peticin HTTP realizada por el cliente
Response La respuesta HTTP devuelta por el servidor
16

Server Algunos mtodos tiles
Application Variables globales a nivel de la aplicacin (comunes a todas las solicitudes recibidas
desde cualquier cliente)
Session Variables globales a nivel de una sesin de usuario (comunes a todas las solicitudes de
un cliente concreto)

Application y Session nos permiten manejar con comodidad las sesiones de usuarios en ASP.NET

En otras palabras, mientras que HttpContext, request y Response proporcionan el contexto de una
solicitud concreta, ViewState permite mantener el estado de un formulario concreto y finalmente
Session y Application proporciona un mecanismo sencillo para almacenar informacin del estado
de una aplicacin web.

Un array asociativo es un vector al que se accede por valor en vez de por posicin.

Fichero opcional en el que se incluye el cdigo destinado a responder a eventos globales:
R= Global.asax.cs

Los mtodos Session_Start y Aplication_Start se invocan cuando comienza una sesin de usuario y
cuando arranca la aplicacin web.

El identificador de sesin es un nmero aleatorio de 120 bits que se codifica como una cadena de
caracteres ASCII, y se trasmite utilizando la cookie ASP.NET_SessionId.

Para seleccionar la forma en la que deseamos transmitir el identificador de la sesin, lo nico que
tenemos que hacer es modificar el valor del atributo cookieless del elemento SessionState que
aparece en el fichero XML llamado Web.Config, por defecto su valor es False lo cual indica que
se utilizara la cookie ASP.NET_SessionId. Si ponemos la propiedad a true evitamos el uso de
cookies en ASP.NET

InProc. Los datos correspondientes a las sesiones de usuario se almacenan en la memoria del
proceso encargado de ejecutar las paginas ASP.NET

Proceso que nos permite mantener el estado de las distintas sesiones de usuario:
R= aspnet.state.exe

Para utilizar el proceso anterior tambin conocido como servidor de estado hemos de
especificar el modo StateServer en la seccin <SessionState/> del fichero web.config e indicar
cul es la cadena de conexiones que permite acceder al servidor de estado.

Consiste en el nombre de la mquina en la que se est ejecutando dicho servidor de estado y el
puerto TCP a travs del cual se puede acceder a l.
R= La cadena de conexin

StateServer: Despliegue de una aplicacin web ASP.NET en una granja de servidores. El dispositivo
NLB (Network Load Balancer) se encarga de repartir la carga entre varios servidores, mientras que
los datos de las sesiones de usuarios se almacenan en el servidor de estado.

17

Para utilizar una base de datos SQL como soporte para el mantenimiento de las sesiones de
usuario, lo primero que tenemos que hacer es crear la base de datos en el servidor SQL Server que
se vaya a utilizar con este fin. Para ello, no tenemos ms que ejecutar una de las macros
suministradas, InstallSqlState.sql para utilizar una base de datos en memoria (TempDB) o
InstallPersisSqlState.sql para crear una base de datos (ASPState) que sobreviva ante posibles
cadas del SQL Server.

Cuando utilizamos un servidor de estado fuera del proceso encargado de atender las peticiones,
en los modos StateServer o SQLServer, los datos almacenados en las sesiones del usuario han de
transmitirse de un proceso a otro, por lo que han de ser serializables. Esto es , las clases
correspondientes a los objetos almacenados han de estar marcadas con el atributo (Seralizable)

Consiste en establecer la identidad de la persona que intenta acceder a la aplicacin, lo que se
suele realizar a travs de un formulario de login.
R= La autenticacin

Consiste en determinar si el usuario, ya identificado, tiene permisos para acceder a un
determinado recurso:
R= La autorizacin

La seccin de autentificacin delimitada por la etiqueta <authentication> se utiliza para establecer
la poltica de identificacin de usuarios que utilizaran nuestra aplicacin, y tiene varios modos de
autenticacin como son:

Forms: se emplea para utilizar formularios de autenticacin en los que seremos nosotros los que
decidamos quin accede a nuestra aplicacin.

Passport: Permite que nuestra aplicacin utilice el sistema de autenticacin Passport de Microsoft

Windows: Se utiliza para delegar en el sistema operativo las tareas de autenticacin de usuarios,
con lo cual slo podrn acceder a nuestra aplicacin los usuarios que existan previamente en
nuestro sistema.

None: Deshabilita los mecanismos de autenticacin, con lo que cualquiera puede acceder a ella
desde cualquier lugar del mundo sin restriccin alguna.

Cuando se selecciona el modo Forms para autenticacin, tenemos que indicar el formulario
encargado de identificar a los usuarios de la aplicacin.

La seccin de autenticacin y autorizacin del fichero Web.config restringen el acceso a un
directorio y a todos sus subdirectorios en la aplicacin web. No obstante, en los subdirectorios se
pueden incluir otros ficheros Web.Config que redefinan las restricciones de acceso a los
subdirectorios de nuestra aplicacin web. Lo que nos permite tener partes publicas y privadas

Cualquier usuario: <allow users=*>

18

Para utilizar nuestras mismas claves de Windows debemos especificar Windows como modo de
autenticacin en el fichero Web.Config y deshabilitar el acceso annimo al directorio de nuestra
aplicacin.

Cuando utilizamos Forms y el usuario ya se identifico, la llamada al mtodo
RedirectFromLoginPage le ndica al IIS que debe darle permiso al usuario para acceder a la pgina
a la que inicialmente intento llegar.

Un pool de conexiones, permite compartir recursos de forma eficiente entre varios usuarios de la
aplicacin.

El protocolo HTTPS, esta basado en el uso de SSL (Secure Sockets Layer), un estndar que permite
la transmisin segura de datos, para ello tenemos que instalar un certificado en el IIS y aade a los
datos un cdigo de autenticacin HMAC (Keyed-Hashing for Message Authentication, RFC 2104),
este cdigo sirve para garantizar su integridad, si alguien manupula el mensaje durante su
transmisin, el cdigo HMAC no corresponder al mensaje recibido.

El modelo: encapsula el comportamiento y los datos correspondientes al dominio de la aplicacin.
Las vistas: consultan el estado del modelo para mostrrselo al usuario.

Los controladores: son los encargados de permitir que el usuario realice acciones.

El en modelo MVC: las vistas y los controladores dependen del modelo, pero el modelo no
depende ni de la vista ni del controlador. Esto permite que el modelo se pueda construir y probar
independientemente de la presentacin visual de la aplicacin. Adems, se pueden mostrar varias
vistas de los mismos datos simultneamente.

El mtodo InitializeComponent define el funcionamiento de la pgina al enlazar los controles de la
pgina con el cdigo correspondiente a los distintos eventos.


Tener la lgica de la aplicacin separada por completo de la interfaz es algo necesario para poder
realizar cmodamente pruebas que verifiquen el comportamiento de la aplicacin.

Controladores de pgina:
Se utiliza un controlador independiente para cada pgina de la aplicacin web. El controlador se
encargara de recibir la solicitud de pgina del cliente, realizar las acciones correspondientes sobre
el modelo y determinar cul es la pgina que se ha de mostrar el usuario a continuacin.

Controladores de aplicacin:

Se centraliza el control de la aplicacin en un controlador nico que se encargue de tramitar todas
las solicitudes que recibe la aplicacin web. Se llama front controller, que implementa dos partes:

Un manejador (handler) es el que recibe las peticiones. En funcin de la peticin y de la
configuracin de la aplicacin (que podra almacenarse en un sencillo fichero XML) el manejador
ejecuta la accin adecuada y elige la pgina que se le mostrara al usuario a continuacin.

19

Por otro lado el conjunto de acciones que puede realizar la aplicacin se modela mediante una
jerarqua de comandos, utilizado la misma filosofa que permite implementar las operaciones de
rehacer/deshacer en muchas aplicaciones. Todos los comandos implementa una interfaz unificada
y cada uno de ellos representa una de las acciones que se pueden realizar.
Al usar un controlador genrico e implementar las acciones como comandos independientes
tambin facilitamos la fase de prueba de la aplicacin.

Los componentes de la interfaz de usuario son los controles que los usuarios interactan.

Los componentes de procesamiento de la interfaz de usuario (componentes de procesamiento
para abreviar): son los que orquestan los elementos de la interfaz de usuario y controlan la
interaccin con el usuario.

Los controladores de la interfaz engloban las vistas del modelo MVC con las tareas realizadas por
los controladores MVC para adquirir, validar, visualizar y organizar los datos en la interfaz de
usuario.

Los componentes de procesamiento se encargan de mantener el estado de la aplicacin y
controlar la navegacin del usuario a travs de sus distintas pginas.

Mientras que los controles de la interfaz se encargan de garantizar el funcionamiento de un
contexto de interaccin, los componentes de procesamiento controlan el flujo de control de un
caso de uso.

Estos componentes de procesamiento se suelen denominar controladores de aplicacin. En
ocasiones para evitar confusiones se denominan controladores frontales a los controladores
MVC centralizados, haciendo referencia a que sirven de punto de acceso frontal para las
aplicaciones web.

Los componentes de procesamiento o de aplicacin son responsables de gestionar el flujo de
control entre las distintas pginas involucradas en un caso de uso, decidir como afectan las
excepciones que se puedan producir y mantener el estado de la aplicacin entre distintas
interacciones y ofrecerles a los controladores de la interfaz los datos que puedan necesitar para
mostrrselos al usuario.

En el caso de las aplicaciones Windows, los formularios incluirn una variable de instancia que
haga referencia al controlador de aplicacin concreto.

El controlador de aplicacin se coloca entre el modelo y la interfaz de usuario para orquestar la
ejecucin de los casos de uso.

Las paginas web se componen de cabeceras, pies de pgina, mens o barras de navegacin

En la creacin de sitios web, la distribucin del espacio disponible para los distintos componentes
de las pginas se puede efectuar, en principio, de dos formas diferentes:
1. Usando marcos (frames) para cada una de las zonas en las que dividamos el espacio disponible,
o empleando tablas con una estructura fija que proporcione coherencia a las distintas pginas de
20

nuestra aplicacin. Si usamos marcos, cada marco se crea como una pgina HTML independiente y
no se vera igual siempre, en funcin del navegador.
2. Usando tablas, pero si usamos tablas cada pgina deber incluir repetidos los elementos
comunes a las distintas pginas.
Modulo que se encarga del mantenimiento de las sesiones de usuario en todas las aplicaciones
web ASP.NET:
R= SessionStateModule

#include

Plantillas: En vex de que cada pgina incluya los detalles correspondientes a una plantilla general,
podemos seguir la estrategia opuesta: crear una plantilla general en la cual se va sustituyendo en
contenido manteniendo el aspecto general de la pgina. Para implementar esta estrategia en
ASP.NET, se nos ofrecen dos opciones: usa una pgina maestra o utilizar un control maestro.

Pagina maestra:
El usuario siempre acceder a la misma pgina .aspx pero su contenido variar en funcin del
estado de la sesin. En la pgina maestra se reserva un espacio para mostrar un control u otro en
funcin de la solicitud recibida.

Control maestro:
Para evitar los inconvenientes asociados a la creacin de una pgina maestra, se puede utilizar un
control maestro que se incluya en distintas pginas ASP.NET. El control maestro realiza las mismas
tareas que la pgina maestra, salvo que, ahora, el usuario accede a distintas pginas .aspx

Los controles incluidos como parte de la biblioteca de clases de la plataforma .NET ofrece un
mecanismo conocido con el nombre de enlace de datos (data binding) mediante el cual
podemos asociarle valores de forma dinmica a sus propiedades. Este mecanismo nos permite,
por ejemplo, mostrarle al usuario conjuntos de datos de una forma flexible, cambiar las opciones
existentes o modificar el aspecto de la aplicacin en funcin de las preferencias del usuario.

El enlace de datos se realizar automticamente cuando invoquemos el mtodo DataBind
asociado al control.

El mecanismo de enlace de datos e puede utilizar tanto en la construccin de aplicaciones
Windows como en la creacin de aplicaciones web con ASP.NET. Los formularios Windows
permiten automatizar las actualizaciones en el conjunto de datos. En ASP.NET, las actualizaciones
tendremos que implementarlas manualmente.

Un conjunto de botones de radio asp:RadioButtonList, para mostrar un conjunto de opciones
mutuamente excluyentes.

Un conjunto de botones de comprobacin asp:CheckBoxList, cuando las distintas opciones no son
mutuamente excluyentes.

Una lista convencional de tipo asp:Listbox, o, incluso,
Una lista desplegable de valores asp:DropDownList (cuando no dispongamos de demasiado
espacio en pantalla).
21


Sea cual sea el control utilizado, los valores permitidos se definen utilizando componentes de tipo
asp:ListItem.

La clase System.Array es la clase que representa un vector en la plataforma .NET y sirve como base
para todas las matrices en C#. Por su parte, la clase System.Collections.ArrayList nos permite crear
vectores de tamao dinmico. Ambas clases implementan el mismo conjunto de interfaces (IList,
ICollection, IEnumerable, ICloneable) y pueden utilizarse para enlazar colecciones de datos a las
propiedades de un control.

Cuando queremos asignarle dos valores a las propiedades de cada una de las opciones de una
lista, un simple vector no nos es suficiente. Hemos de utilizar colecciones que almacenen pares
clave-valor, como es el caso de las colecciones que implementan la interfaz IDictionary, como
pueden ser Hashtable o SortedList.

Una tabla hash, implementada en la biblioteca de clases .NET por la clase
System.Collections.Hashtable, es una estructuras de datos que contiene pares clave-valor y est
diseada para que el acceso a un valor concreto sea muy eficiente, O(1) utilizando la terminologa
habitual en el anlisis de algoritmos. El nico inconveniente de usar tablas hash es que no se
puede elegir el orden de presentacin de los elementos de la lista.

La funcin ReadXml() construye un conjunto de datos a partir del contenido de un fichero XML.

La funcin Server.MapPath() es la que nos permite buscar el fichero dinmicamente en el lugar
adecuado; esto es, en el directorio donde tengamos instalada la aplicacin web.

La etiqueta asp:Repeater corresponde a un control ASP.NET que permite mostrar listas y permite
aplicar una plantilla a la visualizacin de cada uno de los elementos del conjunto de datos.

El control asp:DataList es similar a asp:Repeater, si bien incluye por defecto una tabla alrededor de
los datos. Adems, se puede disear su aspecto de forma visual desde el diseador de formularios
del Visual Studio .NET.

La mayor parte de las veces que queremos mostrar un conjunto de datos, lo que nos interesa es
mostrar esos datos en forma de tabla con varias columnas perfectamente alineadas. En ese caso,
lo que tenemos que hacer es recurrir al control asp:DataGrid.

La paginacin consiste, bsicamente, en no trabajar con ms datos de los que resulten
estrictamente necesarios.

Los formularios de manipulacin de datos se construyen en torno a tres elementos:
- Un objeto que representa a una instancia de la entidad que el formulario manipula.
- Un mecanismo que permita mostrar el estado del objeto.
- Un mecanismo que permita modificar el estado del objeto.

Formularios maestro-detalle: Este tipo de formularios consiste, bsicamente, en mostrar los datos
relativos a un objeto y, debajo, representar un conjunto de datos relacionados directamente con
ese objeto.

You might also like