Está en la página 1de 5

ARQUITECTURA CENTRADA EN DATOS

¿QUE ES EL SOFTWARE?
ARQUITECTURA CENTRADA EN DATOS
Un almacén de datos se encuentra en el centro de esta arquitectura, otro componente tiene
acceso a él y cuentan con la opción de gestionar los datos de ese almacén. El software
cliente tiene acceso a un almacén central, en algunos casos este es pasivo, el software
cliente accede a los datos independientemente de cualquier cambio hecho en los datos o las
acciones de otro software cliente.
DATA WAREHOUSE
Gran colección de datos que recoge información de múltiples sistemas fuentes u
operacionales dispersos, y cuya actividad se centra en la Toma de Decisiones -es decir, en
el análisis de la información- en vez de en su captura. Una vez reunidos los datos de los
sistemas fuentes se guardan durante mucho tiempo, lo que permite el acceso a datos
históricos; así los almacenes de datos proporcionan al usuario una interfaz consolidada
única para los datos, lo que hace más fácil escribir las consultas para la toma de decisiones.
LA ARQUITECTURA DE SOFTWARE
Tiene que ver con el diseño y la implementación de estructuras de software de alto nivel
(Comprende el establecimiento de un marco de trabajo estructural básico para un sistema).
ARQUITECTURA CENTRADA EN DATOS
Muchas personas asocian el término software con los programas de computadora, una
definición más amplia indica que el software no son solo los programas, sino todos los
documentos asociados y la configuración de datos que se necesitan para hacer que estos
programas operen de manera correcta. Por lo general, un sistema de software consiste en
diversos programas independientes, archivos de configuración que se utilizan para ejecutar
estos programas, un sistema de documentación que describe la estructura del sistema, la
documentación para el usuario que explica cómo utilizar el sistema y sitios web que
permitan a los usuarios descargar la información de productos recientes. 
Define, de manera abstracta, los componentes que llevan a cabo alguna tarea de
computación, sus interfaces y la comunicación entre ellos. 
Una arquitectura de software se selecciona y diseña con base en objetivos (requerimientos)
y restricciones.
Las restricciones son aquellas limitaciones derivadas de las tecnologías disponibles para
implementar sistemas de información. Unas arquitecturas son más recomendables de
implementar con ciertas tecnologías mientras que otras tecnologías no son aptas para
determinadas arquitecturas. 
Propiedades de un diseño arquitectónico
Propiedades estructurales

Define los componentes de un sistema y la manera en la que dichos componentes 


se agrupan en paquetes e interaccionan entre ellos.

Propiedades extra-funcionales

Debe indicar como el diseño arquitectónico alcanza los requisitos no funcionales como:
rendimiento, capacidad, fiabilidad, seguridad, adaptabilidad, etc.

Familias de sistemas relacionados

Debe permitir reconocer su estructura en los patrones repetitivos que se encuentran de


manera habitual en el diseño de sistemas similares. 
Debe ser capaz de reutilizar bloques de construcción arquitectónicos.

Estilos arquitectónicos de software


Modelos de descomposición de sistemas

Modelo de almacén central


Cliente/Servidor
Modelo de eventos

Modelos de control

Centralizado.
Modelo de eventos.

Modelos de descomposición modular

Modelo de flujo de datos.


Modelo orientado a objetos.

Otros modelos
Modelos de dominio específico
Arquitectura centrada en datos
Arquitectura centrada en el flujo de datos
Arquitectura llamada y respuesta (call and Return)
Arquitectura orientada a objetos
Arquitectura de capaz

CARACTERISTICAS
Promueve la capacidad de integración, es decir, que es posible cambiar componentes
existentes y agregar nuevos componentes a la arquitectura sin preocuparse por otros
clientes
es posible pasar datos entre clientes empleando el mecanismo del pizarrón. Los
componentes clientes ejecutan los procesos de manera independiente.

Arquitectura de flujo de datos


La arquitectura de flujo de datos es una arquitectura de computadores que contrasta
directamente con la tradicional Arquitectura de von Neumann o de estructuras de control. Las
arquitecturas de flujo de datos no se basan en un contador de programa (al menos
conceptualmente) en tanto en cuanto la posibilidad de ejecución de las instrucciones
solamente viene determinada por la disponibilidad de los argumentos de entrada de las
instrucciones. Aunque ningún computador de éxito comercial ha utilizado este tipo de
arquitectura, ésta es muy relevante en muchas arquitecturas actuales de software, incluyendo
el diseño de sistemas de bases de datos o de sistemas deprocesamiento paralelo.
Este tipo de arquitecturas de hardware constituyó una de las principales ramas de
investigación sobre arquitectura de computadores en los años 70 y principios de los 80. Jack
Dennis del MIT abrió el camino en el campo de las arquitecturas de flujo de datos estático,
mientras que la Manchester Dataflow Machine y la arquitectura MIT Tagged Tokenfueron
algunos de los mayores proyectos en flujo de datos dinámico.
Los diseños que emplean direcciones convencionales de memoria como marcas de
dependencias de datos son conocidos como máquinas de flujo de datos estático. Estas
máquinas no permitían la ejecución simultánea de varias instancias de una misma subrutina
porque la forma de etiquetar los datos no diferenciaba entre ellas. Aquellos diseños basados
en memoria de contenido direccionable o CAM son llamados máquinas de flujo dinámico de
datos.
Normalmente, los compiladores analizan el código fuente del programa en busca de
dependencias de datos entre instrucciones para organizar mejor la secuencia en los ficheros
binarios de salida. Las instrucciones son organizadas de forma secuencial, pero la información
acerca de las dependencias no se graba en los binarios. Sin embargo, los ficheros binarios
compilados en una máquina de flujo de datos sí contienen esta información. Un compilador de
flujo de datos graba estas dependencias creando etiquetas únicas para cada dependencia en
lugar de utilizar nombres variables. Al nombrar cada dependencia de forma unívoca, se
consigue que los segmentos de código no dependientes en el fichero binario sean ejecutados
sin problemas fuera de orden o en paralelo.
Los programas se cargan en la memoria CAM del computador de flujo dinámico. Cuando
todos los operandos etiquetados de una instrucción pasan a estar disponibles (esto es, han
recibido la salida de instrucciones previas y/o la entrada de usuario), la instrucción se marca
como preparada para su ejecución. Este proceso es conocido como activacióno firing. Una
vez que la instrucción es completada, su salida es almacenada junto con la correspondiente
etiqueta en la memoria CAM. Cualquier instrucción que sea dependiente de este dato en
concreto (identificado por el valor de su etiqueta) es entonces marcada como preparada para
su ejecución. De este modo, las instrucciones subsiguientes son ejecutadas en el orden
correcto, evitando la aparición de condiciones de carrera. Este orden puede diferir del orden
secuencial considerado por el programador.
Una instrucción, junto con los operandos requeridos, es transmitida a una unidad de ejecución
como un paquete, también conocido como señal de instrucción. De forma similar, los datos de
salida son transmitidos de vuelta a la memoria CAM como señal de datos. El empaquetado de
instrucciones y resultados permite la ejecución paralela a gran escala de instrucciones
preparadas. Las redes de flujo de datos reparten las señales de instrucción a las unidades de
ejecución y devuelven a la memoria CAM las señales de datos. En contraste con
la Arquitectura de von Neumann convencional, las señales de datos no son almacenadas de
forma permanente en memoria, sino que son mensajes transitorios que solamente existen
durante el tránsito de información que se produce en el almacenamiento de la instrucción.
La investigación, sin embargo, nunca se preocupó de tratar problemas relacionados con:

 Emisión eficiente de las señales de datos e instrucciones en sistemas paralelos masivos


 Construcción de memorias CAM lo suficientemente grandes como para almacenar todas
las dependencias de un programa real
Se probó que las instrucciones y sus dependencias de datos eran una unidad demasiado
pequeña para trabajar en grandes redes. Esto es, el tiempo de transmisión de las
instrucciones y los correspondientes resultados etiquetados era mucho mayor que el tiempo
realmente necesario para su procesamiento.
Sin embargo, la ejecución fuera de orden se ha convertido en el paradigma computacional por
excelencia desde los años 90. Es una forma de flujo de datos restringido. Este paradigma
introdujo la idea de ventana de ejecución, que sigue el orden secuencial de la arquitectura de
von Neumann; sin embargo, dentro de la ventana se permite que las instrucciones sean
completadas en el orden de las dependencias de datos. Esto se consigue en procesadores
que etiquetan dinámicamente las dependencias de datos en la ventana de ejecución. La
complejidad lógica de mantener el rastro de las dependencias de datos de forma dinámica
restringe a los procesadores basados en ejecución fuera de orden a un reducido número de
ejecuciones (de 2 a 6) y limita el tamaño de la ventana de ejecución de 32 a 200 instrucciones,
mucho menor que las utilizadas en las máquinas puras de flujo de datos.
Arquitectura en capas
¿Para qué la Arquitectura de Software?
Las personas necesitan pensar, diseñar, codificar, y comunicarse en términos de grandes bloques
conceptuales.
(Abstracción)
Es necesario escapar de los desarrollos excesivamente personalizados y estandarizar el diseño.
(Reutilización de patrones de arquitectura)
Es necesario diseñar sistemas de larga vida.
(Reutilización de componentes particulares)

Productividad en el desarrollo: 
actualmente solamente se reutiliza el código y las estructuras de datos.
Atacar otros problemas del ciclo de vida del software:
Modificabilidad, portabilidad, escalabilidad, seguridad.
A medida que el tamaño del sistema crece, las soluciones a estos problemas radican más en la
arquitectura.
Tener un lenguaje común para diseñadores, desarrolladores y usuarios.

También podría gustarte