Contenido
1. Arquitectura de aplicaciones Web
2. Modelamiento de aplicaciones Web
Arquitectura Web
Arquitectura Web
Hasta el día de hoy, lo más importante en el desarrollo de
aplicaciones Web han sido las herramientas. Poco se ha
dicho sobre el proceso de desarrollo.
La fácil creación de hojas HTML y en general de sitios Web,
usando herramientas simples, ha hecho que el desarrollo de este tipo de aplicaciones se haga sin un trabajo serio de análisis y diseño.
Cualquier sistema de complejidad no trivial, necesita ser
analizado y modelado. Las aplicaciones Web, al igual que
otras aplicaciones, necesitan métodos formales de
análisis y diseño.
Una aplicación Web es un sitio Web donde la navegación a través
del sitio, y la entrada de datos por parte de un usuario, afectan el
estado de la lógica del negocio. En esencia, una aplicación Web
usa un sitio Web como entrada (front-end) a una aplicación típica.
…Si no existe lógica del negocio en el servidor, el sistema no puede
ser llamado aplicación Web.
[Conallen 99]
¿Es Altavista (o cualquier search engine) un sitio Web o una
aplicación Web? ¿Qué pasa con un sitio Web como el de Micro-
soft donde hay que registrase antes de bajar algún software?
Arquitectura Web
¿Cuál es la diferencia entre un sitio Web y una aplicación Web?
La arquitectura de un sitio Web tiene tres componentes principales:
un servidor Web, una conexión de red, y uno o más clientes (browsers).
El servidor Web distribuye páginas de información formateada a los
clientes que las solicitan. Los requerimientos son hechos a través de
una conexión de red, y para ello se usa el protocolo HTTP.
Arquitectura Web
Arquitectura básica de una aplicación/sitio Web
La información mostrada en las páginas está típicamente almacenada
en archivos. Sin embargo, muchas veces esta información está almace-
nada en una base de datos, y las páginas son creadas dinámicamente.
Los sitios Web que usan este esquema, son llamados sitios dinámicos.
Arquitectura Web
Páginas Web
Las páginas Web son el componente principal de una aplicación
o sitio Web. Los browsers piden páginas (almacenadas o creadas
dinámicamente) con información a los servidores Web.
En algunos ambientes de desarrollo de aplicaciones Web, las
páginas contienen código HTML y scripts dinámicos, que son
ejecutados por el servidor antes de entregar la página.
Una vez que se entrega una página, la conexión entre el browser
y el servidor Web se rompe (a diferencia de otros esquemas tipo
cliente/servidor). Es decir que la lógica del negocio en el servidor
solamente se activa por la ejecución de los scripts de las páginas
solicitadas por el browser (en el servidor, no en el cliente).
Arquitectura Web
Scripts en el cliente
Cuando el browser ejecuta un script en el cliente, éste no tiene
acceso directo a los recursos del servidor.
Hay otros componentes que no son scripts, como los applets o
los componentes ActiveX. Los scripts del cliente son por lo general
código JavaScript o VBSscript, mezclados con código HTML.
Arquitectura Web
La forma más común de capturar la información dada por el usuario,
es a través de formularios. Un formulario (form) es una colección de
campos de entrada: textbox, text area, checkbox, radio button group,
button y selection list.
Cuando un formulario es llenado, se envía al servidor usando una
operación submit solicitada por el usuario típicamente al hacer
click en un botón.
Arquitectura Web
Servidor Web
En muchas aplicaciones Web hay una capa intermedia,
compuesta por un conjunto de componentes, que se ejecutan
no necesariamente en el servidor Web, sino en otros servidores
de aplicaciones. Esta capa encapsula la lógica del negocio, y,
al ser componentes compilados puede contener objetos, con
sus métodos y atributos (llamados business objects).
Arquitectura Web
Arquitectura generalizada de una aplicación Web
Arquitectura Web
Modelando aplicaciones Web
Página siguiente |