Arquitectura Web
Introducción
¡
Concepto de Arquitectura en Desarrollo Software
l
Concepción desde RUP
¡ ¡ ¡
Arquitectura física Distribución de nodos en la red Mapeo componente software – nodo computacional
¡
Concepto de Arquitectura software Moderno
l l l
Patrones de diseño de arquitectura Separación de responsabilidades No existe forma de representar arquitecturasoftware con las herramientas actuales (RUP-UML)
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
1
Aplicaciones Web con Java
¡
Fuerte apuesta por parte del sector privado:
l l l l l
Sun Microsystems. Extensiones J2EE BEA Systems con Weblogic IBM con WebSphere Netscape (y Sun) con iPlanet Orión – Oc4J Oracle 9IAS www.apache.org Desarrollo del servidor web apache, el másdifundido del mundo. Jakarta.apache.org Conjunto de frameworks y clases de utilidad como apoyo al desarrollo de aplicaciones basadas en java/J2EE. www.jboss.org Desarrollo del contenedor de EJBs Jboss. Gratuito y muy efectivo.
¡
Fuerte apuesta del mundo opensource!
l
l
l
Evolución de Modelos Arquitectónicos
¡
Modelo 1 Modelo 1.5
Servlets/JSPs MVC Model
¡
¡
Modelo 2Modelo 2X
¡
Multicanalidad
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
2
Modelo de Arquitectura 1 Aplicaciones CGI
¡ ¡ ¡ ¡
Las más primitivas Aplicaciones Web CGI Presentación, negocio y persistencia mezclados El estado se almacena en el cliente y cada petición supone una ejecución completa independiente de estado (Transacction Script)
Browser
Script CGIDatabase
Modelo de Arquitectura 1.5 JSP y Servlets
¡
Separación de responsabilidades:
l l
JSPs llevan la lógica de presentación (navegabilidad, visualización, etc.) Beans incrustados asumen las responsabilidades de negocio y datos
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
3
Modelo de Arquitectura 2 MVC
¡ ¡
Evolución del modelo 1.5 Incorporación del patrón de diseñoMVC.
l l l
Controlador: Navegación Negocio y Datos: Beans Presentación: JSPs
Modelo de Arquitectura 2 MVC con Struts
¡ ¡
Struts es la implementación del MVC que aporta Jakarta para aplicaciones web java. http://jakarta.apache.org/struts
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
4
Modelo de Arquitectura 2X Aplicaciones Multicanal
¡
¡
¡ ¡
Evolución delmodelo 2 para construir aplicaciones multicanal. Implementación de referencia STXX (extiende Struts) http://stxx.sourceforg e.net/ Soluciones basadas en XML y XSLTs.
Aspectos Generales en Arquitectura WEB
¡ ¡ ¡ ¡ ¡ ¡
Escalabilidad Separación de responsabilidades Portabilidad Componentización de los servicios de infraestructura Gestión de la sesión del usuario, cacheado de entidadesAplicación de patrones de diseño
PDF Creator - PDF4Free v2.0
http://www.pdf4free.com
5
Escalabilidad ¿Importancia?
¡
Característica principal apps WEB:
l
Posible incremento vertiginoso del número de usuarios El correcto dimensionamiento de la aplicación La adaptabilidad del sistema ante el incremento de demanda. Escalabilidad Horizontal Escalabilidad Vertical Cluster de servidores
¡Es importante:
l l
¡
Varias opciones:
l l l
Escalabilidad Horizontal
¡
Clonamos el sistema y balanceamos la carga.
Sistema Sistema
Balanceador
Usuarios Internet
Sistema
Sistema
6
Escalabilidad Horizontal. Balanceador HW
¡
¡ ¡
¡
Distribuye por algoritmos predeterminados (Round Robin, LRU, etc.) las peticiones HTTP entre los distintos clonesdel sistema La selección del clon es por tanto aleatoria Problema: No garantiza que diferentes peticiones de un mismo usuario sean servidas por el mismo clon del sistema -> No hay mantenimiento de la sesión del usuario en servidor -> Condiciona el Diseño!. La sesión la debe mantener el desarrollador por otros medios:
l l
Cookies En base de datos
¡
Al ser un proceso HW, es MUY rápido....
Regístrate para leer el documento completo.