Patrones Arquitectónicos
Patrones Arquitectónicos
Patrones Arquitectónicos
Este patrón es el mas apropiado para aplicaciones basadas en Internet o para estos ambientes
en el cual el cliente tiene mínimo poder de computo o no hay control sobre esta configuración.
Casos conocidos
La mayoría de las aplicaciones de e-commerce usan este patrón dado que no se pueden perder
Estructura
Cliente browser: solo tiene la capacidad de aceptar y retornar cookies y que todas las
Servidor web: todos los accesos al sistema por parte del cliente los hace a través del
entrada(HTML).
Pagina servidor: Estas páginas son ejecutables por módulos que tienen
potencialmente tienen acceso a todos los recursos al lado del servidor incluyendo la
lógica del negocio, base de datos, sistemas herederos y cuentas del sistema.
Servidor de aplicaciones: El servidor de aplicaciones es lógicamente un elemento
Web.
El punto clave del comportamiento dinámico de este patrón es que la lógica de negocio sólo
se invoca durante el proceso de una solicitud de página. Una vez que la solicitud de la página se
El uso de secuencias de comandos (scripts) del lado del cliente y los objetos personalizados,
como los controles ActiveX y Applets de Java. El patrón Thick Web Client recibe el nombre de
que el cliente puede ejecutar alguna lógica de negocio del sistema y por lo tanto se convierte en
Aplicabilidad
diferencia de la anterior es el rol que juega el browser en la lógica del negocio del cliente.
Los dos motivos fuertes para el uso de Thick Web Client son la capacidad de mejorar la
interfaz de usuario del cliente y la ejecución de lógica de negocio. Una sofisticada interfaz de
usuario podría ser utilizada para visualizar y modificar modelos tridimensionales, o animar un
recuento de azúcar, y otros signos vitales pueden ser utilizados por un organismo que debe
controlar a los pacientes geográficamente remotos sobre una base diaria, y ser capaz de reducir
Estructura
La comunicación entre el cliente y el servidor son hechos vía http en la que los objetos
controles ActiveX, Java Applet están limitados a interactuar con los objetos del cliente.
Utiliza ciertas capacidades del navegador, como los controles ActiveX o Applets de Java para
ejecutar la lógica de negocio en el cliente. Los controles ActiveX son compilados, programas
binarios ejecutables que se pueden descargar en el cliente a través de HTTP, e invocado por el
navegador.
Control ActiveX: Objeto COM que se puede hacer referencia en un script de cliente y
"descargar" al cliente si es necesario. Al igual que cualquier objeto COM, tiene pleno
un navegador. Por razones de seguridad tiene acceso limitado a los recursos del lado del
página. La lógica del negocio puede ejecutarse en el cliente con scripts, controles o applets en la
El modelo de arquitectura 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.
Aplicabilidad
Este patrón de arquitectura es el más apropiado cuando hay un control significativo sobre el
basadas en Internet, donde no hay, o muy poco control sobre las configuraciones de cliente, o
Las mayores fortalezas de esta arquitectura es su capacidad para aprovechar los objetos de
negocio existentes en el contexto de una aplicación Web Lo más importante de esta arquitectura
comunicación directa y persistente entre el cliente y el servidor, con esto se superan los
Estructura
La diferencia más significativa entre Web Delivery y los patrones de arquitectura de
modelos el principal mecanismo fue HTTP, un protocolo sin conexión que limita severamente el
diseñador cuando se trata de la actividad interactiva entre el usuario y el servidor. Los elementos
en una máquina interactúen e invoquen con métodos sobre los objetos en otro equipo.
los objetos en otras máquinas. JRMP (Java Remote Method Protocolo) es el protocolo
nativo de RMI.
Una de las fortalezas es que el browser tiene la capacidad de descargar componentes del
servidor. Quiere decir que cualquier computador con un browser puede acceder a la aplicación,
Patrón cliente-servidor
Este patrón consiste en dos partes; un servidor y múltiples clientes. El componente del
servidor proporcionará servicios a múltiples componentes del cliente. Los clientes solicitan
servicios del servidor y el servidor proporciona servicios relevantes a esos clientes. Además, el
Uso
denominado pizarra. En la que los agentes están especializados en resolver una tarea concreta.
Son procesos independientes que corresponden a particiones del conocimiento del mundo y
Todos ellos cooperan para alcanzar una meta común, en la cual sus objetivos individuales no
están aparentemente coordinados. Único medio por el cual las Fuentes de conocimiento
Patrón de capas
Este patrón se puede utilizar para estructurar programas que se pueden descomponer en
grupos de subtareas, cada una de las cuales se encuentra en un nivel particular de abstracción.
Las 4 capas más comúnmente encontradas de un sistema de información general son las
siguientes.
Capa de presentación
Conocida como capa de dominio que contiene la funcionalidad que implementa la aplicación.
validaciones
Llamada también capa de persistencia contiene lógica de comunicación con otros sistemas
Uso
Este patrón se puede usar para estructurar sistemas que producen y procesan una secuencia de
datos. Cada paso de procesamiento se incluye dentro de un componente de filtro. Los datos que
se procesarán se pasan a través de las tuberías. Estas tuberías se pueden utilizar para el
Tiene un grupo de componentes llamados filtros, conectados por tuberías que transmiten
datos de un componente al siguiente. El filtro está diseñado para recibir entrada de datos de una
forma y producir la salida de datos de una forma específica. Si el flujo de datos degenera en una
simple línea de transformadores se le llama Secuencial por Lotes. Cada filtro es independiente
del resto y no conocen la identidad de los filtros antes y después de él. (Pressman, 2016)
Ha prevalecido el nombre de tubería-filtros por más que se sabe muy bien que los llamados
filtros no realizan forzosamente tareas de filtrado, como ser eliminación de campos o registros,
sino que ejecutan formas variables de transformación, una de las cuales puede ser el filtrado.
Patrón de modelo-vista-controlador
requiere que cada uno de estos elementos esté separado en distintos objetos. (IBM, 2015)
Vista: Muestra la información al usuario (se puede definir más de una vista).
La mayoría de las aplicaciones hoy en día siguen este patrón, muchas con ligeras variaciones.
Por ejemplo, algunas aplicaciones combinan la vista y el controlador en una clase porque ya
los datos de su presentación. Esto no sólo simplifica la estructura de una aplicación sino que
Uso: Arquitectura para aplicaciones World Wide Web en los principales lenguajes de
programación.