Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEFINICIÓN
UTILIDAD Y CARACTERÍSTICAS
Patrones arquitectónicos son los patrones del software a los cuales ofrezca las
soluciones establecidas arquitectónico problemas adentro tecnología de dotación
lógica. Da la descripción de los elementos y del tipo de la relación junto con un
sistema de apremios en cómo pueden ser utilizados. Un patrón arquitectónico
expresa un esquema estructural fundamental de la organización para a sistema de
software, que consiste en subsistemas, sus responsabilidades e interrelaciones.
Con respecto a patrones del diseño, los patrones arquitectónicos son más grandes
en escala.
1
representan soluciones a los problemas de funcionamiento y otros se pueden
utilizar con éxito en sistemas de la alto-disponibilidad. En la fase de diseño
temprana, un arquitecto del software hace una opción de la cual los patrones
arquitectónicos proporcionen lo mejor posible las calidades deseadas del sistema.
2
PATRONES ARQUITECTÓNICOS SIMPLES
Diseño de un SID.
LAYERS (CAPA):
3
Es el patrón más común de los antes mencionados, este aplica el concepto de
Orientación a Objetos, consiste en estructurar aplicaciones que pueden ser
descompuestas en grupos de sub-tareas las cuales se clasifican de acuerdo a un
nivel particular de abstracción, permitiendo así la reutilización de componentes en
circunstancias similares.
CONTEXTO:
Los grandes sistemas requieren de descomposición.
Una forma de descomponer un sistema consiste en segmentar en
colaboración de objetos. Cuando estos grupos están bien segmentados, y
consolidadas sus interfaces, el resultado es una arquitectura en capas.
PROBLEMA:
Si los servicios de la organización no están bien organizados, el sistema
podría tener problemas de mantenibilidad, adaptabilidad y escalabilidad
SOLUCIÓN
Estructurar el sistema en un número apropiado de capas.
Empezar con la capa con el nivel más bajo de abstracción.
Poner la capa J sobre la J-1 hasta alcanzar la capa N.
Los servicios de J usan los servicios de J-1.
No se requiere un orden en la implementación, ni ninguna sofisticación.
Dentro de cada capa, las componentes tienen el mismo nivel de
abstracción.
La estructura puede verse como una pila o una cebolla
IMPLEMENTACIÓN
Definir los niveles de abstracción para agrupar las tareas.
Determinar el número de capas.
Designar y asignar tareas a las distintas capas.
4
Especificar los servicios de cada capa: es conveniente poner la
funcionalidad dependiente de la aplicación en las capas superiores, y
mantener las inferiores genéricas y sencillas.
Refinar las capas iterando sobre los 4 pasos anteriores: Reorganizar las
tareas de modo que sólo se invoquen servicios de la capa inmediatamente
anterior.
Especificar la interfaz de cada capa: Se incluyen todos los servicios
ofrecidos en la interfaz y la capa se trata como una caja negra.
Definir la estructura de cada capa.
Especificar la comunicación entre las capas: Llamadas a métodos,
mensajes.
Desacoplar capas adyacentes: La capa J no debe saber quien usa sus
servicios.
Diseñar una estrategia de manejo de errores: Los errores deben manejarse
en la capa más baja posible.
Arquitectura de 1 Nivel : Este tipo de arquitectura hace que las tres capas:
presentación, negocio y datos se integren en un solo nivel. Este diseño hace se le
llama monolítico, no presentan ninguna tipo de interfaz, y suelen ser cerrados.
5
con el cliente, y las otras dos en otro nivel, de esta forma se puede aprovechar la
capacidad de procesamiento del cliente.
ARQUITECTURA PIPER
6
de programas para el intérprete de comandos, ya que se pueden concatenar
comandos fácilmente con tuberías.
ARQUITECTURA EN PIZARRA
La pizarra tiene un doble papel. Por una parte, coordina a los distintos agentes y,
por otra, facilita su intercomunicación. El estado inicial de la pizarra es una
descripción del problema a resolver. El estado final será la solución del problema.
Los resultados generados por los agentes deben responder a un lenguaje y
semántica común. En general, se suelen utilizar formalismos lógicos o
matemáticos, tales como expresiones lógicas de primer orden.
VENTAJAS
7
Esta arquitectura es tremendamente útil cuando el problema a resolver (o
algoritmo a implementar) es extremadamente complejo en términos cognitivos. Es
decir, cuando el flujo de control del algoritmo es enrevesado, o simplemente, no se
tiene un conocimiento completo del problema a resolver.
DESVENTAJAS:
8
PATRONES ARQUITECTÓNICOS PARA SISTEMAS INTERACTIVOS.
Puesto que el software se debe mantener por períodos de tiempo largos, sería
pragmático separar los componentes que tienden a cambiar de aquellos que no
cambian. El patrón de arquitectura Modelo Vista Controlador permite la separación
de estos componentes.
La vista representa la lógica por la cual los datos son manipulados para
visualizarlos o para emitir reportes. Es la interfaz a través de la cual el modelo
muestra los datos al usuario y genera reportes. Típicamente, una aplicación tendrá
muchas vistas para manejar múltiples requerimientos de visualización y reportes.
La vista proporciona la lógica de la presentación para una aplicación de software,
está enterada de la existencia y de la naturaleza del modelo.
9
La arquitectura MVC logra la separación de la capa de presentación de la capa de
la lógica del negocio de los diversos componentes de software y ayuda a facilitar
el mantenimiento del sistema.
CONTEXTO:
PROBLEMA:
FUERZAS:
SOLUCIÓN:
10
El modelo representa la funcionalidad y los datos esenciales, y es
independiente de la representación en las interfaces.
La vista obtiene datos del modelo y los despliega para el usuario. Cada
vista tiene asociada un controlador. El controlador recibe eventos como
input (movimientos del mouse, activación de botones) y los traduce a
solicitudes de servicios del modelo o la vista.
11
PATRONES DE ARQUITECTURA: PRESENTACION-ABSTRACCION-
CONTROL (PAC)
La Abstracción contiene los datos, al igual que en MVC. Sin embargo, puede ser
sólo una parte de la estructura de datos completa de la aplicación, y no
desempeñar un papel activo en la notificación de cambios.
¿Cómo funciona?
El control padre crea los elementos de su hijo PAC, ya sea en el arranque del
programa, o dinámicamente en tiempo de ejecución.
12
Cuando el control de un PAC recibe un evento de usuario (1), este debe actualizar
su presentación (2a) y/o su abstracción (2b). A continuación, se envía un evento
de cambio a su padre (3). El padre actualiza sus hijos (pero no al nodo donde
surgió el cambio) (5), por lo que todos actualizan su Presentación (6a) y/o
abstracción (6b). Después que los nodos han sido actualizados, el padre se
actualiza (7). Esto termina cuando todos los elementos PAC necesarios han sido
actualizados.
Los hijos y padres pueden enviar eventos muy concretos para actualizar a sus
vecinos. De esta forma, los elementos PAC podrán decidir la extensión del efecto
del cambio. Pequeños cambios no tienen por qué ser propagados a través de toda
la jerarquía.
PROBLEMAS
13