Documentos de Académico
Documentos de Profesional
Documentos de Cultura
WE 02 Arquitecturas PDF
WE 02 Arquitecturas PDF
Arquitecturas de una
Aplicacion Web
Copyright2017EdwinValencia
Visin General
INTRODUCCION
Copyright2017EdwinValencia
Arquitecturas de Software
Copyright2017EdwinValencia
Arquitecturas de Software
Requerimientos Funcionales
Clientes
Usuarios
Otros Stakeholders
Arquitectura
Requerimientos No Funcionales
Rendimiento
Escalabilidad
Reusabilidad
Otros?
6
Copyright2017EdwinValencia
Desarrollando Arquitecturas
Influencias sobre las Arquitecturas
Aspectos Tecnicos
Sistema Operativo
Middleware
Legacy Systems
Otros?
Arquitectura
Experiencia con
Arquitecturas existentes
Patrones
Administracion de Proyectos
Otros?
7
Copyright2017EdwinValencia
Desarrollando Arquitecturas
Copyright2017EdwinValencia
Patrones y Frameworks
Copyright2017EdwinValencia
Especificaciones de la Web apps
Requerimientos Globales
Multi linguas
Adaptacion Cultural?
E.g. Google for Korea
Copyright2017EdwinValencia
ARQUITECTURAS DE
UNA APLICACION WEB
Copyright2017EdwinValencia
Tipos de Arquitecturas
Aspecto de Capas
Separacin de intereses
A cuantos usuarios concurrentes serviremos?
Compartir necesidades entre multiples aplicaciones?
(e.g., securidad)
Aspecto de datos
Que tipo(s) de datos seran entregados?
Structurados vs. no estructurados
Bajo demanda vs. tiempo real
Cuales son los requerimientos de ancho de banda?
Tamao y naturaleza de los datos
Una vez mas, intereses del pblico
Copyright2017EdwinValencia
Tipos de Arquitecturas
Web Application
Copyright2017EdwinValencia
Arquitectura (Plataforma) web generica
Copyright2017EdwinValencia
Modelo Vista Controlador
Modelo
Encapsula el estado de la aplicacion
Responde a consultas del estado
Expone la funcionalidad de la aplicacin
Notifica cambios a la vista
Vista
Interpreta los modelos
Solicita actualizaciones a los modelos
Envia la interaccion del usuario al controlador
Permite al controlador seleccionar una vista
Controlador
Define el comportamiento de la aplicacin
Mapea acciones del usuario y actualiza el modelo
Selecciona la vista para responder
Uno por cada funcionalidad
Copyright2017EdwinValencia
Arquitecturas Web: Especificaciones
Limitaciones tecnologicas
HTTP
Amplia variedad de soluciones tecnicas
Servidores de aplicacin, proxies, firewalls, legacy applications
Dificultad para verificar la calidad
e.g., rendimiento dependen de varios componentes, como base de datos,
ancho de banda de la red, procesador, memoria, codigo,
Dificultad para mejorar la calidad
e.g., el rendimiento del cdigo no puede cambiar de forma sustancial el
rendimiento general
Soluciones tecnicas no homogeneas e inmaduras
Cortos ciclos de vida del producto
Falta de estandares impiden la integracion de componentes de diferentes
fabricantes
Muchas soluciones son open source: continuidad de desarrollo, extensibilidad,
Acceso global a aplicaciones web
Internacionalizacion, diferencias culturales
Copyright2017EdwinValencia
Modelo-Vista-Controlador 2 (MVC 2)
Copyright2017EdwinValencia
Client/Server (2-Layer)
Client
Client
Server
Copyright2017EdwinValencia
Arquitecturas de N-Capas
Client
Firewall
Proxy
Presentation Layer
Web Server
Business Layer
Application Server Backend
(Business Logic, Connectors,
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)
Data Layer
DBMS B2B
Copyright2017EdwinValencia
Porque una Arquitectura de N-Capas?
Copyright2017EdwinValencia
Arquitectura JSF
2
5
Copyright2017EdwinValencia
Middleware
2
6
Copyright2017EdwinValencia
Arquitectura: vista funcional (Frontend
Backend)
2
7
Copyright2017EdwinValencia
Arquitectura: componentes y tecnologa
2
8
Copyright2017EdwinValencia
Arquitectura vista de despliegue
2
9
Copyright2017EdwinValencia
FINALMENTE
Copyright2017EdwinValencia
Cosas a tener en cuenta
(resumen)
Copyright2017EdwinValencia
Bibliografia
Lectura obligatoria
Kappel, G., Proll, B. Reich, S. & Retschitzegger, W.
(2006). Web Engineering, Wiley & Sons. 4th Chapter
Web links
Model-View-Controller pattern
http://en.wikipedia.org/wiki/Model-View-Controller
Copyright2017EdwinValencia
Preguntas?
Copyright2017EdwinValencia
Preparacin del entorno de desarrollo
Copyright2017EdwinValencia