El documento describe varios estilos arquitectónicos de software, incluyendo sistemas basados en flujos de datos, llamadas y retornos, componentes independientes, transacciones, eventos, P2P y cliente/servidor. Cada estilo se caracteriza por su enfoque particular en el diseño y organización de los componentes de software.
2. Estilo Arquitectónico
Diseño de la arquitectura el
software
Como se inicia
• Diseño de Datos
• Diseño Arquitectónico
• Estilos Arquitectonico
Variables principalesImportancia
3. Sistema de flujo de dato
• El sistema se percibe como una sucesion de
transformaciones que sufre una serie de datos de
entrada a través del sistema.
• Los datos ingresan al sistema y fluyen a través de los
componentes una a una hasta que asigna a un
destino final: salida o almacenamiento.
• Son típicos casos de arquitecturas que promueven la
reusabilidad y la modificabilidad.
• Existen dos subestilos:
• Secunencual por lotes
• Tubos y filtros.
4. Sistema de flujos de datos(tuberias y filtros)
Se basa en un patrón tuberías y filtros. Este consta de un conjunto
de componentes denominados “filtros” conectados entre si por
“tuberías” que transmiten los datos desde un componente al siguiente.
Cada filtro trabaja de manera independiente de los componentes que
se encuentren situados antes o después de ella. Se diseñan de tal
modo que esperan que un conjunto de datos en un determinado
formato. Y obtiene como resultado datos de salida en un formato
especifico.
5. Sistema basado en llamado y retorno
(Capaz)
Este estilo arquitectónico permite
al diseñador del software (arquitecto
del sistema) construir una estructura
de programa relativamente fácil de
modificar y ajustar a escala.
Existen dos subestilos dentro de esta
categoría:
• Arquitecturas de programa
principal.
• Arquitecturas de llamada de
procedimiento remoto.
6. Sistema de componente Independiente
Es un estilo de diseño para
aplicaciones compuestas de
componentes individuales. Pone
énfasis en la descomposición del
sistema en componentes lógicos o
funcionales que tienen interfaces bien
definidas.
Consiste de un número de objetos o procesos
independientes que se comunican a través de
mensajes.
• La modificabilidad en varias porciones de
procesamiento
• Solo se envían mensajes entre los objetos, sin
tener control directamente.
7. Sistema basado en transacciones
Este estilo permite
compartir los detalles entre
cliente servidor, este estilo
se prefiere cuando se
conoce de antemano la
transacción y no cambian
con frecuencia
Ejemplo:
Las rutinas asociadas con transacciones bancarias, car
acterizan el empleo de procedimientos
de operaciones estándar para el manejo de
depósito y retiradas de capital, pago de cheques, y
otros procesos, el sistema utilizado en las cajas de
los bancos es similar al utilizado por los cajeros autom
áticos, pues el software
utilizado en ambos casos, es el encargado de asegurar
que se sigue el procedimiento adecuado.
8. Sistemas basados en eventos
Es un patrón de arquitectura software que
promueve la producción, detección,
consumo y reacción a eventos.
Cada subsistema puede responder a
eventos generados externamente por los
otros subsistemas o el entorno del sistema.
• Difusión (Broadcast): Cuando ocurre un
evento el control se transfiere
al subsistema que puede tratarlo. Cada
subsistema decide sobre los
eventos que le interesan.
• Guiado por Interrupciones Cada
interrupción tiene un manejador.
9. Sistemas PEER-TO-PEER (P2P)
Este sistema de arquitectura se basa en una
red de computadoras en la que todos o
algunos aspectos funcionan sin clientes ni
servidores fijos, sino una serie de nodos que
se comportan como iguales entre sí. Es decir,
actúan simultáneamente como clientes y
servidores respecto a los demás nodos de la
red.
Las redes P2P permiten el intercambio
directo de información, en cualquier formato,
entre los ordenadores interconectados.
Normalmente este tipo de redes se
implementan como redes superpuestas
construidas en la capa de aplicación de redes
públicas como Internet.
10. Sistemas Cliente/Servidor
Modelo de Sistemas
Distribuido, el cual muestra
como los datos y procesamiento
están distribuidos entre un
rango de componentes
Conjunto de servidores
“standalone”,
los cuales proporcionan servicios
específicos como la
impresión, manejo de datos etc.
Redes que permiten que los
clientes acceden a los servidores
Conjunto de clientes que llaman a
estos servicios
Ventajas
• La distribución de dato es directa.
• Permite el uso efectivo de sistemas de
red.
• Puede requerir hardware barato.
• Es fácil añadir nuevos servidores o
actualizar los existentes.
Desventajas
• El modelo no comparte datos con los diferentes
subsistemas empleados en la organización.
• El intercambio de datos puede ser ineficiente.
• Administración redundante en cada servidor
• No existen registros centrales de nombres y
servidores esto hace difícil encontrar los
servidores y servicios disponibles.