La Arquitectura de
sistemas de
información: tipos
y características
Estilo de flujo 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.
Tubería 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.
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. Sub-estilos característicos
de la familia serían los repositorios, las bases de datos, las
arquitecturas basadas en hipertextos y las arquitecturas de pizarra.
Arquitecturas de Pizarra o
Repositorio
Estos sistemas se han usado en aplicaciones que
requieren complejas interpretaciones de proceso
de señales (reconocimiento de patrones,
reconocimiento de habla, etc), o en sistemas que
involucran acceso compartido a datos con
agentes débilmente acoplados.
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)
Es referido en el marco de la estrategia
arquitectónica de Microsoft. En la
documentación correspondiente es tratado a
veces en términos de un estilo decididamente
abstracto y otras como patrón de aplicación
ligado a una implementación específica en
Visual C++ o en ASP.NET. Buschmann y otros lo
consideran un patrón correspondiente al estilo
de los sistemas interactivos.
Arquitecturas en
Capas
Se definen el estilo en capas como
una 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 Orientadas a
Objetos
Los componentes de este estilo son los objetos, o
más bien instancias de los tipos de dato
abstractos. En la caracterización clásica de David
Garlan y Mary Shaw, los objetos representan una
clase de componentes que ellos llaman managers,
debido a que son responsables de preservar la
integridad de su propia representación
COM y
JavaBeans
Arquitecturas Basadas
en Componentes
Los sistemas de software basados en componentes se
basan en principios definidos por una ingeniería de
software específica Pragmáticamente se puede
también definir un componente (no en el sentido
estilístico, sino en el de CBSE) como un artefacto
diseñado y desarrollado de acuerdo ya sea con CORBA
Component Model (CCM), JavaBeans y Enterprise
JavaBeans en J2EE y lo que alternativamente se llamó
OLE, COM, ActiveX y COM+, y luego .NET.
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
1.- Máquina de interpretación
que lleva a cabo la tarea
2.- Una memoria que contiene el
seudo-código a interpretar,
3.- Una representación del estado de
control de la máquina de
interpretación
4.- Una representación del estado
actual del programa que se
simula.
Admite
diferentes
paradigmas
Orientada a objetos (C#, J#,
C++, Python) y estructurada en
bloques (Oberon),
Diseño basado en contratos (Eiffel),
modelado matemático (Fortran)
Scripting interpretado (Perl)
meta-programación (SML,
Mondrian)
programación cercana a la semántica
de negocios (Cobol)
programación centrada en
reportes (Visual ASNA
RPG)
Estilos heterogéneos
Sistemas de control de
procesos
caracterizan no sólo por los tipos de componentes,
sino por las relaciones que mantienen entre ellos.
El objetivo de un sistema de esta clase es
mantener ciertos valores dentro de ciertos rangos
especificados, llamados puntos fijos o valores de
calibración
Arquitecturas Basadas en
Atributos
La intención de estos autores es asociar a la definición del
estilo arquitectónico un framework de razonamiento (ya sea
cuantitativo o cualitativo) basado en modelos de atributos
específicos
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 han llamado
también de invocación implícita. Otros nombres
propuestos para el mismo estilo han sido integración
reactiva o difusión (broadcast) selectiva.
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
HTTPs, SMTP, FTP, IIOP, MQ
Arquitecturas Basadas en
Recursos
Aunque la literatura especializada tiende a considerar
a REST una variante menor de las arquitecturas
basadas en servicios, Fielding considera que REST
resulta de la composición de varios estilos más
básicos, incluyendo repositorio replicado, cache,
cliente-servidor, sistema en capas, sistema sin estado,
máquina virtual, código a demanda e interfaz
uniforme
implementaciones tales como WebDAV,
ebXML, BPML, XLANG, UDDI, WSCK o
BPEL4WS