Introducción
Concepto de Arquitectura en Desarrollo Software
Concepción desde RUP
Arquitectura física
Distribución de nodos en la red
Mapeo componente software – nodo computacional
Concepto de Arquitectura software Moderno
Patrones de diseño de arquitectura
Separación de responsabilidades
No existe forma de representar arquitectura software con las herramientas actuales (RUP-UML)
Aplicaciones Web con Java
Fuerte apuesta por parte del sector privado:
Sun Microsystems. Extensiones J2EE
BEA Systems con Weblogic
IBM con WebSphere
Netscape (y Sun) con iPlanet
Orión – Oc4J Oracle 9IAS
Fuerte apuesta del mundo opensource!
www.apache.org Desarrollo del servidor web apache, el más difundido 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.
Evolución de Modelos Arquitectónicos
Modelo 1
Modelo 1.5
Modelo 2
Modelo 2X
Servlets/JSPs
MVC Model
Multicanalidad
Modelo de Arquitectura 1Aplicaciones 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)
(Gp:) Browser
(Gp:) Script CGI
(Gp:) Database
Modelo de Arquitectura 1.5JSP y Servlets
Separación de responsabilidades:
JSPs llevan la lógica de presentación (navegabilidad, visualización, etc.)
Beans incrustados asumen las responsabilidades de negocio y datos
Modelo de Arquitectura 2MVC
Evolución del modelo 1.5
Incorporación del patrón de diseño MVC.
Controlador: Navegación
Negocio y Datos: Beans
Presentación: JSPs
Modelo de Arquitectura 2MVC con Struts
Struts es la implementación del MVC que aporta Jakarta para aplicaciones web java.
Modelo de Arquitectura 2XAplicaciones Multicanal
Evolución del modelo 2 para construir aplicaciones multicanal.
Implementación de referencia STXX (extiende Struts)
Soluciones basadas en XML y XSLTs.
Aspectos Generales enArquitectura WEB
Escalabilidad
Separación de responsabilidades
Portabilidad
Componentización de los servicios de infraestructura
Gestión de la sesión del usuario, cacheado de entidades
Aplicación de patrones de diseño
Escalabilidad¿Importancia?
Característica principal apps WEB:
Posible incremento vertiginoso del número de usuarios
Es importante:
El correcto dimensionamiento de la aplicación
La adaptabilidad del sistema ante el incremento de demanda.
Varias opciones:
Escalabilidad Horizontal
Escalabilidad Vertical
Cluster de servidores
Página siguiente |