Arquitecturas de Sistemas de Información
CONCEPTUALIZACIÓN
la organización fundamental de un sistema encarnada en sus componentes, las relaciones de los componentes con cada uno de los otros y con el entorno, y los principios que orientan su diseño y evolución
DESCRIPCION TIPOS/ESTILOS ARQUITECTURAS
ESTILOS DE FLUJOS DE DATOS
Esta familia de estilos enfatiza la reutilización y la modificabilidad. Es apropiada para
sistemas que implementan transformaciones de datos en pasos sucesivos.
Tuberias y filtros
El sistema tubería-filtros se percibe como una serie de transformaciones sobre sucesivas piezas de los datos de entrada. Los datos entran al sistema y fluyen a través de los componentes. En el estilo secuencial por lotes (batch sequential) los componentes son programas independientes; el supuesto es que cada paso se ejecuta hasta completarse antes que se inicie el paso siguiente.
ESTILOS CENTRADOS EN DATOS
Esta familia de estilos enfatiza la integrabilidad de los datos. Se estima apropiada para
sistemas que se fundan en acceso y actualización de datos en estructuras de
almacenamiento.
Arquitecturas de Pizarra o Repositorio
En esta arquitectura hay dos componentes principales: una estructura de datos que
representa el estado actual y una colección de componentes independientes que operan
sobre él [SG96].
ESTILOS DE LLAMADA Y RETORNO
Esta familia de estilos enfatiza la modificabilidad y la escalabilidad. Son los estilos más generalizados en sistemas en gran escala. Miembros de la familia son las arquitecturas de programa principal y subrutina, los sistemas basados en llamadas a procedimientos remotos, los sistemas orientados a objeto y los sistemas jerárquicos en capas.
Model-View-Controller (MVC)
El modelo administra el comportamiento y los datos del dominio de aplicación, responde a requerimientos de información sobre su estado (usualmente formulados desde
la vista) y responde a instrucciones de cambiar el estado (habitualmente desde el controlador).
Arquitecturas en Capas
organización jerárquica tal que cada capa proporciona servicios a la capa inmediatamente superior y se sirve de las
prestaciones que le brinda la inmediatamente inferior.
Arquitecturas Basadas en Componentes
Los sistemas de software basados en componentes se basan en principios definidos por una ingeniería de software específica (CBSE) [BW98].
Arquitecturas Orientadas a objetos
Los componentes de este estilo son los objetos, o más bien instancias de los tipos de dato abstractos.
ESTILOS DE CÓDIGO MÓVIL
Esta familia de estilos enfatiza la portabilidad. Ejemplos de la misma son los intérpretes,
los sistemas basados en reglas y los procesadores de lenguaje de comando.
Arquitectura de Máquinas Virtuales
La arquitectura de máquinas virtuales se ha llamado también intérpretes basados en tablas
[GS94] [SC96]. De hecho, todo intérprete involucra una máquina virtual implementada en software.
ESTILOS HETEROGENEOS
Antes de pasar a la familia más fuertemente referida en los últimos tiempos, incluyo en
este grupo formas compuestas o indóciles a la clasificación en las categorías habituales.
Es por cierto objetable y poco elegante que existan clases residuales de este tipo en una
taxonomía, pero ninguna clasificación conocida ha podido resolver este dilema
conceptual.
Sistemas de control de procesos
Desde el punto de vista arquitectónico, mientras casi todos los demás estilos se pueden definir en función de componentes y conectores, los sistemas de control de procesos se caracterizan no sólo por los tipos de componentes, sino por las relaciones que mantienen entre ellos.
Arquitecturas Basadas en Atributos
Aunque algunas otras veces se ha inventado un nuevo estilo para agregarlo al inventario de las variedades existentes, como en este caso, en el de Arch, C2 o REST, la literatura estilística suele ser de carácter reactivo e historicista antes que creativa e innovadora,como si el número de estilos se quisiera mantener deliberadamente bajo.
ESTILOS PEER-TO-PEER
Esta familia, también llamada de componentes independientes, enfatiza la
modificabilidad por medio de la separación de las diversas partes que intervienen en la
computación.
Arquitecturas Basadas en Eventos
Las arquitecturas basadas en eventos se vinculan históricamente con sistemas basados en actores, daemons y redes de conmutación de paquetes (publicación-suscripción).
Arquitecturas Orientadas a Servicios
Sólo recientemente estas arquitecturas que los conocedores llaman SOA han recibido tratamiento intensivo en el campo de exploración de los estilos. Al mismo tiempo se percibe una tendencia a promoverlas de un sub-estilo propio de las configuraciones distribuidas que antes eran a un estilo en plenitud.
Arquitecturas Basadas en Recursos
En síntesis muy apretada, podría decirse que REST define recursos identificables y
métodos para acceder y manipular el estado de esos recursos. El caso de referencia es
nada menos que la World Wide Web, donde los URIs identifican los recursos y HTTP es
el protocolo de acceso.