Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Escalabilidad
Separación de responsabilidades
Portabilidad
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
ESCALABILIDAD HORIZONTAL
Se clona el sistema y se balancea la carga
sistema sistema
Usuarios Balanceador
de Internet
sistema sistema
ESCALABILIDAD
HORIZONTAL. BALANCEADOR HW
Distribuye por algoritmos predeterminados (Round Robin,LRU, etc.) las
peticiones HTTP entre los distintos clones del sistema
Garantiza que sea cual sea la máquina que sirva la petición http tendrá acceso a
la sesión del usuario (Replicación de sesión)
Arquitectura n-capas
Independencia de capas
SEPARACIÓN
DE RESPONSABILIDADES – EVOLUCIÓN
APLICACIONES MAINFRAME
APLICACIÓN
SERVIDOR
CLIENTE PRESENTACIÓN Y
NEGOCIO
SERVIDOR
NEGOCIO Y ACCESO A
DATOS
NEGOCIO + ACCESO
A DATOS
SEPARACIÓN
DE RESPONSABILIDADES – EVOLUCIÓN
APLICACIONES 3 CAPAS
LÓGICA DE NEGOCIO,
NEGOCIO PROCESOS DE NEGOCIO
COMPONENETES DE
PERSISTENCIA
ACCESO A DATOS
SEPARACIÓN
DE RESPONSABILIDADES – EVOLUCIÓN
Modelo de Brown n capas
LÓGICA DE NEGOCIO,
NEGOCIO PROCESOS DE NEGOCIO
COMPONENETES DE
PERSISTENCIA
ACCESO A DATOS
SEPARACIÓN
DE RESPONSABILIDADES – CAPA DE
PRESENTACIÓN
Comprende las responsabilidades de lógica de presentación:
Internacionalización
Renderizado de presentación
Etc.
SEPARACIÓN
DE RESPONSABILIDADES – CAPA DE
NEGOCIO
Comprende las responsabilidades de lógica de negocio (o
dominio) del sistema.
Inserción
Eliminación
Actualizaciones
Búsquedas
Etc.
Ej.:
Servicio de Log
Pool JDBC
Sistema de configuración
Gestor de permisos de acceso
Etc.
GESTIÓN DE LA SESIÓN DEL USUARIO
Aspecto muy delicado del sistema Cacheado de entidades en
Sesión de usuario
Contexto de la aplicación
Caducidad de la información
Refresco de datos
Rendimiento del sistema.
Consumo de recursos del sistema
APLICACIÓN DE PATRONES DE DISEÑO
Definición de patrón de diseño
GOF 94
Design Patterns
Thin ClientWeb
Web Delibery
THIN WEB CLIENT
El patrón arquitectural ThinWeb Client es útil para
aplicaciones basadas en Internet, en donde se garantice una
configuración mínima del lado del cliente. Toda la lógica de
negocio se ejecuta en el servidor durante el cumplimiento a
las solicitudes de página que realiza el navegador del cliente.
APLICABILIDAD
Script de cliente
Documento XML
Control ActiveX
Applet de Java
Java Bean
VISTA LÓGICA DE LA ARQUITECTURA THICK WEB
CLIENT.
DINÁMICA
Las dinámicas principales del patrón Thick Web Client
incluyen a los de ThinWeb Client más la capacidad de
ejecutar la lógica de negocio en el cliente. Al igual que con el
patrón Thin Web Client, todas las comunicaciones entre el
cliente y el servidor se realizan en las solicitudes de página.
La lógica de negocio sin embargo, puede ser parcialmente
ejecutada en el cliente con scripts, controles o applets.
CONSECUENCIAS
Como mucho, la mayor consecuencia de este patrón es la
portabilidad a través de implementaciones de navegador. No
todos los navegadores HTML soporte Java Script o Virtual
Basic. Además sólo los clientes de Microsoft basados en
Windows puede utilizar los controles ActiveX. Incluso
cuando una determinada marca de navegador del cliente se
utiliza exclusivamente existen diferencias sutiles en las
implementaciones del Document Object Model.
WEB DELIVERY
se llama así porque la Web se utiliza principalmente como un
mecanismo de entrega de otro modo tradicional de objetos
distribuidos sistema cliente-servidor. Desde un punto de vista este
tipo de aplicación es en realidad un objeto distribuido cliente-
servidor de aplicaciones que incluye un servidor Web y el
navegador cliente como importantes elementos arquitectónicos. Si
este sistema es una aplicación Web con objetos distribuidos o un
sistema de objetos distribuidos con elementos Web el último
sistema es el mismo.
APLICABILIDAD
El patrón de arquitectura Web Delivery es el más apropiado
cuando hay un control significativo sobre el cliente y
configuraciones de red. Este patrón no es especialmente
adecuado para aplicaciones basadas en Internet, donde no hay,
o muy poco control sobre las configuraciones de cliente, o
cuando las comunicaciones de red no son confiables.
USOS CONOCIDOS
El sitio Web de CNN Interactive es uno de los sitios más
concurridos de noticias en la red. La mayor parte de su
acceso al público se realiza con los navegadores
convencionales y recta HTML 3.2, sin embargo detrás del
sitio Web hay una sofisticada red basada en CORBA de los
navegadores, servidores, y los objetos distribuidos. Un caso
de estudio de este sistema publicó la computación
distribuida.
ESTRUCTURA
DCOM
RMI (JRMP)
VISTA LÓGICA DEL PATRÓN DE ARQUITECTURA DE
DISTRIBUCIÓN WEB.
DINÁMICA
Las principales dinámicas del modelo arquitectónico Web
Delivery son el uso del navegador para ofrecer un sistema de
objetos distribuidos. El navegador se utiliza para contener
una interfaz de usuario y algunos objetos de negocio que se
comunican, independientemente del navegador para los
objetos en el niverl del servidor. Las comunicaciones entre el
cliente y el servidor se realizan los objetos con los protocolos
IIOP, RMI y DCOM.
CONSECUENCIAS
Como mucho, la mayor consecuencia de este patrón es la
portabilidad a través de implementaciones de navegador. El
uso de este patrón requiere una red sólida. Las conexiones
entre el cliente y el servidor duran mucho más que las
conexiones HTTP.
MUCHAS GRACIAS