Tuberías Y Filtros
Tema 7 Arquitecturas Software
Objetivos
Fijar y unificar los Conceptos básicos a la hora de abordar el estudio de una arquitectura software. Realizar un repaso por las principales filosofías a la hora de definir una arquitectura software.
Javier Garzás, Arquitecturas Software ©,
1
Arquitectura Software
Abarca un conjunto de decisiones sobre la organizaciónde un sistema software
- Los elementos estructurales (componentes) y sus interfaces (conectores) en los cuales el sistema se descompone. - El comportamiento, colaboración entre los elementos estructurales - La composición de estos elementos - El estilo arquitectónico (topologías) que guía la organización de los elementos.
Javier Garzás, Arquitecturas Software ©,
Arquitectura Software
☺Modelo Conceptual del Dominio de la aplicación Arquitectura Modelo Implementable
Javier Garzás, Arquitecturas Software ©,
2
Taxonomía de Estilos Arquitectónicos
Flujo de Datos Flujos de Datos (tuberías y Filtros) Control Bucle Cerrado Batch secuencial "Call and Return" Ocultación de la Información: Objetos, Cliente-Servidor Nativo, etc. Programa - Subrutina Procesos InteractivosSistema de Eventos: Invocación Implícita, eventos puros Comunicación de Procesos: objetos distribuidos, procesos LW Repositorios de Datos Blackboard BBDD Transaccionales Compartición de Datos Hipertexto Jerarquias Capas
Javier Garzás, Arquitecturas Software ©,
Principales Estilos Arquitectónicos
Architectural styles are recurring organizational patterns and idioms.
Shaw & Garlan
Tuberías yFiltros (Pipes and Filters) Orientadas a Objetos (Object- Oriented) Basada en Eventos (Implicit Invocation) Capas (Layering) Repositorios (Repositories) Interpretes (Interpreters) Distribuidas Otras Heterogéneas
Javier Garzás, Arquitecturas Software ©,
3
Tuberías y Filtros
Asociado a flujos de datos I/O y refinamientos sucesivos Diferentes tipos - Con filtros lineares (pipelines) -Restringidos - Tipados Uso frecuente en: - Compiladores - Procesado de señales - Programación funcional - Sistemas distribuidos
Javier Garzás, Arquitecturas Software ©,
Ventajas e Inconvenientes
Ventajas
Descomposición del problema en pasos independientes Reutilización de filtros Fácil mantenimiento Independencia entre filtros Ejecución concurrente de filtros
Desventajas
- Tendencia aprocesamiento por lotes - Inadecuado para aplicaciones interactivas - Excesivo proceso de parsing ...
Javier Garzás, Arquitecturas Software ©,
4
Ejemplo
Filtro SENSORES TDVM
Adquisición datos de vigilancia
Preparación proceso de entrada
Seguimiento Mono
Fusión Horizontal/ Vertical
UCS
Safety Nets
Monit. Pipe Control de calidad tiempo real Gestión de pistas Distribución dedatos vigilancia
Correlac.
Grabación
DISPI
Javier Garzás, Arquitecturas Software ©,
Orientadas a Objetos
Cada Módulo es una instancia de un tipo abstracto de datos Los conectores son mensajes e invocación de métodos La Representación interna es oculta
Javier Garzás, Arquitecturas Software ©,
5
Ventajas e Inconvenientes
Ventajas - Sistemas Muy Maleables - Descomposición delsistema en Agentes que interactúan Inconvenientes - Un objeto debe conocer la identidad de otro para poder interactuar con él - Dependencia del contexto y puede ser difícil seguir la secuencia de eventos
Javier Garzás, Arquitecturas Software ©,
Ejemplo
Javier Garzás, Arquitecturas Software ©,
6
Basada en Eventos
Basada en invocación implícita, sin llamada directa Se lanzaneventos y los componentes receptores pueden asociarlos a procedimientos. Útil en broadcast Los receptores se registran sin conocimiento del productor, independizando su funcionamiento. Uso frecuente en: - Integración de herramientas - Gestores de bases de datos (mantener consistencia) - Interfaces de usuario
Javier Garzás, Arquitecturas Software ©,
Ventajas e Inconvenientes
Ventajas
- Alta...
Regístrate para leer el documento completo.