Vous êtes sur la page 1sur 11

Conceptos de aplicaciones WEB En la ingeniera software se denomina aplicacin web a todas aquellas aplicaciones que los usuarios pueden

utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicacin de software que se codifica en un lenguaje soportado por los navegadores web (HTML, JavaScript, Java, etc.). En este tipo de aplicaciones se confa gran parte de la ejecucin de las mismas a las caractersticas y prestaciones del propio navegador. Las aplicaciones web son populares debido a lo prctico de un navegador web como cliente ligero, as como tambin la facilidad para actualizar y mantener las aplicaciones sin necesidad de distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en lnea, entre otros que son ejemplos bien conocidos de aplicaciones web. Una aplicacin Web est conformada por una serie de pginas Web relacionadas en alguna estructura lgica que en conjunto realizan una tarea til al usuario final. Es importante mencionar que una pgina Web puede contener tanto elementos estticos, como elementos dinmicos, siendo estos ltimos los que llevan a cabo una comunicacin directa con las fuentes de informacin que alimentan la aplicacin. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la pgina responder a cada una de las acciones realizadas por el usuario sobre la interfaz. Las acciones pueden ir desde presionar un botn o una liga, rellenar y enviar formularios, as como participar en juegos interactivos. Arquitectura cliente-servidor Cuando empezaron a desarrollarse las aplicaciones distribuidas, es decir, cuando se comenzaron a usar las redes para compartir el uso de las aplicaciones, surgi la necesidad de una arquitectura que permitiera que varias computadoras en una red pudieran compartir datos e interfaces para poder trabajar en manera colaborativa, ante esto, surgi la arquitectura cliente-servidor en la que cada aplicacin tena su propio programa cliente que serva como interfaz de usuario, y que deba ser instalado en cada computadora personal. El cliente realizaba peticiones a otro programa -el servidor- que le daba una respuesta. Cualquier modificacin en la aplicacin en el servidor, requera normalmente una modificacin de los clientes y por consiguiente un proceso de reinstalacin del mismo, aadiendo un costo de soporte tcnico y disminuyendo la productividad.

Caractersticas de un cliente En la arquitectura cliente servidor el remitente de una solicitud es conocido como cliente. Sus caractersticas son: Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin (dispositivo maestro o amo). Espera y recibe las respuestas del servidor. Por lo general, puede conectarse a varios servidores a la vez. Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica de usuario. Caractersticas de un servidor En los sistemas cliente servidor el receptor de la solicitud enviada por cliente se conoce como servidor. Sus caractersticas son: Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean entonces un papel pasivo en la comunicacin (dispositivo esclavo). Tras la recepcin de una solicitud, la procesan y luego envan la respuesta al cliente. Por lo general, aceptan conexiones desde un gran nmero de clientes (en ciertos casos el nmero mximo de peticiones puede estar limitado). No es frecuente que interacten directamente con los usuarios finales. Entre las desventajas de las aplicaciones cliente servidor se encuentran:

Poca escalabilidad: Ya que cuando el nmero de clientes aumenta, es necesario que


los recursos del servidor aumenten, ya que este debe tener un espacio de memoria, disco y ancho de banda dedicado para cada uno de los clientes.

Saturacin del ancho de banda: Puesto que es necesaria una conexin permanente

entre el cliente y la aplicacin servidor, cada una de estas conexiones consume una fraccin del ancho de banda disponible. Este factor se vuelve importante cuando se tratan aplicaciones fuera de la red LAN de la empresa.

El protocolo http El protocolo denominado HTTP por sus siglas en ingls HyperText Transfer Protocol, es el protocolo usado en cada transaccin que se realiza en la Web (WWW). Este protocolo fue desarrollado por el consorcio World Wide Web Consortium (W3C) y la Internet Engineering Task Force (IETF), cuya colaboracin resulto en la publicacin de una serie de documentos publicados en 1999 para su revisin, siendo el ms importante de ellos el RFC 2616, que especifica la versin 1.1. HTTP define la sintaxis y la semntica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema peticin-respuesta entre un cliente y un servidor.

El elemento que efecta la peticin (normalmente un navegador o un spider) se lo conoce como "user agent" (agente del usuario). A la informacin transmitida se la llama recurso y se la identifica mediante un URL. Los recursos pueden ser archivos, el resultado de la ejecucin de un programa, una consulta a una base de datos, la traduccin automtica de un documento, etc. HTTP es un protocolo sin estado, es decir, que no guarda ninguna informacin sobre conexiones anteriores. Sin embargo, el desarrollo de aplicaciones web necesita frecuentemente mantener un estado, para esto se usan las cookies, que es informacin que un servidor puede almacenar en el sistema cliente, esto le permite a las aplicaciones web instituir la nocin de "sesin", y tambin permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado. Ciclo de vida de una peticin Web Una parte importante para el desarrollo de aplicaciones Web es el entender los del servidor Web, el navegador Web y HTTP. El proceso de comunicacin tpico puede ser generalizado en los siguientes pasos: 1. 2. 3. 4. El navegador Web inicia una solicitud para un recurso del servidor Web HTTP es usado para enviar peticiones GET al servidor Web. El servidor Web procesa la solicitud. El servidor Web enva una respuesta al navegador Web. El protocolo HTTP es usado para enviar la respuesta HTTP al navegador Web. 5. El navegador Web procesa la respuesta, desplegando la pgina Web 6. El usuario introduce datos y realiza una accin, tal como presionar un botn de enviar que causa que los datos sean enviados de vuelta al servidor Web. 7. HTTP es usado para enviar (POST) los datos de vuelta al servidor. 8. El servidor Web procesa los datos. 9. El servidor Web enva la respuesta de vuelta al navegador Web. 10. HTTP es usada para enviar una respuesta HTTP al navegador Web. 11. El navegador Web procesa la respuesta, desplegando la pgina Web. Formularios Web Un formulario web (WebForm en ingls) es un tipo de formulario presentado en un navegador Web y que puede ser capturado de manera remota al punto de solicitud de la informacin, esto mediante el uso de una red como internet o un ambiente ms restringido como una intranet. Generalmente, al enviar los datos, estos son recibidos en un servidor web para ser procesados. Los formularios web pueden ser usados para suscripciones, encuestas, eleccin de opciones, enviar palabras para los buscadores, etc. Los formularios web generalmente son hechos en HTML y en estos pueden usarse los siguientes elementos: Campos de texto (input field) Campos ocultos (hide field) reas de texto (textarea) Casillas de verificacin (checkbox)

Botones de opcin mltiple (radio button) Grupos de opcin Listas o Mens (con opcin a Men de salto) Botones (submit)

Estos elementos son los ms comunes en una interfaz GUI, pero no provee todos. La figura siguiente muestra un ejemplo de un formulario Web para la captura de informacin referente a una encuesta de sugerencias. Ejemplo de un formulario Web:

Qu es ASP? Active Server Pages (ASP) es una tecnologa de Microsoft del tipo "lado servidor" para pginas web generadas dinmicamente, esta tecnologa ha sido comercializada como un anexo a Internet Information Services (IIS). ASP intenta ser solucin para un modelo de programacin rpida ya que programar en ASP es como programar en VisualBasic. Lo interesante de este modelo tecnolgico es poder utilizar diversos componentes ya desarrollados como algunos controles ActiveX as como componentes del lado del servidor. Las pginas pueden ser generadas mezclando cdigo de scripts del lado del servidor (incluyendo acceso a base de datos) con HTML. Se facilita la programacin de sitios web mediante varios objetos integrados, como por ejemplo un objeto de sesin basada en cookies, que mantiene las variables mientras se pasa de pgina a pgina. A partir de ASP.NET se reemplazan los lenguajes interpretados como VBScript o JScript por lenguajes compilados a cdigo intermedio (llamado MSIL o Microsoft Intermediate Language) como Visual Basic, C#, o cualquier otro lenguaje que soporte la plataforma .NET. El cdigo MSIL se compila con posterioridad a cdigo nativo.

Creacin de una pgina ASP Para crear una pgina ASP, es necesario la creacin de una aplicacin Web donde incluiremos nuestra pgina. Para ello veremos la manera de crear dicha aplicacin en Visual Studio 2005 y se definirn los diferentes tipos de proyectos para nuestro sitio Web. En Visual Studio 2005, la estructura de las aplicaciones ha sido cambiada para reflejar de una mejor manera la forma en que las aplicaciones Web son construidas. Los proyectos Web se llaman ahora sitio Web. Existen diferentes opciones para ejecutar y probar las aplicaciones basndose en el tipo de sitio web que se defini. Un nuevo sitio Web puede ser: basado en el sistema de archivos local, basado en FTP, basado en HTTP local o en HTTP remoto. Estas opciones simplifican los requerimientos del sistema en la mquina del desarrollador.

El sitio Web basado en sistema de archivos local consiste de un forder (carpeta) o


estructura de folders que contiene todos los archivos del sitio Web.

El sitio Web basado en FTP es usado cuando deseas usar un cliente FTP para
administrar los archivos en un sitio Web local o remoto. Esta opcin es usada principalmente cuando el sitio Web esta hospedado en una mquina remota y el acceso es mediante un cliente FTP en lugar de extensiones de servidor de Front Page.

El sitio Web basado en HTTP local es usado cuando estas trabajando con una
versin del IIS instalado en la mquina local. Esta aplicacin ser configurada en la raz del servidor http o en un directorio virtual que es configurado como una aplicacin.

Una vez definido cual es el tipo de sitio que vas a crear, Visual Studio crea una serie de archivos y directorios que definen la estructura del sitio Web. Cuando una pgina ASP.Net es creada, debe tener una extensin .aspx . la pgina Web tpica es compuesta por tres secciones que se describen a continuacin:

1. Directivas de pgina: usadas para configurar el ambiente, especificando la


manera en la cual se va a procesar la pgina. Por ejemplo si es necesario especificar un ensamble o un espacio de nombres (namespace).

2. Cdigo: conteniendo el cdigo que maneja los eventos de la pgina o los


controles. El cdigo puede ser colocado dentro de etiquetas <script>. Por defecto el cdigo contiene cdigo del lado del cliente, pero se puede configurar cdigo que se ejecute del lado del servidor mediante la inclusin del atributo runat=server en la etiqueta <script>. El cdigo tambin puede ser incluido en archivos externos llamados archivos de cdigo trasero (code-behind files), todos el cdigo este en la pgina o en un archivo externo es compilado antes de su ejecucin.

3. Plantilla de pgina: es la parte esttica de la pgina, constituida por el cdigo


HTML, puede incluir controles del lado del cliente o del servidor, as como texto simple.

Formularios ASP .NET Todos los controles de servidor deben aparecer dentro de una etiqueta <form>, y la etiqueta <form> debe contener el atributo runat="server". El atributo runat="serverindica que el formulario debe ser procesado en el servidor. Tambin indica que los controles encerrados por la etiqueta pueden ser accesados por scripts de servidor Enviando una forma Para enviar un formulario normalmente se realiza una accin sobre un botn. Gestin del estado Cuando un formulario es enviado en una pgina ASP clsica, todos los valores de los controles son borrados. Supngase que se enva una forma con gran cantidad de informacin en ella y el servidor responde con un error. Tendras que regresar al formulario para corregirlo, presionas el botn atrs del navegador y que sucede, TODOS los valores del formulario han sido borrados, y tienes que volver a capturar la informacin. El sitio no conserva el estado de tu pgina. Existen diversas formas de conservar el estado de una pgina en ASP .Net, algunas son del lado del cliente y otras del lado del servidor, los diferentes mecanismos para conservar el estado son: Control de estado del lado del cliente View state Estado de control Campos ocultos Cookies Query strings Control de estado del lado del servidor Application State Session State Las pginas ASPX Si nos vamos a lo fundamental es posible crear una pgina ASP.NET usando el bloc de notas y sin saber nada de la plataforma .NET y de sus diferentes espacios de nombre. Las pginas de servidor de ASP.NET son en esencia archivos de texto que contienen HTML y etiquetas y que tienen una extensin '.aspx'. Por ello se les denomina de modo genrico pginas ASPX. Al igual que las pginas ASP clsicas soportan el uso de etiquetas <% %> para delimitar bloques de cdigo.

Creacin de pginas Web en Visual Web Developer 2005 Para crear un nuevo proyecto ASP.NET utiliza el men ArchivoNuevoSitio Web. Al hacerlo aparecer un cuadro de dilogo como el de la figura:

El cuadro de dilogo de nuevo proyecto web. En l tenemos la oportunidad de elegir qu tipo de proyecto vamos a crear (por defecto un sitio web de ASP.NET), en qu ubicacin fsica queremos crearlo (lo normal ser en nuestro disco duro pero podramos elegir un sitio gestionado por FTP o HTTP) y con qu lenguaje de programacin. Existen diferentes lenguajes que nos sirven para crear el cdigo de nuestras pginas. En nuestro caso usamos Visual Basic .Net. Explorando el entorno Tras crear un proyecto nuevo, el entorno tiene un aspecto similar a este:

Explorador de soluciones Este elemento contiene un rbol con los proyectos en los que estamos trabajando y los diferentes archivos y carpetas que forman parte de ellos. Nada ms crear un nuevo proyecto Web slo existe una carpeta llamada App_Data, y una pgina ASPX creada de forma predeterminada que est vaca y es con la que comenzaremos a trabajar.Los botones de la parte superior se usan para realizar diversas acciones sobre el elemento que tengamos seleccionado. Por ejemplo en el caso de la pgina podemos abrir su diseo o su cdigo presionando respectivamente el tercer y cuarto botones por la derecha. rea de documentos

rea de documentos mostrando un editor de HTML.

Es la zona situada en el centro del entorno de desarrollo. Contiene los diferentes editores de cdigo as como diseadores de diversos tipos (de interfaz de usuario, de clases, de DataSets...). Es en donde pasaremos la mayor parte del tiempo trabajando. Cuadro de herramientas

Cuadro de herramientas y detalle de un algunos grupos de ste. El cuadro de herramientas contiene los diferentes elementos que podemos utilizar para la definicin de la interfaz de usuario de nuestra aplicacin, as como algunos otros componentes no visuales que tambin se pueden arrastrar hacia el diseador visual de pginas Web. Est situado por defecto en el lateral izquierdo del entorno. Los controles de ASP.NET ASP.NET ofrece una gran cantidad de controles que se pueden usar en los desarrollos de aplicaciones Web.

Controles HTML Controles Web Controles de validacin

Controles HTML Se trata de controles muy tiles en determinadas ocasiones en las que no necesitamos todas las ventajas que nos ofrecen los controles de servidor, por ejemplo:

No vamos a acceder a sus mtodos y


propiedades desde el servidor.

Quiz no necesitamos que mantengan su estado o respondan a evento alguno. El uso del campo oculto ViewState puede cargar la pgina en exceso si hay muchos controles, por no mencionar que hay que crear clases en el servidor que los representen cuando se procesa la pgina. Todo ello reduce la respuesta de la pgina.

Controles Web Son controles nativos de ASP.NET. Aunque algunos parecen asimilables a controles HTML, todos van mucho ms all en cuanto a caractersticas y capacidades. De hecho, aunque algunos son relativamente sencillos (como una etiqueta, un botn o un cuadro de texto), existen controles muy complejos que sera difcil recrear desde cero con HTML y JavaScript. Por ejemplo el control calendario, las rejillas de datos, los controles maestro detalle, validadores, etc... Sus mtodos y propiedades tienen nombres consistentes con el resto de la plataforma. Por ejemplo, para fijar el texto de un botn o de una etiqueta se usa la misma propiedad Text. Para establecer el color de fondo todos usan BackColor. Esto hace que sea ms fcil el desarrollo porque no hay que memorizar nomenclaturas diferentes para cada control. Controles Web de validacin Dentro de los controles de ASP.NET existe un grupo "Validacin" que, como es fcil imaginarse, contiene una serie de controles que permiten realizar de manera cmoda la validacin de datos introducidos por los usuarios.

Estos controles permiten definir reglas de validacin en la entrada de datos. Dichas reglas se asocian con otros controles que forman parte del formulario web, y se combinan entre ellos para especificar mltiples restricciones sobre los datos introducidos. Las condiciones tpicas son, por ejemplo, que un campo no se puede quedar vaco, que tiene que estar comprendido dentro de un rango determinado o incluso que debe cumplir con una expresin regular que indiquemos. Por supuesto es posible tambin definir reglas propias personalizadas. La principal ventaja de estos controles es que permiten la definicin de reglas de validacin de forma declarativa, es decir, no hace falta escribir cdigo para usarlos. Ello facilita mucho el desarrollo y el mantenimiento de las reglas de validacin. Una vez que definamos las reglas para un formulario los controles de validacin se encargan automticamente de validarlas tanto en el cliente como en el servidor. En el lado cliente se convertirn en cdigo JavaScript muy parecido al que nosotros usaramos, actuando de primera barrera y evitando viajes innecesarios al servidor. Las comprobaciones del lado del servidor nos evitan problemas cuando, por el motivo que sea, no han actuado las validaciones en el cliente. Controles de validacin y su utilidad. Control RequiredFiledValidator RangeValidator Utilidad Verifica que el control asociado no se encuentra vaco. Genera un mensaje de error cuando el contenido de su control asociado est fuera de un rango de valores dado. Permite validar intervalos numricos (enteros o decimales o monedas), fechas y cadenas de texto. Compara un texto introducido por el usuario con una expresin regular. Permite comparar el valor introducido por el usuario con una constante o con el valor de la propiedad de otro control. Se usa para implementar lgica de validacin propia tanto en el cliente como en el servidor.

RegularExpressionValidator CompareValidator

CustomValidator

Vous aimerez peut-être aussi