arquitectura de software. tema 2

16
WDS Seminario de Arquitectura de Software Ing. Rene Lazo Ochoa [email protected]

Upload: wds

Post on 25-Jul-2015

107 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Arquitectura de Software. Tema 2

WDSSeminario de Arquitectura de Software

Ing. Rene Lazo [email protected]

Page 2: Arquitectura de Software. Tema 2

Sumario...

●TEMA 3. Perte 1. Estilos arquitectonicos○Estilos de Flujo de Datos

■Tubería y filtros○Estilos Centrados en Datos

■Arquitecturas de Pizarra o Repositorio●TEMA 2: El análisis - El diseño y La arquitectura

de software

Page 3: Arquitectura de Software. Tema 2

Contexto problemico

●Necesito hacer un sistema que permita procesar datos por lotes, en un workflow de eventos. cada unidad de procesamiento se especializa en una funcion espesifica. Existe la necesidad de que el flujo de navegacion sea configurable dinamicamente

●Que solucion dar (...)

Page 4: Arquitectura de Software. Tema 2

●Un (pipeline) tuberia-filtro es una arquitectura que

conecta componentes computacionales (filtros) a

través de conectores (pipes)

●De modo que las computaciones se ejecutan a la

manera de un flujo.

●Los datos se transportan a través de las tuberías

entre los filtros, transformando gradualmente las

entradas en salidas.

Estilos de Flujo de Datos. Tuberio - Filtro

Page 5: Arquitectura de Software. Tema 2

Estilos de Flujo de Datos. Tuberio - Filtro

●Cada paso se ejecuta hasta completarse antes que se

inicie el paso siguiente.

●Ejemplo

○ 1 - Obtiener la información del producto de la base de datos de

catálogo

○ 2 - Procesar la dirección del comprador

○ 3 - Resolver la modalidad de pago

○ 4 - Confeccionar la factura

○ 5 - Realizar el envío del pedido.

●Cada etapa de la tarea representa una categoría

de trabajo.

Page 6: Arquitectura de Software. Tema 2

Estilos de Flujo de Datos .Tuberio - Filtro

●Cuando user este estilo ...

○Se puede especificar la secuencia de un número

conocido de pasos.

○No se requiere esperar la respuesta asincrónica de

cada paso.

○Se busca que todos los componentes situados

corriente abajo sean capaces de inspeccionar y actuar

sobre los datos que vienen de corriente arriba (pero

no viceversa).

Page 7: Arquitectura de Software. Tema 2

Tuberio - Filtro

●Ventajas del estilo ...

○Es simple de entender e implementar.

○Fuerza un procesamiento secuencial.

○Es fácil de envolver (wrap) en una transacción

atómica.

○Los filtros se pueden empaquetar, y hacer

paralelos o distribuidos.

○Simplifica considerablemente la solucion el control

de corrección de un objeto de fecha).

Page 8: Arquitectura de Software. Tema 2

Tuberio - Filtro

●Desventajas del estilo ...

○Puede resultar demasiado simplista,

especialmente para orquestación de servicios que

podrían ramificar la ejecución

○No maneja con eficiencia construcciones

condicionales, bucles y otras lógicas de control de

flujo

○Eventualmente pueden requerirse buffers de

tamaño indefinido

Page 9: Arquitectura de Software. Tema 2

Tuberio - Filtro

●Desventajas del estilo ...

○No apto para manejar situaciones interactivas, sobre

todo cuando se requieren actualizaciones

incrementales de la representación en pantalla.

○La independencia de los filtros implica que es muy

posible la duplicación de funciones de preparación que

son efectuadas por otros filtros (por ejemplo,el

control de corrección de un objeto de fecha, o el

formato de un XML)

Page 10: Arquitectura de Software. Tema 2

Contexto problemico

●Se desea hacer un sistema que permita ir mostrando en un tablero de control la evolucion de varios procesos concurrentes que se interrelacionana a traves de una fuente de unica de datos, para dar solucion a una problematica. Es importante determinar que no existe acoplamiento de datos de las unidades procesadoras, es decir la concurrencia no es problematica. Pero debe existir un mecanismo actualizacion a los procesos de computos implicados.

Que solucion dar (...)

Page 11: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

●En esta arquitectura hay dos

componentes principales:

○Una estructura de datos que representa el

estado actual

○Una colección de componentes

independientes que operan sobre él.

Page 12: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

●En base a esta distinción se han definidos

dos subcategorías principales del estilo

■Si los tipos de transacciones en el flujo de

entrada definen los procesos a ejecutar, el

repositorio puede ser una base de datos

tradicional.

■Si el estado actual de la estructura de datos

dispara los procesos a ejecutar, el repositorio es

lo que se llama una pizarra pura o un tablero de

control.

Page 13: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

Page 14: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

●Cuándo se utiliza: ○Problemas no susceptibles de tratarse

analíticamente○Reconocimiento de patrones, aprendizaje de

máquina, data mining○Firmas, reconocimiento de iris, rostro, etc○Tableros de control○Repositorios de informacion y control de versiones

●Ejemplos de usabilidad○Procesamiento de señales○Repositorios○Redes neuronales, algoritmo genético, ○Agentes autónomos

Page 15: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

●Ventajas del estilo ...

■Es la solucion arquitectonicas de problemas

computacionalmente complejos.

■Apto para manejar situaciones interactivas, sobre

todo cuando se requieren actualizaciones

incrementales de la representación en pantalla.

■La concurrencia de la fuente de datos permite la

independencia de los elementos computacionales

que integran el sistema

Page 16: Arquitectura de Software. Tema 2

Estilos Centrados en Datos . Pizarra o repositorio

●Desventajas del estilo ...

■Poco generalizado

■Complejo de implementar

■Dificil de resolver problemas de concurrencia,

semaforos y abrazos fatales. Lo que complejiza

hacer framework genericos para aplicaciones de

este tipo

○Existe una tendencia de las arquitecturas de flujos

de datos como tuberia-filtro a comportanse o

implementar las potencialidades de este estilo