miércoles, 16 de octubre de 2013

SISTEMAS BASADOS 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

SISTEMAS BASADOS EN EVENTOS

La Arquitectura dirigida por eventos, Event-driven architecture o EDA, es un patrón de arquitectura software que promueve la producción, detección, consumo de, 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.

SISTEMAS DE COMPONENTES INDEPENDIENTES

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. Define una aproximación de diseño que usa componentes discretos, los que se comunican a
través de interfaces que contienen métodos, eventos y propiedades.

Su objetivo es alcanzar modificabilidad desacoplando porciones de cálculo. 

Los Procesos u objetos independientes que se comunican a través de mensajes.

Procesos Comunicación Su objetivo es alcanzar escalabilidad.

 Client-Server

 Un servidor de datos

 Uno o más clientes ubicados en una red

Llamadas también sincronicas o asincrónicas

 Sincronicas: servidor devuelve control y datos

 Asincronicas: solo datos. El cliente tiene su propio

‘thread’ de control

ESTILOS ARQUITECTONICOS

Buschmann et al. (1996) definen estilo arquitectónico como una familia de sistemas de software en términos de su organización estructural. Expresa componentes y las relaciones entre estos, con las restricciones de su aplicación y la composición asociada, así como también las reglas para su construcción. Así mismo, se considera como un tipo particular de estructura fundamental para un sistema de software, conjuntamente con un método asociado que especifica cómo construirlo. Éste incluye información acerca de cuándo usar la arquitectura que describe, sus invariantes y especializaciones, así como las consecuencias de su aplicación.