1. Arquitectura de sistemas de información
1.1. Se conceptualiza como la organización de un sistema donde se visualiza sus entrañas como los componentes, y sus relaciones de los componentes con todos los que interactúa en su entorno.
1.2. Incluye los principios que solventan su diseño y posteriormente su evolución.
1.3. Se enfoca en tres clases de elementos base que son: el procesamiento (transformación de datos), los datos (información a procesar), y las conexiones (llamadas a procedimientos)
2. Flujo de datos
2.1. Enfatiza la reutilización y modificabilidad
2.2. Apropiada para sistemas en donde existe la transformación de datos de manera sucesiva
2.3. Los datos entran al sistema y fluyen a través de las tuberías, cada paso se ejecuta hasta completarse antes de que se inicie el siguiente paso
2.4. Ejemplos >
2.4.1. Arquitectura de tuberia/filtros
2.4.2. Arquitectura de flujo de datos
3. Centrados en datos
3.1. Principalmente enfatiza la integrabilidad de los datos
3.2. Apropiada para sistemas que se basan en acceso y actualización de datos en estructuras de almacenamiento
3.3. Incluyen repositorios, bases de datos, arquitecturas basadas en hipertextos y de pizarra
3.4. Son sistemas principalmente con una estructura de datos (estado actual) y una colección de componentes independientes que operan sobre el
3.5. Ejemplos >
3.5.1. Arquitecturas de Pizarra o Repositorio
4. Llamada y retorno
4.1. Enfatiza la modificabilidad y la escalabilidad, normalmente son sistemas de gran tamaño
4.2. Incluye arquitecturas de programa principal y subrutina, sistemas basados en llamadas a procedimientos remotos, sistemas orientados a objeto y sistemas jerárquicos en capas
4.3. Tipos >
4.3.1. Model-View-Controller >
4.3.1.1. Corresponde al estilo de los sitemas interactivos, comúnmente en Visual C++ o ASP.NET.
4.3.1.2. El modelo administra comportamientos, datos, requerimientos y responde a instrucciones. La vista maneja la visualización de la información. El controlador interpreta las acciones del rato y teclado informando al modelo y vista
4.3.2. Arquitectura en capa >
4.3.2.1. Organización jerarquica de manera que cada capa proporciona servicios a la capa superior y depende de los procesos inferiores.
4.3.3. Arquitectura orientada a objetos >
4.3.3.1. Se basa en principios OO: encapsulamiento, herencia y polimorfismo
4.3.4. Arquitectura basada en componentes >
4.3.4.1. Los componentes son las unidades del modelado diseño e implementación, las interfaces están separadas de las implementaciones y sus interacciones son el centro del diseño. Ejemplos: Visual Basic
5. Código Móvil
5.1. Enfatiza la portabilidad. Intérpretes, sistemas basados en reglas y los procesadores de lenguaje de comando con de esta familia.
5.2. Tipos >
5.2.1. Arquitectura de maquinas virtuales
6. Heterogéneos
6.1. Sistemas de control de procesos son de este tipo. Se caracterizan por los tipos de componentes y las relaciones que mantienen entre ellos.
6.2. Arquitecturas basadas en atributos
7. Peer-to-Peer
7.1. Enfatiza la modificabilidad por medio de la separación de las partes que intervienen en la computacion. Tambien llamada de componentes independientes.
7.2. Se compone en 8 categorias:
7.2.1. Flujo de datos en el sentido de redes de filtros
7.2.2. Requerimientos y respuestas entre clientes y servidores
7.2.3. Interacción de ida y vuelta
7.2.4. Pruebas y ecos en grafos incompletos
7.2.5. Broadcasts entre procesos en grafos completos
7.2.6. Token passing sincronizado
7.2.7. Coordinación entre procesos de servidor decentralizados
7.2.8. Operadores replicados que comparten una bolsa de tareas
7.3. Tipos >
7.3.1. Arquitecturas Basadas en Eventos
7.3.2. Arquitecturas Orientadas a Servicios
7.3.3. Arquitecturas Basadas en Recursos