01 Arquitecturas Web
Aplicaciones Web
Arquitecturas Web
Agenda
• Concepto
• Plataformas y tecnologías
• Ejemplos
Definición
“La arquitectura del software de un programa o un sistema de computación es
laestructura o estructuras del sistema, las cuales comprenden componentes
software, las propiedades visibles de estos componentes y las relaciones entre
ellos”
Bass, Clements, and Kazman. SoftwareArchitecture in Practice, AddisonWesley 1997.
“Es la descripción de los subsistemas y componentes de un sistema software y
las relaciones entre ellos, típicamente representado mediante vistas quemuestran las propiedades funcionales y no funcionales más relevantes.
Frank Buschman, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal:
Pattern-Oriented Software Architecture – A System ofPatterns; John Wiley & Sons
Ltd. Chichester, England, 1996
Aspectos generales
Escalabilidad
• Posible incremento vertiginoso del número de usuarios
• Se debe considerar
• Dimensionamiento correcto de laaplicación
• Adaptabilidad del sistema ante el incremento de demanda.
• Opciones
• Escalabilidad horizontal (Bases de Datos NoSQL)
• Escalabilidad vertical
• Clúster de servidores
Aspectos generalesEscalabilidad - Horizontal
• Balanceador por hardware
• Clonar el sistema y balancear la carga
• Distribución por algoritmos
predeterminados para las peticiones
HTTP entre los distintos clones delsistema
• El clon es aleatorio y no se garantiza
que diferentes peticiones de un
usuario sean servidas por el mismo
sistema
• Investigar: algoritmos
Aspectos generales
Escalabilidad - Horizontal
•Balanceador por software
•
•
•
•
•
Examinan el paquete a nivel del protocolo
HTTP para garantizar el mantenimiento de la sesión de usuario.
Distintas peticiones del mismo usuario son servidas por elmismo clon del servidor.
Más lentos que los balanceadores Hardware
Normalmente son soluciones baratas. Ej., módulo mod_jk de apache
• Balanceador Hardware HTTP
•
•
•
•
Hardware que examinan la...
Regístrate para leer el documento completo.