estilos arquitectura

6
Estilos arquitectónicos Estilos arquitectónicos. Cada estilo arquitectónico describe una categoría del sistema que contiene: un conjunto de componentes, que realiza una función requerida por el sistema, un conjunto de conectores que posibilitan la comunicación , la coordinación y la cooperación entre los componentes; restricciones que definen como se puede integrar los componentes que forman el sistema; y modelos semánticos que permiten al diseñador entender las propiedades globales de un sistema para analizar las propiedades conocidas de sus partes constituyentes. Contenido 1 Utilización de los estilos arquitectónicos 2 Arquitectura Centrada en Datos o 2.1 Características 3 Arquitectura de Flujo de Datos o 3.1 Características o 3.2 Ventajas o 3.3 Desventajas 4 Arquitectura de Llamada y retorno o 4.1 Características o 4.2 Ventajas o 4.3 Desventajas 5 Arquitectura Orientada a Objetos o 5.1 Características o 5.2 Aspectos importantes o 5.3 Ventajas o 5.4 Desventajas 6 Arquitectura Estratificada o 6.1 Características o 6.2 Aplicabilidad o 6.3 Componentes o 6.4 Mecanismos de interacción entre componentes o 6.5Invariantes/restricciones o 6.6 Aplicación o 6.7 Ventajas o 6.8 Desventajas 7 Fuentes Utilización de los estilos arquitectónicos o Sirven para sintetizar estructuras de soluciones.

Upload: luis-cancino-ortiz

Post on 29-Sep-2015

216 views

Category:

Documents


0 download

DESCRIPTION

ISCARQUITECTURA DE COMPUTADORAS

TRANSCRIPT

Estilos arquitectnicos

Estilos arquitectnicos. Cada estilo arquitectnico describe una categora delsistemaque contiene: un conjunto de componentes, que realiza una funcin requerida por el sistema, un conjunto de conectores que posibilitan lacomunicacin, la coordinacin y la cooperacin entre los componentes; restricciones que definen como se puede integrar los componentes que forman el sistema; y modelos semnticos que permiten al diseador entender las propiedades globales de un sistema para analizar las propiedades conocidas de sus partes constituyentes.

Contenido 1Utilizacin de los estilos arquitectnicos 2Arquitectura Centrada en Datos 2.1Caractersticas 3Arquitectura de Flujo de Datos 3.1Caractersticas 3.2Ventajas 3.3Desventajas 4Arquitectura de Llamada y retorno 4.1Caractersticas 4.2Ventajas 4.3Desventajas 5Arquitectura Orientada a Objetos 5.1Caractersticas 5.2Aspectos importantes 5.3Ventajas 5.4Desventajas 6Arquitectura Estratificada 6.1Caractersticas 6.2Aplicabilidad 6.3Componentes 6.4Mecanismos de interaccin entre componentes 6.5Invariantes/restricciones 6.6Aplicacin 6.7Ventajas 6.8Desventajas 7FuentesUtilizacin de los estilos arquitectnicos Sirven para sintetizar estructuras de soluciones. Pocos estilos abstractos encapsulan una enorme variedad de configuraciones concretas. Definen los patrones posibles de las aplicaciones. Permiten evaluar arquitecturas alternativas con ventajas y desventajas conocidas ante diferentes conjuntos de requerimientos no funcionales. Arquitectura Centrada en DatosUn almacn de datos se encuentra en el centro de esta arquitectura , otro componente tiene acceso a l y cuentan con la opcin de gestionar los datos de ese almacn. Elsoftwarecliente tiene acceso a un almacn central, en algunos casos este es pasivo, el software cliente accede a los datos independientemente de cualquier cambio hecho en los datos o las acciones de otro software cliente.Una variacin de este enfoque transforma el depsito en un pizarrn que enva notificaciones al software cliente cuando cambian datos de inters para el cliente.CaractersticasPromueve la capacidad de integracin, es decir, que es posible cambiar componentes existentes y agregar nuevos componentes a la arquitectura sin preocuparse por otros clientes, adems es posible pasar datos entre clientes empleando el mecanismo del pizarrn. Los componentes clientes ejecutan los procesos de manera independiente. Arquitectura de Flujo de DatosEs una arquitectura de computadores que contrasta directamente con la tradicionalArquitectura de von Neumanno de estructuras de control.CaractersticasLas arquitecturas de flujo de datos no se basan en un contador de programa (al menos conceptualmente) en tanto en cuanto la posibilidad de ejecucin de las instrucciones solamente viene determinada por la disponibilidad de los argumentos de entrada de las instrucciones.VentajasLa ejecucin fuera de orden se ha convertido en elparadigmacomputacional por excelencia desde los aos 90. Es una forma de flujo de datos restringido. Este paradigma introdujo la idea de ventana de ejecucin, que sigue el orden secuencial de la arquitectura de von Neumann; sin embargo, dentro de la ventana se permite que las instrucciones sean completadas en el orden de las dependencias de datos.DesventajasLa complejidad lgica de mantener el rastro de las dependencias de datos de forma dinmica restringe a los procesadores basados en ejecucin fuera de orden a un reducido nmero de ejecuciones (de 2 a 6) y limita el tamao de la ventana de ejecucin de 32 a 200 instrucciones, mucho menor que las utilizadas en las mquinas puras de flujo de datos. Arquitectura de Llamada y retornoEstilo clsico desde los aos1960. Descomposicin jerrquica en subrutinas (componentes) que solucionan una tarea o funcin definida. Los datos son pasados como parmetros y el manejador principal proporciona un ciclo de control sobre las subrutinas. Reflejan la estructura dellenguaje de programacin. Permite al diseador delsoftwareconstruir una estructura de programa relativamente fcil de modificar y ajustar aescala. Se basan en la bien conocida abstraccin de procedimientos/funciones/mtodos.Caractersticas Hilode control simple soportado por los lenguajes de programacin. Usa una estructura implcita de subsistemas. Razonamiento jerrquico, cambios en una subrutina implican cambios en las subrutinas que hacen la invocacin. Pretenden incrementar el desempeo distribuyendo el trabajo en mltiples procesadores.Ventajas Utilizados en grandes sistemas desoftware. La descomposicin en mdulos disminuye la complejidad. Persiguen escalabilidad y modificabilidad.Desventajas Dependencia y acoplamiento entre mdulos. La reutilizacin y el mantenimiento son difciles Arquitectura Orientada a ObjetosLos componentes de un sistema encapsulan los datos y las operaciones que se deben realizar para manipular los datos. La comunicacin y la coordinacin entre componentes se consiguen a travs del paso de mensaje. La representacin de los datos y sus operaciones primitivas asociadas son encapsuladas en un tipo de dato abstracto u objeto.Caractersticas En este estilo los componentes son los objetos, o instancias de tipos de datos abstractos. Estos objetos son de un tipo de componente denominado manager porque es responsable por preservar la integridad de un recurso. Los objetos interactan a travs de invocaciones a procedimientos y funciones.Aspectos importantes Unobjetoes responsable de preservar la integridad de su representacin (usualmente manteniendo algn invariante). La representacin se oculta a otros objetos.Ventajas Como unobjetooculta su representacin a sus clientes, es posible cambiar su implementacin sin modificar los clientes: modificabilidad. La integracin de un conjunto de rutinas de acceso con los datos que manipulan permite a los diseadores descomponer los problemas en colecciones de agentes que interactan.Desventajas Para que unobjetointeracte con otro (mediante la invocacin a un procedimiento) debe conocer la identidad del otro objeto. Luego, cuando la identidad de un objeto cambie es necesario modificar todas las invocaciones a tal objeto.

Se pueden presentar efectos laterales: si los objetos A y C usan al objeto B, entonces los efectos de C en B lucen como efectos laterales no esperados en A, y viceversa.

Arquitectura EstratificadaSe crean diferentes capas y cada una realiza operaciones que progresivamente se aproximan ms al cuadro de instrucciones de la mquina. En la capa externa, los componentes sirven a las operaciones deinterfaz de usuario. En la capa interna, los componentes realizan operaciones deinterfaz del sistema. Las capas intermedias proporcionan servicios de utilidad y funciones desoftwarede aplicaciones.Caractersticas Organizacin jerrquica, cada capa proporciona servicios a la capa superior y acta como cliente de la capa inferior. Los componentes se organizan en capas. Los conectores son definidos por los protocolos que determinan como interactan las capas. Restricciones topolgicasincluyen limitar las interacciones a capas adyacentes.AplicabilidadGrandes sistemas caracterizados por una mezcla de elementos de alto y bajo nivel, donde los elementos de alto nivel dependen de los de bajo nivel.Componentes Grupos de subtareas que implementan una "mquina virtual" en alguna capa en la jerarqua. Pueden implementarse como objetos o como procedimientos. Cada nivel tiene asociada una funcionalidad: Niveles bajos: funciones simples ligadas al hardware o al entorno. Niveles altos: funciones ms abstractas.Mecanismos de interaccin entre componentes Llamadas a procedimientos. Llamadas a mtodos.Invariantes/restricciones nicamente llamadas de niveles superiores e inferiores. nicamente llamadas entre niveles adyacentes.Aplicacin Pilas deprotocolosdecomunicacin. Sistemas operativos. Compiladores. Mquinas virtuales.Ventajas Facilita la migracin. El acoplamiento con el entorno est localizado en las capas inferiores. Estas son las nicas a reimplementar en caso de transporte a un entorno diferente. Reutilizacin: como cada nivel implementa unas interfaces claras y lgicas pueden intercambiarse. Mantenimiento: los cambios en una capa apenas afectan a la superior e inferior. Permite trabajar en variosniveles de abstraccin. Para implementar los niveles superiores no se requiere conocer el entorno subyacente, basta con las interfaces que proporcionan los niveles inferiores.Desventajas No todos los sistemas se pueden estructurar fcilmente como capas. Rendimiento: lacomunicacina travs de las diferentes capas, puede hacer ineficiente al sistema.